Yolo 모델을 train, evaluation 할 때 사용하는 Darknet 프레임워크의 명령어들을 정리해보았다.
데이터 준비, 세팅, 경로, 구성은 생략하였음.
첫 번째 줄에는 명령어 backbone, 두 번째 줄에는 예시이다.
cfg의 anchors를 계산하기 위한 명령어
darknet.exe detector calc_anchors {data 경로} -num_of_clusters {N} -width {width} -height {height}
darknet.exe detector calc_anchors car.data -num_of_clusters 10 -width 144 -height 144
모델 학습을 위한 명령어 (단일 GPU, 처음부터 학습)
darknet.exe detector train {data 경로} {cfg 경로} {weights 경로} -gpus 0 -map -clear
darknet.exe detector train car.data ./car.cfg ./car.weights -gpus 0 -map -clear
모델 학습을 위한 명령어 (단일 GPU, 끊긴부분부터 이어서 학습)
darknet.exe detector train {data 경로} {cfg 경로} {last weights 경로} -gpus 0 -map
darknet.exe detector train car.data ./car.cfg ./backup/last_car.weights -gpus 0 -map
(-clear
의 여부가 중단된 지점부터 학습할지를 결정함.)
모델 학습을 위한 명령어 (Multi GPU)
darknet.exe detector train {data 경로} {cfg 경로} {last weights 경로} -gpus 0,1 -map
darknet.exe detector train ./car.data ./car.cfg ./car.weights -gpus 0,1 -map
darknet.exe detector map {data 경로} {cfg 경로} {weights 경로}
darknet.exe detector map car.data ./car.cfg ./car.weights
darknet.exe detector test {data 경로} {cfg 경로} {weights 경로} -dont_show -out {저장될 json 파일 경로} < {txt파일 경로}
darknet.exe detector test car.data ./car.cfg ./car.weights -dont_show -out ./car.json < _filelist.txt
_filelist.txt
구성은 아래와 같다. (예측하고 싶은 이미지 파일들의 절대경로)darknet.exe detector demo {data 경로} {cfg 경로} {weights 경로} -ext_output {영상파일 경로} -out_filename {저장될 영상파일 경로}
darknet.exe detector demo ./car.data ./car.cfg ./car.weights -ext_output car.mp4 -out_filename ./predicted_car.mp4
#
(1) 영상을 frame 별로 자름.
(2) 자른 frame (이미지)를 예측 (> output: json)
(3) 얻은 json을 이용해 이미지에 rectangle 그리기
(4) 이미지들을 stacking하여 동영상으로 반환