티스토리 뷰

728x90

데이터 학습시키기 전, labeling을 안하신 분들은

2020/06/26 - [Capstone Eng_2020] - 아가 뭐해? - Yolo mark를 이용한 labeling

 

아가 뭐해? - Yolo mark를 이용한 labeling

컴퓨터 세팅을 마쳤으니 이제 학습시키기 전 데이터셋에 labeling을 해줘야합니다. 저희는 가정 내에서 영유아 안전사고가 발생할 확률이 큰 위험 행동을 1. 엎드려서 자는 행동 ( 질식사고 ) 2. 이�

jainn.tistory.com

이 글을 보고 오시면 됩니다 :)

 

앞 글을 보면서 labeling 후, train.txt, obj.names, obj.data, img 폴더를 darknet/data 경로로 복사하고, yolov3.cfg 파일을 수정하고 오셨다고 믿고 다음 단계 설명해드리겠습니다.

 

 

1. 터미널을 열고 darknet 경로로 들어온 후 다음 명령을 입력해주세요

$ wget https://pjreddie.com/media/files/darknet53.conv.74

 

 

2. 학습 시키기 전, darknet/examples 경로에 있는 detector.c 를 수정해줍니다.

학습을 시작하면 결과물로 backup 폴더에 가중치파일이 생성되는데, 이 파일을 학습 100번당 한 번 생성할것인가, 300번 당 한 번 생성할것인가를 바꿔줄 겁니다.

:set number 입력 후, 138 + Shift + g 를 통해 138번째 줄로 이동해줍니다.

if (i%10000==0 || (i<1000&&i%100==0)){

학습이 1000번 미만일 때는 100단위로 가중치 파일을 생성하고, 1000번 이상이 되었을 때는 10000번 단위로 가중치 파일을 생성하라는 뜻입니다.

10000번 단위는 너무 크기때문에 핑크색으로 밑줄친 부분을 100~300 정도 단위로 바꿔줍니다.

-> if (i%100==0 || (i<1000&&i%100==0)){

수정했으면 :wq 로 저장후 나와줍니다.

 

 

3. 파일을 수정했으니 darknet 경로로 들어와서 make를 해줍니다.

$ make

2020/06/01 - [Capstone Eng_2020/ERROR] - Darknet make error

make 시 오류가 나면 이 글 보고 clean 한 번 하는 것을 추천

 

 

4. make가 끝나면 학습을 위한 명령어를 입력해줍니다.

$ ./darknet detector train data/obj.data cfg/yolov3.cfg darknet53.conv.74 -gpu 0

저는 학습을 위해 그래픽카드가 2개달린 학교 컴퓨터를 사용했는데,

저처럼 그래픽카드가 2개 달린 컴퓨터를 사용중이라면, -gpu 0 대신 -gpus 0,1 을 써줘야합니다. (0,1 사이에 띄어쓰기 없음 주의.)

 

학습을 시작하면 이런 것을 볼 수 있는데,

 

7254 : 7254 번째 학습

0.108170, 0.121511 avg : 현재 손실률 0.108170, 평균 손실률 0.121511

손실률이 떨어지지 않거나, 오히려 증가하면 학습을 중지시켜주세요(Ctrl+c)

저는 6만번 정도 학습을 진행했습니다.

 

 

5. 학습이 충분히 되면 가중치 파일로 예제를 실행해보자 !

가중치파일은 darknet/backup 폴더에 있습니다.

[이미지 파일 테스트]

./darknet detector test data/obj.data cfg/yolov3.cfg backup/[가중치 파일] [이미지 경로]/[이미지파일.jpg]

즉,

./darknet detector test data/obj.data cfg/yolov3.cfg backup/yolov3_23500.weights data/img/fan1.jpg

 

[동영상 파일 테스트]

/darknet detector test data/obj.data cfg/yolov3.cfg backup/[가중치 파일] [동영상 경로]/[동영상파일.확장자]

즉,

./darknet detector demo data/obj.data cfg/yolov3.cfg backup/yolov3_23500.weights data/media/fan1.mp4

 

[웹캠 테스트]
./darknet detector demo data/obj.data cfg/yolov3.cfg backup/[가중치 파일]
즉,
./darknet detector demo data/obj.data cfg/yolov3.cfg backup/yolov3_23500.weights

 

학습결과가 이상하다면

yolov3.cfg에 batch와 sub~ 이 제대로 잘 되어있나 확인하고,

다른 가중치 파일들로도 테스트 해보시길 바랍니다.

 

반응형