일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 머신러닝
- 연습문제
- 중학1-1
- 정보처리기사필기
- 정보처리기사실기
- 텍스트마이닝
- CNN
- 자바 실습
- 혼공머신
- numpy/pandas
- 딥러닝
- 중학수학
- 정수와유리수
- html/css
- 운영체제
- JSP/Servlet
- 데이터분석
- 파이썬라이브러리
- SQL
- 컴퓨터구조
- CSS
- 파이썬
- 자바
- 데이터입출력구현
- 영어공부
- 데이터베이스
- 컴퓨터비전
- pandas
- C++
- 코딩테스트
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
CNN 7 - 객체 탐지를 하는 YOLO v6 모델 실습 3 : 사전 학습된 모델 가져와서 친칠라 라벨링 학습 완료하기 본문
CNN 7 - 객체 탐지를 하는 YOLO v6 모델 실습 3 : 사전 학습된 모델 가져와서 친칠라 라벨링 학습 완료하기
huenuri 2024. 10. 30. 05:54이어서 라벨링한 데이터의 코드를 수정하는 작업을 진행해 보겠다.
data.yaml 파일 수정하기
그리고 이 폴더 안에 들어가면 이미지가 있는데 이상하게도 이미지에 라벨이 표시되어 있지 않다. 그 이유는 라벨은 좌표이기 때문이다. 사진 안에는 없지만 lables에 들어가면 좌표가 찍혀 있다.
이제 다시 코랩으로 돌아와서 이미지 학습을 시킬 텐데 그전에 한 가지 주의 사항이 있다. labes 폴더에 들어가 보면 다음과 같은 텍스트 파일을 볼 수 있다.
data.yaml은 데이터가 들어있는 경로를 저장해 주는 파일이다.
이 파일은 지금 상대경로로 되어 있는데 이것을 절대경로로 변경하여 저장할 것이다. images 폴더 밑에 있는 test, train, valid의 경로를 복사하여 이 파일에 붙여 넣는다. 이때 경로 앞에 띄어쓰기가 한 칸씩 되어 있는지 확인한다.
이렇게 경로를 붙여 넣고 저장을 해준다. 처음에는 편집이 되지 않고 파일을 불러올 수 없어 좀 헤맸지만 이 부분도 마침내 해결되었다.
YOLOv6 모델 학습하는 코드 가져와서 학습하기
YOLO 모델로 객체 탐지를 어떻게 하는지 알려주는 사이트이다. 이 밑에 내려가보면 모델을 학습할 수 있는 코드를 공개하고 있다.
1. 학습 모델
이 코드를 가져다가 붙여 넣을 것이다.
이 코드는 사전 학습된 모델이 아니므로 우리가 사용할 모델인 사전 학습 모델 이름으로 변경한다. 그렇지 않으면 사용할 수 있는 사진은 36장으로 제한된다. 이미지 사이즈도 640으로 변경한다.
그런 다음 친칠라 폴더 이름을 그대로 복사해서 중괄호를 포함한 곳에 붙여 넣는다. 이 모델을 학습시키는데 10분 정도 걸린다. 그동안 다른 코드로 가져와서 모델을 한 가지 더 학습시켜 볼 것이다.
다음 코드를 진행하는 동안 코드 실행이 모두 완료되었다.
2. 예측 모델
다시 사이트로 가서 이 코드를 가져온다.
조금 전처럼 폴더 경로를 붙여 넣고, 이미지 사이즈는 삭제한다. 삭제 시 --도 함께 삭제한다. 이미지를 삭제하는 이유는 auto로 설정하기 위함이다.
weights는 학습된 모델의 가중치인데 YOLO 모델은 알아서 이걸 체크포인트한다. 체크 포인트는 mce 등을 말하는 것인데 이 내용은 좀 어려우므로 생략하겠다. 아무튼 best_ckpt.pt로 베스트 모델이 알아서 저장되어 있다.
만약 이 코드를 실행하다 실패가 뜬다면 가중치가 저장되어 있는 곳을 따라가서 확인해 본다. 난 오류가 나지 않았다.
오류가 난 사람은 exp가 여러 개 보인다. 그중에 exp2에 들어가 보면 거기에 가중치가 저장되어 있다. 그런 다음 앞의 코드를 exp2로 쓰면 된다.
코드 실행 완료 후 폴더를 찾아가 보니 사진이 한 장도 보이지 않았다. 이건 학습에 실패했다는 뜻이다. 다시 코드를 수정해 보았다.
코드를 칠 때 파일명에 오타가 있었다. 맨 아래쪽에 보면 이 파일을 찾아가면 결과가 있다고 뜬다.
여기에 학습된 사진이 들어있다.
이런 식으로 사진 안에 친칠라 라벨이 붙어있다. 난 모든 사진이 이렇게 되어 있는 걸 보니 학습을 아주 잘한 것을 볼 수 있다. 선생님 것은 한 개도 표시가 되어 있지 않다고 한다.
학습을 마치고
무척 긴 시간 동안 어제부터 YOLO 모델 V6의 객체 탐지에 대해서 살펴보았다. 다음에는 V8에 대해서 살펴볼 것인데, 이건 사용자 친화적인 모델이라고 한다.
중간에 우여곡절이 많았지만 새벽에 2시간 반 동안 공부하며 어제 하지 못한 공부를 마무리하니 정말 좋았다.
'인공지능 > 딥러닝' 카테고리의 다른 글
CNN 9 - 객체 탐지를 하는 YOLO v8 모델 실습 2 - 가위 바위 보 객체 탐지 모델 학습시키기 (2) | 2024.10.30 |
---|---|
CNN 8 - 객체 탐지를 하는 YOLO v8 모델 실습 1 : 가위 바위 보 객체 탐지하는 모델 가져오기 (0) | 2024.10.30 |
CNN 6 - 객체 탐지를 하는 YOLO v6 모델 실습 2 : roboflow에서 라벨링한 데이터 가져와서 코랩에 연결하기 (0) | 2024.10.30 |
CNN 5 - 객체 탐지를 하는 YOLO v6 모델 실습 1 : 객체 탐지 이론 및 roboflow에서 chinchilla 라벨링하기 (1) | 2024.10.29 |
CNN 4 - 개와 고양이를 분류하는 실습 2 : 이진 분류와 전이 학습 (0) | 2024.10.29 |