Spaces:
Runtime error
A newer version of the Gradio SDK is available:
5.35.0
comments: true
description: YOLOv8 λͺ¨λΈμ Ultralytics YOLOλ₯Ό μ¬μ©νμ¬ νλ ¨νλ λ¨κ³λ³ κ°μ΄λλ‘, λ¨μΌ GPU λ° λ€μ€ GPU νλ ¨μ μμ ν¬ν¨
keywords: >-
Ultralytics, YOLOv8, YOLO, κ°μ²΄ κ°μ§, νλ ¨ λͺ¨λ, μ¬μ©μ μ μ λ°μ΄ν°μ
, GPU νλ ¨, λ€μ€ GPU, νμ΄νΌνλΌλ―Έν°,
CLI μμ , Python μμ
Ultralytics YOLOμ ν¨κ» νλ λͺ¨λΈ νλ ¨

μκ°
λ₯λ¬λ λͺ¨λΈμ νλ ¨νλ€λ κ²μ λͺ¨λΈμ λ°μ΄ν°λ₯Ό 곡κΈνκ³ κ·Έκ²μ΄ μ νν μμΈ‘μ ν μ μλλ‘ λ§€κ°λ³μλ₯Ό μ‘°μ νλ κ³Όμ μ λ§ν©λλ€. Ultralytics YOLOv8μ νλ ¨ λͺ¨λλ νλ νλμ¨μ΄ κΈ°λ₯μ μμ ν νμ©νμ¬ κ°μ²΄ κ°μ§ λͺ¨λΈμ ν¨κ³Όμ μ΄κ³ ν¨μ¨μ μΈ νλ ¨μ μν΄ μ€κ³λμμ΅λλ€. μ΄ κ°μ΄λλ YOLOv8μ κ°λ ₯ν κΈ°λ₯ μΈνΈλ₯Ό μ¬μ©νμ¬ μ체 λͺ¨λΈμ νλ ¨νλ λ° νμν λͺ¨λ μΈλΆ μ 보λ₯Ό λ€λ£¨λ κ²μ λͺ©νλ‘ ν©λλ€.
μμ²νκΈ°: Google Colabμμ μ¬λ¬λΆμ μ¬μ©μ μ μ λ°μ΄ν°μ
μΌλ‘ YOLOv8 λͺ¨λΈμ νλ ¨νλ λ°©λ².
Ultralytics YOLOλ‘ νλ ¨νλ μ΄μ ?
YOLOv8μ νλ ¨ λͺ¨λλ₯Ό μ ννλ λ°λ λͺ κ°μ§ μ€λλ ₯ μλ μ΄μ κ° μμ΅λλ€:
- ν¨μ¨μ±: λ¨μΌ GPU μ€μ μ΄λ μ¬λ¬ GPUλ‘ νμ₯νλ , νλμ¨μ΄λ₯Ό μ΅λν νμ©νμΈμ.
- λ€μμ±: COCO, VOC, ImageNetκ³Ό κ°μ κΈ°μ‘΄μ λ°μ΄ν°μ λΏλ§ μλλΌ μ¬μ©μ μ μ λ°μ΄ν°μ μΌλ‘λ νλ ¨ κ°λ₯.
- μ¬μ©μ μΉνμ : κ°λ¨νλ©΄μλ κ°λ ₯ν CLI λ° Python μΈν°νμ΄μ€λ₯Ό ν΅ν μ§κ΄μ μΈ νλ ¨ κ²½ν μ 곡.
- νμ΄νΌνλΌλ―Έν° μ μ°μ±: λͺ¨λΈμ μ±λ₯μ λ―ΈμΈ μ‘°μ ν μ μλ λ€μνκ² κ΅¬μ± κ°λ₯ν νμ΄νΌνλΌλ―Έν°.
νλ ¨ λͺ¨λμ μ£Όμ κΈ°λ₯
λ€μμ YOLOv8μ νλ ¨ λͺ¨λμ μ£Όμ κΈ°λ₯ μ€ μΌλΆμ λλ€:
- μλ λ°μ΄ν°μ λ€μ΄λ‘λ: COCO, VOC, ImageNetκ³Ό κ°μ νμ€ λ°μ΄ν°μ λ€μ 첫 μ¬μ©μ μλμΌλ‘ λ€μ΄λ‘λλ©λλ€.
- λ€μ€ GPU μ§μ: μ¬λ¬ GPUμ κ±Έμ³ νλ ¨ λ Έλ ₯μ λΉ λ₯΄κ² νλνκΈ° μν κ·λͺ¨μλ νλ ¨ μ§μ.
- νμ΄νΌνλΌλ―Έν° ꡬμ±: YAML κ΅¬μ± νμΌμ΄λ CLI μΈμλ₯Ό ν΅ν΄ νμ΄νΌνλΌλ―Έν° μμ κ°λ₯.
- μκ°ν λ° λͺ¨λν°λ§: νλ ¨ μ§νμ μ€μκ° μΆμ λ° νμ΅ κ³Όμ μ μκ°νλ‘ λ λμ μΈμ¬μ΄νΈ μ 곡.
!!! Tip "ν"
* YOLOv8 λ°μ΄ν°μ
λ€μ 첫 μ¬μ©μ μλμΌλ‘ λ€μ΄λ‘λλ©λλ€, μ: `yolo train data=coco.yaml`
μ¬μ© μμ
COCO128 λ°μ΄ν°μ
μμ YOLOv8nμ μ΄λ―Έμ§ ν¬κΈ° 640μΌλ‘ 100 μν¬ν¬ λμ νλ ¨ν©λλ€. νλ ¨ μ₯μΉλ device
μΈμλ₯Ό μ¬μ©νμ¬ μ§μ ν μ μμ΅λλ€. μΈμλ₯Ό μ λ¬νμ§ μμΌλ©΄ μ¬μ© κ°λ₯ν κ²½μ° GPU device=0
μ΄, μλλ©΄ device=cpu
κ° μ¬μ©λ©λλ€. μ 체 νλ ¨ μΈμ λͺ©λ‘μ μλ Arguments μΉμ
μ μ°Έμ‘°νμΈμ.
!!! Example "λ¨μΌ GPU λ° CPU νλ ¨ μμ "
μ₯μΉλ μλμΌλ‘ κ²°μ λ©λλ€. GPUκ° μ¬μ© κ°λ₯νλ©΄ μ¬μ©λλ©°, κ·Έλ μ§ μμΌλ©΄ CPUμμ νλ ¨μ΄ μμλ©λλ€.
=== "Python"
```python
from ultralytics import YOLO
# λͺ¨λΈμ λ‘λνμΈμ.
model = YOLO('yolov8n.yaml') # YAMLμμ μ λͺ¨λΈ ꡬμΆ
model = YOLO('yolov8n.pt') # μ¬μ νλ ¨λ λͺ¨λΈ λ‘λ (νλ ¨μ μν΄ κΆμ₯λ¨)
model = YOLO('yolov8n.yaml').load('yolov8n.pt') # YAMLμμ κ΅¬μΆ λ° κ°μ€μΉ μ λ¬
# λͺ¨λΈμ νλ ¨ν©λλ€.
results = model.train(data='coco128.yaml', epochs=100, imgsz=640)
```
=== "CLI"
```bash
# YAMLμμ μ λͺ¨λΈμ ꡬμΆνκ³ μ²μλΆν° νλ ¨μ μμνμΈμ.
yolo detect train data=coco128.yaml model=yolov8n.yaml epochs=100 imgsz=640
# μ¬μ νλ ¨λ *.pt λͺ¨λΈμμ νλ ¨μ μμνμΈμ.
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640
# YAMLμμ μ λͺ¨λΈμ ꡬμΆνκ³ , μ¬μ νλ ¨λ κ°μ€μΉλ₯Ό μ λ¬νκ³ νλ ¨μ μμνμΈμ.
yolo detect train data=coco128.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 imgsz=640
```
λ€μ€ GPU νλ ¨
λ€μ€ GPU νλ ¨μ ν΅ν΄ μ¬μ© κ°λ₯ν νλμ¨μ΄ 리μμ€λ₯Ό λ ν¨μ¨μ μΌλ‘ νμ©ν μ μμ΅λλ€. μ΄ κΈ°λ₯μ Python APIμ λͺ λ Ήν μΈν°νμ΄μ€ λͺ¨λλ₯Ό ν΅ν΄ μ¬μ©ν μ μμ΅λλ€. λ€μ€ GPU νλ ¨μ νμ±ννλ €λ©΄ μ¬μ©νλ €λ GPU μ₯μΉ IDλ₯Ό μ§μ νμΈμ.
!!! Example "λ€μ€ GPU νλ ¨ μμ "
2κ°μ GPU, CUDA μ₯μΉ 0κ³Ό 1λ‘ νλ ¨νλ €λ©΄ λ€μ λͺ
λ Ήμ μ¬μ©νμΈμ. νμμ λ°λΌ μΆκ° GPUλ‘ νμ₯νμΈμ.
=== "Python"
```python
from ultralytics import YOLO
# λͺ¨λΈμ λ‘λνμΈμ.
model = YOLO('yolov8n.pt') # μ¬μ νλ ¨λ λͺ¨λΈ λ‘λ (νλ ¨ μΆμ²λ¨)
# 2κ°μ GPUλ‘ λͺ¨λΈμ νλ ¨ν©λλ€.
results = model.train(data='coco128.yaml', epochs=100, imgsz=640, device=[0, 1])
```
=== "CLI"
```bash
# μ¬μ νλ ¨λ *.pt λͺ¨λΈλ‘λΆν° μμνμ¬ GPU 0κ³Ό 1μ μ¬μ©νμ¬ νλ ¨ν©λλ€.
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640 device=0,1
```
Apple M1 λ° M2 MPS νλ ¨
Ultralytics YOLO λͺ¨λΈμ ν΅ν©λ Apple M1 λ° M2 μΉ©λ€μ λν μ§μμ ν΅ν΄ Appleμ κ°λ ₯ν Metal Performance Shaders (MPS) νλ μμν¬λ₯Ό νμ©νμ¬ μ₯μΉμμ λͺ¨λΈμ νλ ¨ν μ μμ΅λλ€. MPSλ Apple μ¬μ©μ μ§μ μ€λ¦¬μ½μμ μ»΄ν¨ν° λ° μ΄λ―Έμ§ μ²λ¦¬ μμ μ μ€ννλ κ³ μ±λ₯ λ°©λ²μ μ 곡ν©λλ€.
Apple M1 λ° M2 μΉ©μμ νλ ¨μ νμ±ννλ €λ©΄, νλ ¨ κ³Όμ μ μμν λ μ₯μΉλ‘ 'mps'λ₯Ό μ§μ ν΄μΌ ν©λλ€. μλλ Python λ° λͺ λ Ήν μΈν°νμ΄μ€λ₯Ό ν΅ν΄ μ΄λ₯Ό μνν μ μλ μμ μ λλ€:
!!! Example "MPS νλ ¨ μμ "
=== "Python"
```python
from ultralytics import YOLO
# λͺ¨λΈμ λ‘λνμΈμ.
model = YOLO('yolov8n.pt') # μ¬μ νλ ¨λ λͺ¨λΈ λ‘λ (νλ ¨ μΆμ²λ¨)
# 2κ°μ GPUλ‘ λͺ¨λΈμ νλ ¨ν©λλ€.
results = model.train(data='coco128.yaml', epochs=100, imgsz=640, device='mps')
```
=== "CLI"
```bash
# μ¬μ νλ ¨λ *.pt λͺ¨λΈμ μ¬μ©νμ¬ mps μ₯μΉμμ νλ ¨μ μμν©λλ€.
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640 device=mps
```
M1/M2 μΉ©μ μ°μ°λ ₯μ νμ©νλ©΄μ νλ ¨ μμ μ λ ν¨μ¨μ μΌλ‘ μ²λ¦¬ν μ μμ΅λλ€. μμΈν μ§μΉ¨κ³Ό κ³ κΈ μ€μ μ΅μ μ μνμ λ€λ©΄ PyTorch MPS λ¬Έμλ₯Ό μ°Έμ‘°νμΈμ.
μ€λ¨λ νλ ¨ μ΄μ΄λκ°κΈ°
μ΄μ μ μ μ₯λ μνμμ νλ ¨μ μ΄μ΄λκ°λ κΈ°λ₯μ λ₯λ¬λ λͺ¨λΈμ λ€λ£° λ μ€μν κΈ°λ₯μ λλ€. μ΄ κΈ°λ₯μ νλ ¨ κ³Όμ μ΄ μκΈ°μΉ μκ² μ€λ¨λμκ±°λ μλ‘μ΄ λ°μ΄ν°λ‘ λͺ¨λΈμ κ³μ νλ ¨νκ±°λ λ λ§μ μν¬ν¬ λμ νλ ¨μ μ§ννκ³ μΆμ λ μ μ©ν©λλ€.
νλ ¨μ μ¬κ°ν λ, Ultralytics YOLOλ λ§μ§λ§μΌλ‘ μ μ₯λ λͺ¨λΈμμ κ°μ€μΉλ₯Ό λ‘λνκ³ μ΅ν°λ§μ΄μ μν, νμ΅λ₯ μ€μΌμ€λ¬, μν¬ν¬ λ²νΈλ 볡μν©λλ€. μ΄λ₯Ό ν΅ν΄ νλ ¨ κ³Όμ μ μ€λ¨λ μ§μ λΆν° μ΄μ΄κ° μ μμ΅λλ€.
Ultralytics YOLOμμ train
λ©μλ νΈμΆ μ resume
μΈμλ₯Ό True
λ‘ μ€μ νκ³ λΆλΆμ μΌλ‘ νλ ¨λ λͺ¨λΈ κ°μ€μΉκ° ν¬ν¨λ .pt
νμΌμ κ²½λ‘λ₯Ό μ§μ νλ©΄ νλ ¨μ μ΄μ΄λκ° μ μμ΅λλ€.