YOLO V5 실습

2023. 10. 26. 16:58·알쓸신잡

1. 가상환경 생성

#가상환경 생성
conda create -n yolov5 python=3.8

#가상환경 실행
conda activate yolov5

2. pytorch 설치

 자신의 gpu 세팅(cuda 11.3) 에 맞는 pytorch 버전 설치

( gpu세팅을 아직 안한 상태라면 아래 링크에서 설정먼저 하고 오기)

https://changsroad.tistory.com/342

 

PyTorch

An open source machine learning framework that accelerates the path from research prototyping to production deployment.

pytorch.org

# CUDA 11.3
conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cudatoolkit=11.3 -c pytorch -c conda-forge

3. pytorch cuda 사용가능 여부 확인

conda activate yolov5
python
>>import torch
>>torch.cuda.is_available()

4.  YOLOv5 git clone

 

GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite

YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite. Contribute to ultralytics/yolov5 development by creating an account on GitHub.

github.com

#clone
git clone https://github.com/ultralytics/yolov5

#yolov5 폴더로 이동
cd yolov5

내 컴퓨터(GPU)에 맞는 dependency를 맞추기 위해 yolov5에서 권장하는 requirement.txt 파일을 설치하지 않는다!!

pip instasll requirement.txt

하지말 것!!

5. 데이터 다운로드

 

Roboflow: Give your software the power to see objects in images and video

With just a few dozen example images, you can train a working, state-of-the-art computer vision model in less than 24 hours.

roboflow.com

원하는 데이터를 YOLO V5 파이 토치 버전으로 설정하여 다운로드

6. 설정 및 학습 추론

위에 생성한 가상 환경, YOLO 폴더에서 새로운 파일을 하나 만든 뒤 아래 코드를 입력

from glob import glob

# TFT는 현재 roboflow에서 다운로드 받은 폴더

img_list = glob('TFT/train/images/*.jpg') # 트레인 이미지 경로
val_img_list = glob('TFT/valid/images/*.jpg') # 테스트 이미지 경로
test_img_list = glob('TFT/test/images/*.jpg') # 테스트 이미지 경로

with open('train.txt', 'w') as f:
	f.write('\n'.join(img_list) + '\n')

with open('valid.txt', 'w') as f:
	f.write('\n'.join(val_img_list) + '\n')
	
with open('test.txt', 'w') as f:
	f.write('\n'.join(test_img_list) + '\n')

 

roboflow에서 다운로드 받은 폴더 안에 있는 data.yaml에서 맨 위 경로를 방금 위의 코드에서 만든 txt파일 3개로 경로를 지정해줌

train: TFT/train.txt
val: TFT/valid.txt
test: TFT/test.txt

다음으로 yolov5 폴더 안에 있는 tutorial.ipynb를 run하면 weight파일이 생성됨

# Train YOLOv5s on COCO128 for 3 epochs
!python train.py --img 640 --batch 16 --epochs 3 --data coco128.yaml --weights yolov5s.pt --cache

파일을 전부 생성한 뒤 아래 코드를 구동하면 custom data로 학습이 시작됨

python train.py --img 504(이미지크) --batch 16 --epochs 50 --data TFT/data.yaml(경로) --weights yolov5m.pt --name tft --cfg ./models/yolov5m.yaml

wandb에 로그인한 뒤 실행하면 학습 과정이 기록

inference( 테스트 파일의 경로에 한글이 포함되면 안되는 것 같음)

python detect.py --weights=runs/train/tft4/weights/best.pt --img 43 --conf 0.5 --source C:/test/images/ --data TFT/data.yaml

7. reference

 

Yolov5 Custom Dataset 만들기(feat. RoboFlow)

RoboFlow를 활용한 커스텀 데이터 셋 생성 및 학습 이번에 하계 논문 제출을 Yolo와 Resnet을 사용한 ...

blog.naver.com

 

[Detection] Yolov5 custom dataset 학습 및 추론방법

2022년 5월 24일 기준 작성된 글입니다. 수정사항이 있으면 댓글로 말씀 부탁드립니다. 실행환경 os: window10 python: 3.8 pytorch: 1.10.0 cuda: 11.3 cudnn: 8.2.1 for cuda 11.x 1. 가상환경 생성 #가상환경 생성 conda c

dohyeon.tistory.com

728x90

'알쓸신잡' 카테고리의 다른 글

카카오톡 access token 발급받기  (0) 2023.10.26
티스토리 날짜 수정하기  (0) 2023.10.26
VScode 알쓸신잡  (0) 2023.10.26
LightGBM(lgbm) GPU 버전 설치  (0) 2023.10.26
가상환경 설정 (anaconda)  (0) 2023.10.26
'알쓸신잡' 카테고리의 다른 글
  • 티스토리 날짜 수정하기
  • VScode 알쓸신잡
  • LightGBM(lgbm) GPU 버전 설치
  • 가상환경 설정 (anaconda)
창빵맨
창빵맨
  • 창빵맨
    Let's be Developers
    창빵맨
    로그인/로그아웃
  • 전체
    오늘
    어제
    • 분류 전체보기 (472)
      • 알쓸신잡 (80)
      • ML & DL (85)
        • Computer v.. (22)
        • NLP (22)
        • 파이썬 머신러닝 완.. (3)
        • 개념정리 (38)
      • 리눅스 (21)
      • 프로젝트 (29)
        • 산불 발생 예측 (6)
        • 음성비서 (12)
        • pdf 병합 프로그.. (0)
        • 수위 예측 (5)
        • 가짜 뉴스 분류 (5)
        • 전력사용량 예측 (1)
      • 코딩테스트 (217)
        • 프로그래머스[Pyt.. (17)
        • 프로그래머스[Fai.. (3)
        • 백준[Python] (160)
        • 이것이취업을위한코딩.. (18)
        • 파이썬 알고리즘 (19)
      • 데이터분석실습 (25)
        • 데이터 과학 기반의.. (18)
        • 헬로 데이터 과학 (7)
      • 메모장 (0)
      • 잡담 (4)
  • Blog

    • 🏠 Home

    ✏️글쓰기
    💻 관리

    Personal

    GITHUB
    Instagram
  • 공지사항

  • 인기 글

  • 태그

    BFS
    이분탐색
    이코테
    그리디
    파이썬
    이것이취업을위한코딩테스트다
    나동빈
    DFS
    dp
    백준
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
상단으로

티스토리툴바