YOLOR custom tutorial (YOLOR 커스텀 데이터셋 학습) - 2편(Train)
본문 바로가기
VAS/Centos 7 개발환경 구축

YOLOR custom tutorial (YOLOR 커스텀 데이터셋 학습) - 2편(Train)

by Migos 2021. 7. 20.
반응형

 

설치(Installation)

# 원하는 디렉토리로 이동해서 YOLOR git clone!
git clone https://github.com/roboflow-ai/yolor
cd yolor
git reset --hard eb3ef0b7472413d6740f5cde39beb1a2f5b8b5d1

# Requirement 설치
pip install -r requirements.txt

※ Requirement 설치 시 ERROR: torch has an invalid wheel, .dist-info directory not found 오류가 발생한다면, PyTorch 홈페이지에 가서 버젼에 맞게 다운받는다.

conda install pytorch==1.7.0 torchvision==0.8.1 torchaudio==0.7.0 cudatoolkit=10.2 -c pytorch

추가로, ModuleNotFoundError: No module named 'pycocotools' 발생하면 pip install pycocotools 해서 다운받아준다.

 

 

# Install Mish CUDA
git clone https://github.com/JunnYu/mish-cuda
cd mish-cuda
git reset --hard 6f38976064cbcc4782f4212d7c0c5f6dd5e315a8
python setup.py build install
cd ..

 

DWT downsampling 모듈을 위한 파이토치 웨이블릿(wavelets) 설치

(DWT가 뭔지 모르겠다면.. YOLOR논문을 읽어보시라)

# Install PyTorch Wavelets
git clone https://github.com/fbcotter/pytorch_wavelets
cd pytorch_wavelets
pip install .
cd ..

 

Download Custom YOLOR Object Detection Data

roboflow에서 받은 데이터셋을 yolor 리포에 data 폴더로 붙어넣기

roboflow에서 받은 데이터셋 압축 풀고 난 후 폴더모습

 

yolor 리포에 data 폴더에 복붙!

 

Prepare Pre-Trained Weights for YOLOR

사전학습된 YOLOR 가중치(implicit, explicit)를 bash 스크립트를 구동해서 쉽게 다운가능하지만, 윈도우10 사용자는 bash 명령어가 먹히지 않을 수 있으므로 메뉴얼하게 아래 링크 들어가서 받는다.

 

yolor_p6.pt 파일 다운경로

https://drive.google.com/uc?export=download&id=1Tdn3yqpZ79X7R1Ql0zNlNScB1Dv9Fp76

yolor_w6.pt 파일 다운경로

https://drive.google.com/u/0/uc?export=download&confirm=eUux&id=1UflcHlN5ERPdhahMivQYCbWWw7d2wY7U 

 

다운받은 두  implicit, explicit weight 파일들을 yolor 디렉토리에 위치시킨다.

 

 

Run 하기 전에 디렉토리 수정

1) data.yaml 파일 수정(절대경로로 지정했다.)

경로를 수정한다. "." 점 하나 삭제
현재 폴더 경로 상태

클래스가 여러개면 아래처럼 바꿔주면 된다.

 

Run code!

팁! 메모장에 적어서 완성한 다음 cmd 창에서 run

train.py가 있는 경로를 기준으로 상대경로를 적어주면 된다.

python train.py --batch-size 8 --img 416 416 --data data.yaml --cfg cfg/yolor_p6.cfg --weights './yolor_p6.pt' --device 0 --name yolor_p6 --hyp hyp.scratch.1280.yaml --epochs 50

 

모듈이 없다는 에러가 뜰 것이다.

아래 명령어로 한번에 설치해버리자.

pip install pyyaml tensorboard tqdm opencv-python pycocotools scipy

 

Training start!

감격의 순간도 잠시. oom이 뜨면서 학습이 멈췄다.

데스크탑으로 다시 .....

 

 

학습 완료 후 결과를 보고싶다면, cmd창에서 아래 코드 돌리고, ctrl+아래 빨간박스부분 클릭하면 웹페이지가 열리면서 텐서보드결과가 나온다.

tensorboard --logdir=./runs/train/yolor_p6/

 

반응형

댓글