말랑코딩
docker 에서 yolox 데모 실행해보기(ubuntu 18.04) 본문
1. docker hub 에서 아래 이미지를 불러와서 설치해야한다.
-> 기존에 쓰던 continuumio/miniconda3 이미지로 실행했었는데, gcc 와 g++ 설치가 안 돼서 yolox를 실행하기 위한 환경설정 파일인 setup.py 실행이 불가능했다.
docker pull torch:cuda11.1_cu8
2. git 코드 가져오기
git clone https://github.com/Megvii-BaseDetection/YOLOX.git
cd YOLOX
3. requirements.txt 설치
pip install -r requirements.txt
4. 실행 환경 설정
python setup.py develop
5. 데모를 실행하기 위해서는 벤치마크에서 standard model 또는 light model 중 선택하여 받아와야한다.
나는 yolox-s 모델을 받아와서 실행해보기로했다.
- 도커환경에서 wget 실행안되면 apt-get install wget 으로 설치
wget https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_s.pth
6. 데모 실행
python tools/demo.py image -n yolox-s -c /path/to/your/yolox_s.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device [cpu/gpu]
결과는 아래와 같다.
+ 추가 테스트
구글에서 책상 이미지 검색해서 아무거나 테스트해봤다.
결과이미지
microwave 말고는 다 잘 찾은 것을 볼 수 있다.
++ 추가 테스트
yolox-s 말고 yolox-x 모델로 테스트 해봤다.
python tools/demo.py image -n yolox-x -c yolox_x.pth --path assets/optimize.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device 0
결과 이미지
yolox-s 와 비교했을때 매우 작은 것까지 잘 찾고 있다.
자세히 보면 책장마다 있는 book을 detect 하고, pot의 vase, cup 또한 찾았다.
더 놀라운건 잘려진 화분까지 찾아냈다는점!
아래 mAP 에서도 보다시피 역시 yolox-x 모델이 속도는 제일 느려도 성능은 제일 좋은게 맞는 듯 하다.(cocodata 기준)
결론
docker 에서 yolox 실행시키려면 continuumio/miniconda3 이 아니고 cuda, cudnn 기반의 이미지를 사용해야한다. 끝.
'딥러닝' 카테고리의 다른 글
coco dataset json 포맷 파헤치기(annotation) (0) | 2022.02.10 |
---|---|
앵커 박스(Anchor box) (0) | 2022.02.10 |
7-5. 풀링 계층 구현하기 (0) | 2022.01.05 |
7-4. 합성곱 계층 구현하기 (0) | 2022.01.05 |
7-3. 풀링 계층(Pooling layer) (0) | 2022.01.05 |