열심히 학습시키다가 멈췄을 경우 다시 불러오는 법을 알려드리겠습니다.
처음 학습시키는 경우 이렇게 쓸 수 있습니다.
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
'공부 > ML' 카테고리의 다른 글
darkflow 오류 해결 : bad character range , AttributeError, ZeroDivisionError (0) | 2020.05.24 |
---|
댓글