사전 준비

데이터셋

  • Train, Test Dataset
  • 학습 설정 yaml 파일
    • ex) train_config.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])

결과

+full

평가

평가 코드

# 학습완료한 weight load
model = YOLO('./runs/detect/train/weights/best.pt')
 
# test
model.val(data='./train_config.yaml', batch=32, imgsz=1280)

결과

+full


yoloDeepLearningObjectDetection