머신러닝 yolov5

김하진·2022년 5월 17일
0

유튜브 빵형님의 yolov5 를 실습해보았는데 마지막 트레이닝 부분에서 계속 오류가나서 일단은 잠시 보류해놨다.. 내일 계속해서 오류를 찾을 예정이다. 일단 코드를 살펴보면

!curl -L "https://public.roboflow.com/ds/ZChcFP8JwY?key=YjmfX6tDll" > roboflow.zip; unzip roboflow.zip; rm roboflow.zip

roboflow 에서 데이터셋 다운로드

%cd /content/ !git clone https://github.com/ultralytics/yolov5

git을 클론하다. 아마이게 계속 버전 업데이트가 되면서 오류가 나느거 같은데 좀 더 찾아봐야겠다.

%cd / content/yolov5/ !pip install -r requirements.txt
인스톨 해주고

%cat /content/dataset/data.yaml
% cd/ from glob import glob img_list = glob('content/dataset/export/images/*.jpg')
print(len(img_list))
#현재 이미지 경로
#이미지 개수 출력 glob 으로 이미지 글어오기 경로를 나눠줄거임

from sklearn.model_selection import train_test_split train_img_list, val_img_list = train_test_split(img_list, test_size=0.2, random_state=2000)
print(len(train_img_list)), len(val_img_list)
#train_img_list와 val_img_list를 train_test_split으로 나눠준다. 트레이닝셋은80%,

with open('/content/dataset/train.txt', 'w') as f:
#파일 경로 읽어주는것 같음
f.write('\n'.join(train_img_list) + '\n')
with open('/content/dataset/val.txt', 'w') as f:
f.write('\n'.join(val_img_list) + '\n')
#리스트니깐 join 을 이용해서 넣어준다
#트레이닝 이미지 경로, 벨리데이션 이미지 경로를 txt파일로 저장하기

나눴으니깐 위에있던 yaml 파일을 수정 train에 train.txt 를 넣고 val 에 val.txt를 넣어주기
mport yaml
with open('/content/dataset/data.yaml', 'r') as f:
data = yaml.safe_load(f)
print(data)
data['trian'] = '/content/dataset/train.txt'
data['val'] = '/content/dataset/val.txt'
with open('/content/dataset/data.yaml', 'w') as f:
yaml.dump(data, f)
print(data)

  • 트레이닝

%cd /content/yolov5/ !python train.py --img 416 --batch 16 --epochs 50 --data /content/dataset/data.yaml --cfg ./models/yolov5s.yaml --weights yolov5s.pt --name gunt_yolov5s_results
cfg는 모델의 구조 weights 는 프리트레이드 된 모델을 씀

이러한 구조인데...
Traceback (most recent call last):
File "/content/yolov5/utils/dataloaders.py", line 437, in init
raise Exception(f'{prefix}{p} does not exist')
Exception: train: /content/yolov5/../train/images does not exist

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "train.py", line 670, in
main(opt)
File "train.py", line 565, in main
train(opt.hyp, opt, device, callbacks)
File "train.py", line 235, in train
shuffle=True)
File "/content/yolov5/utils/dataloaders.py", line 126, in create_dataloader
prefix=prefix)
File "/content/yolov5/utils/dataloaders.py", line 442, in init
raise Exception(f'{prefix}Error loading data from {path}: {e}\nSee {HELP_URL}')
Exception: train: Error loading data from /content/yolov5/../train/images: train: /content/yolov5/../train/images does not exist
See https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data

  • 이러한 에러를 뱉어낸다... 내일 계속해서 찾아 볼 예정이다 오늘 전체적으로 실습도 도전해보고 강의한 내용들을 정리를 좀 해봤는데 처음보다는 조금씩 이해가 되는 것 같다.
  • 딥러닝 내용을 웹에서 어떻게 적용시킬지 궁금하다 내일부터 사물인식 팀프로젝트인데 어떻게 적용시킬지 굉장히 궁금하다.
  • 딥러닝 부분이 아직은 많이 어렵고 생소하지만 계속하다보면 익숙해지고 좋아질거 같다.
profile
진킴

0개의 댓글