(B2 | 3_team_project)
- 실전 머신러닝 적용
[과일종류인식 머신러닝 학습]
- YOLOv5 모델을 사용해서 10가지 과일을 학습 사용
- Fruits 360 데이터 셋을 사용
- 10가지 과일을 선별해서 라벨링
- blueberry, grape, kiwi, lemon, mango, melon, peach, pear, pineapple, strawberry
- Yolov5s 모델로 학습시키기
- yolov5s 같은 경우 추가적인 다운과정 없이 ultralytics github 페이지를 clone하면 된다.
git clone git@github.com:ultralytics/yolov5.git
2. 클론하게 되면 data 폴더와 yolov5폴더가 같이 디렉토리 안에 존재하고 있는데, 우선 yolov5폴더에 dataset.yml을 추가해줘야 한다.
# Train/val/test sets as
# 1) dir: path/to/imgs,
# 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../data # dataset root dir
train: images # train images (relative to 'path') 128 images
val: images # val images (relative to 'path') 128 images
# Classes
nc: class 몇개? # number of classes
names: [ '',
'',
'',
,
,
class 갯수만큼 class 이름을 순차적으로 적어줌
] # class names
👉 참고사항
- 우선 path 설정. dataset.yml 파일은 yolov5 안에 존재하기 때문에 이전 폴더로 넘어가 data에 접근하기 때문에 ../data를 path로 넣어준다.
- 그리고 train data는 지정한 path의 images 폴더 안에 있기 때문에 imagse를 폴더이름으로 넣어준다.
- val data는 학습한 데이터를 평가할 때 쓰이는데, 가볍게 학습시킬 것이기 때문에 따로 val data를 분리하지 않는다. train data와 동일한 폴더를 넣는다.
3. 학습시키기
yolov5폴더 안의 train.py를 실행시키면 된다.
python train.py --img 320 --batch 16 --epochs 500 --data dataset.yml --weights yolov5s.pt --workers 2
4. .pt
학습된 .pt 파일은 yolov5 안에 runs/train/exp/weights 폴더 안에 best.pt와 last.pt파일을 사용하면 된다.
- Django
5. 학습 후 vscode Django 와 연동
기존 개발하고 있는 django폴더가 아닌 새로운 directory를 만들어 yolo관련 폴더를 만들어 준다.
[디렉토리 안]
- 학습된 best.pt 또는 last.pt파일 + detect.py를 가져오거나 만들어서 장고와 연결 해 준다.
- import 필요한 패키지 / 경로 등 설정해준다
- 기존 장고앱과 yolo가 연동될 수 있게 models.py , views.py 에 맞게 선언해 사용해 준다.
- detect.py 에선 yolo의 로직이 어떻게 진행되고 무엇이 저장되는지 등 정의해줘서 장고에서 이용할 수 있게 만들어준다.
'woncoding > TIL' 카테고리의 다른 글
| TIL | 10.21.금 [머신러닝 / Django] (0) | 2022.10.24 |
|---|---|
| TIL | 10.20.목 [머신러닝 / Django] (0) | 2022.10.20 |
| TIL | 10.18.화 [Django] (0) | 2022.10.19 |
| TIL | 10.17.월 [머신러닝] (0) | 2022.10.17 |
| TIL | 10.14.금 [Django🐢] (0) | 2022.10.14 |