PyTorch 로 YOLO v3 구현한 것을 Colaboratory 에서 돌려보자

Hyun Seok Jeong
4 min readJun 18, 2018

목표

- 구현 및 학습된 YOLOv3 를 Colaboratory 에 가져와서 예측을 해보자

개요

YOLOv3 는빠른 Object Detection 을 하는 딥러닝 모델

- 웹페이지: https://pjreddie.com/darknet/yolo/

PyTorch 로 구현한 것을 참고했음

- Github: https://github.com/eriklindernoren/PyTorch-YOLOv3

Colaboratory 에서 가져와 예측해봄

- Github: https://github.com/nicewook/datascience_exercise/blob/master/PyTorch_YOLOv3.ipynb

실습

PyTorch-YOLOv3 깃헙의 README.md 파일만 따라해도 큰 어려움없이 동작함

  • Colaboratory 의 GPU 옵션을 켜고, 끄고 실습하여 속도를 비교해볼 수도 있겠음 (런타임 >> 런타임 유형변경 >> 하드웨어 가속기 >> GPU)

준비작업

1) 깃헙에서 소스를 내려받고

2) 필요한 파이썬 패키지를 설치해준다

- 이때 Pillow 패키지 버전 이슈가 있으므로

- 기존 Pillow 패키지를 uninstall 해준 다음 다시 Install 해준다.

* 에러 메시지 참고

  • torchvision 0.2.1 has requirement pillow>=4.1.1, but you’ll have pillow 4.0.0 which is incompatible.

3) 학습이 된 weight 를 다운로드 받는다

!git clone https://github.com/eriklindernoren/PyTorch-YOLOv3cd PyTorch-YOLOv3/!pip3 uninstall Pillow -y!pip3 install Pillowcd weights/!bash download_weights.sh

학습된 모델로 예측 (predict)을 해보자

predict 에 이용할 이미지는 /content/PyTorch-YOLOv3/data/samples/ 에 있으며

predict 결과는 /content/PyTorch-YOLOv3/output/ 에 저장된다.

예측은 detect.py 파일을 실행하며 이미지 폴더 경로를 옵션에 설정해주면 된다.

!python3 detect.py — image_folder data/samples

예측 이미지 몇몇을 보자

아래는 구글에서 가져온 이미지를 돌려본 결과이다.

학습데이터에 없는지 주사위는 인식하지 못하였음

--

--