사전 준비
데이터셋
- Train, Test Dataset
- 학습 설정 yaml 파일
path: data
train: train
val: test
nc: 6
names:
0: person
1: vehicle
2: rocks
3: vail
4: tractor
5: pole
학습
학습 코드
import cv2
import ultralytics
from ultralytics import YOLO
ultralytics.checks()
>> Ultralytics YOLOv8.0.145 🚀 Python-3.7.12 torch-1.13.1+cu117 CUDA:0 (NVIDIA RTX A6000, 48648MiB)
Setup complete ✅ (24 CPUs, 30.6 GB RAM, 460.9/1864.0 GB disk)
# base model load
model = YOLO('yolov8n.pt')
# train
model.train(data='./train_config.yaml', epochs=100, batch=32, imgsz=1280)
Multi GPU 사용
# 특정 GPU 지정
# 환경변수 선언 후 학습
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "1"
model.train(data='./train_config.yaml', epochs=100, batch=32, imgsz=1280)
# ---
# 멀티 GPU 병렬 사용
model.train(data="coco8.yaml", epochs=100, imgsz=640, device=[0, 1])
결과
-YOLOv8-학습_image_1.png)
평가
평가 코드
# 학습완료한 weight load
model = YOLO('./runs/detect/train/weights/best.pt')
# test
model.val(data='./train_config.yaml', batch=32, imgsz=1280)
결과
-YOLOv8-학습_image_2.png)
yoloDeepLearningObjectDetection