AI 여자, 무료 GPU에서 YOLO v3 시작했습니다.
소개
AI 스타트업에서 WEB 앱 개발을 하면서 파이썬과 AI를 공부중입니다.
이미지 인식으로 하고 싶은 것이 있어, 우선은 개발 환경의 구축과 알고리즘을 사용해 보는 곳까지를 실천했습니다.
이번에 하고 싶은 일
YOLO란?
물체 검출 알고리즘 중 하나입니다. (물체 검출은 그 밖에 Faster R-CNN이나 SSD 등의 알고리즘이 있습니다.)
YOLO의 특징은 빠르고 고정밀한 것으로 현재 v3가 최신 버전입니다.
이번 신경망 프레임워크는 Darknet을 사용합니다. (프레임워크는 그 밖에 Tensorflow나 Chainer, Caffe 등이 있습니다.)
덧붙여서, YOLO는 You only look once의 약자로, You only live once(인생 한 번만)를 갖고 있다고 합니다.
YOLO로 물체 검출
Darknet 설치
git clone https://github.com/pjreddie/darknet
cd darknet
설정
Makefile에서 아래를 비롯한 설정을 변경할 수 있습니다.
GPU=0
CUDNN=0
OPENCV=0
OPENMP=0
DEBUG=0
실행
설정을 변경한 후 실행합니다.
make
weights 다운로드
이번에는 학습된 모델을 사용하므로 다운로드합니다.
v2 : htps : // pj 어서. 코 m/메아아/후아 s/요ぉ v2. 우이 ghts
v3 : htps : // pj 어서. 코 m/메아아/후아 s/요ぉ v3. 우이 ghts
wget https://pjreddie.com/media/files/yolov3.weights
물체 감지
그럼 물체 검출해 보겠습니다.
v2의 경우
./darknet detect cfg/yolov2.cfg yolo.weights ./data/dog.jpg
./data/dog.jpg: Predicted in 8.501023 seconds.
dog: 82%
truck: 64%
bicycle: 85%
v3의 경우
./darknet detect cfg/yolov3.cfg yolov3.weights ./data/dog.jpg
./data/dog.jpg: Predicted in 19.580538 seconds.
bicycle: 99%
truck: 92%
dog: 100%
v2와 v3는 이번 2배 이상 시간은 걸렸지만, 확실히 정밀도가 오르고 있는 것을 알았습니다.
물체 감지
YOLO v2
YOLO v3
자전거
82%
99%
트럭
64%
92%
개
85%
100%
시간
8.5초
19.6초
무료 GPU 환경 구축
YOLO를 사용할 수 있었으므로, 조속히 학습시키고 싶습니다만, 대량 데이터를 학습시킬 때는 GPU를 사용하고 싶었습니다.
조사한 결과 무료로 쉽게 GPU를 사용할 수 있는 Google Colaboratory(구글 콜라보레이토리)가 최강인 것 같습니다.
Google Colaboratory는 클라우드의 Jupyter 노트북 환경입니다.
여기에서 사용할 수 있습니다.
htps : // 코 b. 레세아 rch. 오, ぇ. 코 m / 노보보 ks / ぇ l 코메. 이 pyn b
GPU 활성화
Colaboratory에서 GPU를 사용하는 경우 탭의
「런타임」→「런타입의 타입 변경」→「하드웨어 가속기」→「GPU」
로 저장합니다.
이상으로 GPU 환경이 갖추어졌습니다. 얼마나 간단!
주의
그러나 Google Colaboratory에서는 다음 조건에서 인스턴스가 모두 재설정되므로 주의가 필요합니다.
Darknet 설치
git clone https://github.com/pjreddie/darknet
cd darknet
설정
Makefile에서 아래를 비롯한 설정을 변경할 수 있습니다.
GPU=0
CUDNN=0
OPENCV=0
OPENMP=0
DEBUG=0
실행
설정을 변경한 후 실행합니다.
make
weights 다운로드
이번에는 학습된 모델을 사용하므로 다운로드합니다.
v2 : htps : // pj 어서. 코 m/메아아/후아 s/요ぉ v2. 우이 ghts
v3 : htps : // pj 어서. 코 m/메아아/후아 s/요ぉ v3. 우이 ghts
wget https://pjreddie.com/media/files/yolov3.weights
물체 감지
그럼 물체 검출해 보겠습니다.
v2의 경우
./darknet detect cfg/yolov2.cfg yolo.weights ./data/dog.jpg
./data/dog.jpg: Predicted in 8.501023 seconds.
dog: 82%
truck: 64%
bicycle: 85%
v3의 경우
./darknet detect cfg/yolov3.cfg yolov3.weights ./data/dog.jpg
./data/dog.jpg: Predicted in 19.580538 seconds.
bicycle: 99%
truck: 92%
dog: 100%
v2와 v3는 이번 2배 이상 시간은 걸렸지만, 확실히 정밀도가 오르고 있는 것을 알았습니다.
물체 감지
YOLO v2
YOLO v3
자전거
82%
99%
트럭
64%
92%
개
85%
100%
시간
8.5초
19.6초
무료 GPU 환경 구축
YOLO를 사용할 수 있었으므로, 조속히 학습시키고 싶습니다만, 대량 데이터를 학습시킬 때는 GPU를 사용하고 싶었습니다.
조사한 결과 무료로 쉽게 GPU를 사용할 수 있는 Google Colaboratory(구글 콜라보레이토리)가 최강인 것 같습니다.
Google Colaboratory는 클라우드의 Jupyter 노트북 환경입니다.
여기에서 사용할 수 있습니다.
htps : // 코 b. 레세아 rch. 오, ぇ. 코 m / 노보보 ks / ぇ l 코메. 이 pyn b
GPU 활성화
Colaboratory에서 GPU를 사용하는 경우 탭의
「런타임」→「런타입의 타입 변경」→「하드웨어 가속기」→「GPU」
로 저장합니다.
이상으로 GPU 환경이 갖추어졌습니다. 얼마나 간단!
주의
그러나 Google Colaboratory에서는 다음 조건에서 인스턴스가 모두 재설정되므로 주의가 필요합니다.
대책은 이쪽의 기사에도 쓰여져 있었습니다.
htps : // 코 m / 엔마루 / ms / 2770df602d7778d4 6
환경이 갖추어졌으므로, 다음 번은 실제로 YOLO를 사용해 학습시켜 보겠습니다!
Reference
이 문제에 관하여(AI 여자, 무료 GPU에서 YOLO v3 시작했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yuni/items/f74717c75e459230fab0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)