$ docker run -it --gpus all --ipc=host -v ${PWD}/yolov3:/yolov3 --name
yolov3-pytorch -p 8888:8888 nvcr.io/nvidia/pytorch:21.12-py3 /bin/bash
# git clone https://github.com/2damin/yolov3-pytorch.git
# cd yolov3-pytorch && git checkout onnx-1.6
# pip install -r requirements.txt
# pip install --upgrade numpy==1.23.0
# pip install opencv-python==4.5.5.64
# pip install opencv-python-headless==4.5.5.64
# pip install protobuf==3.20.0
opencv-python와 opencv-python-headless 버전을 맞춰주지 않으면 cv 에러가 발생한다
- ImportError: cannot import name '_registerMatType' from 'cv2.cv2' (/opt/conda/lib/python3.8/site-packages/cv2/cv2.cpython-38-x86_64-linux-gnu.so)
yolov3-pytorch/dataloader/yolodata.py 수정
yolov3-pytorch/yolov3-tiny_tstl_416.cfg에서 class 수를 9로 변경하고 yolo layer전의 layer filter값을 42로 변경
# nohup python main.py --mode train --gpus 0 --cfg yolov3-tiny_tstl_416.cfg --pretrained model_epoch250.weights &
nohup [명령] &
- 백그라운드에서 명령을 실행한다
- 실행 결과 nohup.out 파일이 생성된다
chmod 777 nohup.out
을 하면 파일 내부를 볼 수 있다 (아니면 cat nohup.out으로 확인가능)- nohup 실행 중 즉, 백그라운드에서 실행중인 명령어를 확인하려면
ps -ef
명령어 사용- nohup을 종료하려면
kill -9 [PID값]
명령어 사용 (PID값은ps -ef
를 했을 때 확인 가능)
# python main.py --mode eval --cfg yolov3-tiny_tstl_416.cfg --gpus 0 --checkpoint ./output/best_epoch.pth
# python main.py --mode demo --cfg yolov3-tiny_tstl_416.cfg --gpus 0 --checkpoint ./output/best_epoch.pth