본문 바로가기
공부/ML

darkflow load 학습 가중치 불러오기

by happyeuni 2020. 5. 17.

열심히 학습시키다가 멈췄을 경우 다시 불러오는 법을 알려드리겠습니다.

 

처음 학습시키는 경우 이렇게 쓸 수 있습니다.

python flow --model ./cfg/my-tiny-yolo.cfg --labels ./labels.txt --trainer adam --dataset ../data/dataset/ --annotation ../data/annotations/ --train --summary ./logs --batch 5 --epoch 100 --save 50 --keep 5 --lr 1e-04 --gpu 0.5

 

학습을 시키다 보면 중단할 때가 있는데요. 이런 떄에 다시 불러오는 방법은 두가지가 있습니다.

첫 번째는 위의 코드 끝에

--load -1 을 더하는 것입니다.

python flow --model ./cfg/my-tiny-yolo.cfg --labels ./labels.txt --trainer adam --dataset ../data/dataset/ --annotation ../data/annotations/ --train --summary ./logs --batch 5 --epoch 100 --save 50 --keep 5 --lr 1e-04 --gpu 0.5 --load -1

 

두 번째 방법은

checkpoint를 이용하는 것입니다.

 

저의 경우에는 --load -1을 쓰지 않아서 열심히 낮춰놓은 learning rate가 다시 처음으로 돌아가 아찔한 경험이 있었습니다. 이럴 경우 전의 checkpoint 번호를 이용 할 수 있습니다!

\darkflow\ckpt  라는 폴더에 가면 내가 학습시켜놓은 중간 중간 체크포인트가 써있는 파일이 있습니다.

 

 

이 번호를 가지고 이동하는 것인데요 간단하게 --load 가고싶은체크포인트번호 를 뒤에 추가하면 됩니다.

예를들어 680번까지 했다고 하면 아래와 같이 끝에만 써주면 됩니다.

python flow --model ./cfg/my-tiny-yolo.cfg --labels ./labels.txt --trainer adam --dataset ../data/dataset/ --annotation ../data/annotations/ --train --summary ./logs --batch 5 --epoch 100 --save 50 --keep 5 --lr 1e-04 --gpu 0.5 --load 680

댓글