μ½˜ν…μΈ λ‘œ κ±΄λ„ˆλ›°κΈ°

λͺ…령쀄 μΈν„°νŽ˜μ΄μŠ€ μ‚¬μš©λ²•

YOLO λͺ…령쀄 μΈν„°νŽ˜μ΄μŠ€(CLI)λ₯Ό μ‚¬μš©ν•˜λ©΄ Python ν™˜κ²½ 없이도 κ°„λ‹¨ν•œ ν•œ 쀄 λͺ…λ ΉμœΌλ‘œ μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. CLI μ‚¬μš©μž μ§€μ •μ΄λ‚˜ Python μ½”λ“œκ°€ ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ν„°λ―Έλ„μ—μ„œ λͺ¨λ“  μž‘μ—…μ„ κ°„λ‹¨νžˆ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. yolo λͺ…령을 μ‚¬μš©ν•©λ‹ˆλ‹€.



Watch: λ§ˆμŠ€ν„°ν•˜κΈ° Ultralytics YOLOv8 : CLI

예

Ultralytics yolo λͺ…령은 λ‹€μŒ ꡬ문을 μ‚¬μš©ν•©λ‹ˆλ‹€:

yolo TASK MODE ARGS

Where   TASK (optional) is one of [detect, segment, classify]
        MODE (required) is one of [train, val, predict, export, track]
        ARGS (optional) are any number of custom 'arg=value' pairs like 'imgsz=320' that override defaults.
λͺ¨λ“  ARG μ „λ¬Έ 보기 ꡬ성 κ°€μ΄λ“œ λ˜λŠ” yolo cfg

초기 ν•™μŠ΅λ₯  0.01둜 10개의 에포크에 λŒ€ν•œ 탐지 λͺ¨λΈμ„ ν›ˆλ ¨ν•©λ‹ˆλ‹€.

yolo train data=coco8.yaml model=yolov8n.pt epochs=10 lr0=0.01

이미지 크기 320μ—μ„œ 사전 ν•™μŠ΅λœ μ„Έκ·Έλ¨Όν…Œμ΄μ…˜ λͺ¨λΈμ„ μ‚¬μš©ν•˜μ—¬ YouTube λ™μ˜μƒμ„ μ˜ˆμΈ‘ν•©λ‹ˆλ‹€:

yolo predict model=yolov8n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320

배치 크기 1, 이미지 크기 640의 사전 ν•™μŠ΅λœ 탐지 λͺ¨λΈμž…λ‹ˆλ‹€:

yolo val model=yolov8n.pt data=coco8.yaml batch=1 imgsz=640

YOLOv8n λΆ„λ₯˜ λͺ¨λΈμ„ 이미지 크기 224 x 128의 ONNX ν˜•μ‹μœΌλ‘œ 내보내기(μž‘μ—… ν•„μš” μ—†μŒ)

yolo export model=yolov8n-cls.pt format=onnx imgsz=224,128

특수 λͺ…령을 μ‹€ν–‰ν•˜μ—¬ 버전 확인, μ„€μ • 보기, 검사 μ‹€ν–‰ 등을 ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

yolo help
yolo checks
yolo version
yolo settings
yolo copy-cfg
yolo cfg

Where:

  • TASK (선택 사항)은 λ‹€μŒ 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€. [detect, segment, classify]. λͺ…μ‹œμ μœΌλ‘œ μ „λ‹¬λ˜μ§€ μ•Šμ€ 경우 YOLOv8 은 λ‹€μŒμ„ μΆ”μΈ‘ν•˜λ €κ³  μ‹œλ„ν•©λ‹ˆλ‹€. TASK λ₯Ό λͺ¨λΈ μœ ν˜•μ—μ„œ μ„ νƒν•©λ‹ˆλ‹€.
  • MODE (ν•„μˆ˜)λŠ” λ‹€μŒ 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€. [train, val, predict, export, track]
  • ARGS (선택 사항) μ‚¬μš©μž 지정 arg=value 같은 imgsz=320 기본값을 μž¬μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ‚¬μš© κ°€λŠ₯ν•œ 전체 λͺ©λ‘μ€ ARGS λ₯Ό μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€. ꡬ성 νŽ˜μ΄μ§€μ™€ defaults.yaml

κ²½κ³ 

μΈμˆ˜λŠ” λ‹€μŒκ³Ό 같이 μ „λ‹¬λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€. arg=val 쌍, λ“±ν˜Έλ‘œ λ‚˜λˆˆ = 기호둜 κ΅¬λΆ„ν•˜κ³  곡백으둜 ꡬ뢄 λ₯Ό 쌍으둜 μ—°κ²°ν•©λ‹ˆλ‹€. μ‚¬μš©ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€. -- 인수 접두사 λ˜λŠ” μ‰Όν‘œ , 인자 사이에 μžˆμŠ΅λ‹ˆλ‹€.

  • yolo predict model=yolov8n.pt imgsz=640 conf=0.25 Β  βœ…
  • yolo predict model yolov8n.pt imgsz 640 conf 0.25 Β  ❌
  • yolo predict --model yolov8n.pt --imgsz 640 --conf 0.25 Β  ❌

κΈ°μ°¨

YOLOv8n 을 이미지 크기 640으둜 100개의 에포크에 λŒ€ν•΄ COCO8 λ°μ΄ν„°μ…‹μœΌλ‘œ ν›ˆλ ¨ν•©λ‹ˆλ‹€. μ‚¬μš© κ°€λŠ₯ν•œ 인수의 전체 λͺ©λ‘μ€ ꡬ성 νŽ˜μ΄μ§€λ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

예

COCO8μ—μ„œ 이미지 크기 640으둜 100νšŒμ— 걸쳐 YOLOv8n κ΅μœ‘μ„ μ‹œμž‘ν•˜μ„Έμš”.

yolo detect train data=coco8.yaml model=yolov8n.pt epochs=100 imgsz=640

μ€‘λ‹¨λœ κ΅μœ‘μ„ μž¬κ°œν•©λ‹ˆλ‹€.

yolo detect train resume model=last.pt

Val

COCO8 데이터 μ„ΈνŠΈμ—μ„œ ν•™μŠ΅λœ YOLOv8n λͺ¨λΈ 정확도λ₯Ό κ²€μ¦ν•©λ‹ˆλ‹€. 인수λ₯Ό 전달할 ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€. model κ΅μœ‘μ„ μœ μ§€ν•©λ‹ˆλ‹€. data 및 인수λ₯Ό λͺ¨λΈ μ†μ„±μœΌλ‘œ μ‚¬μš©ν•©λ‹ˆλ‹€.

예

곡식 YOLOv8n λͺ¨λΈμ„ μΈμ¦ν•©λ‹ˆλ‹€.

yolo detect val model=yolov8n.pt

μ‚¬μš©μž 지정 ν•™μŠ΅λœ λͺ¨λΈμ„ κ²€μ¦ν•©λ‹ˆλ‹€.

yolo detect val model=path/to/best.pt

예츑

ν•™μŠ΅λœ YOLOv8n λͺ¨λΈμ„ μ‚¬μš©ν•˜μ—¬ 이미지에 λŒ€ν•œ μ˜ˆμΈ‘μ„ μ‹€ν–‰ν•©λ‹ˆλ‹€.

예

곡식 λͺ¨λΈ( YOLOv8n )둜 μ˜ˆμΈ‘ν•˜μ„Έμš”.

yolo detect predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'

μ‚¬μš©μž 지정 λͺ¨λΈλ‘œ μ˜ˆμΈ‘ν•˜μ„Έμš”.

yolo detect predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg'

내보내기

YOLOv8n λͺ¨λΈμ„ ONNX, CoreML λ“±κ³Ό 같은 λ‹€λ₯Έ ν˜•μ‹μœΌλ‘œ λ‚΄λ³΄λƒ…λ‹ˆλ‹€.

예

곡식 YOLOv8n λͺ¨λΈμ„ ONNX ν˜•μ‹μœΌλ‘œ λ‚΄λ³΄λƒ…λ‹ˆλ‹€.

yolo export model=yolov8n.pt format=onnx

μ‚¬μš©μž 지정 ν•™μŠ΅λœ λͺ¨λΈμ„ ONNX ν˜•μ‹μœΌλ‘œ λ‚΄λ³΄λƒ…λ‹ˆλ‹€.

yolo export model=path/to/best.pt format=onnx

μ‚¬μš© κ°€λŠ₯ν•œ YOLOv8 내보내기 ν˜•μ‹μ€ μ•„λž˜ ν‘œμ— λ‚˜μ™€ μžˆμŠ΅λ‹ˆλ‹€. λ‚΄λ³΄λ‚΄λŠ” ν˜•μ‹μ€ format 인수, 즉 format='onnx' λ˜λŠ” format='engine'.

ν˜•μ‹ format 인수 λͺ¨λΈ 메타데이터 인수
PyTorch - yolov8n.pt βœ… -
TorchScript torchscript yolov8n.torchscript βœ… imgsz, optimize, batch
ONNX onnx yolov8n.onnx βœ… imgsz, half, dynamic, simplify, opset, batch
OpenVINO openvino yolov8n_openvino_model/ βœ… imgsz, half, int8, batch
TensorRT engine yolov8n.engine βœ… imgsz, half, dynamic, simplify, workspace, int8, batch
CoreML coreml yolov8n.mlpackage βœ… imgsz, half, int8, nms, batch
TF SavedModel saved_model yolov8n_saved_model/ βœ… imgsz, keras, int8, batch
TF GraphDef pb yolov8n.pb ❌ imgsz, batch
TF Lite tflite yolov8n.tflite βœ… imgsz, half, int8, batch
TF Edge TPU edgetpu yolov8n_edgetpu.tflite βœ… imgsz
TF.js tfjs yolov8n_web_model/ βœ… imgsz, half, int8, batch
PaddlePaddle paddle yolov8n_paddle_model/ βœ… imgsz, batch
NCNN ncnn yolov8n_ncnn_model/ βœ… imgsz, half, batch

전체 보기 export μ„ΈλΆ€ μ •λ³΄μ—μ„œ 내보내기 νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•©λ‹ˆλ‹€.

κΈ°λ³Έ 인수 μž¬μ •μ˜

κΈ°λ³Έ μΈμˆ˜λŠ” CLI 에 인자둜 μ „λ‹¬ν•˜κΈ°λ§Œ ν•˜λ©΄ μž¬μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. arg=value μŒμž…λ‹ˆλ‹€.

λ‹€μŒμ— λŒ€ν•œ 탐지 λͺ¨λΈ ν•™μŠ΅ 10 epochs 와 ν•¨κ»˜ learning_rate 의 0.01

yolo detect train data=coco8.yaml model=yolov8n.pt epochs=10 lr0=0.01

이미지 크기 320μ—μ„œ 사전 ν•™μŠ΅λœ μ„Έκ·Έλ¨Όν…Œμ΄μ…˜ λͺ¨λΈμ„ μ‚¬μš©ν•˜μ—¬ YouTube λ™μ˜μƒμ„ μ˜ˆμΈ‘ν•©λ‹ˆλ‹€:

yolo segment predict model=yolov8n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320

배치 크기 1 및 이미지 크기 640μ—μ„œ 사전 ν•™μŠ΅λœ 탐지 λͺ¨λΈμ˜ μœ νš¨μ„±μ„ κ²€μ‚¬ν•©λ‹ˆλ‹€:

yolo detect val model=yolov8n.pt data=coco8.yaml batch=1 imgsz=640

κΈ°λ³Έ ꡬ성 파일 μž¬μ •μ˜

μž¬μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. default.yaml ꡬ성 νŒŒμΌμ„ μ™„μ „νžˆ μƒˆ 파일둜 μ „λ‹¬ν•˜μ—¬ cfg 인자, 즉 cfg=custom.yaml.

μ΄λ ‡κ²Œ ν•˜λ €λ©΄ λ¨Όμ € default.yaml λ₯Ό μ‚¬μš©ν•˜μ—¬ ν˜„μž¬ μž‘μ—… 디렉토리에 yolo copy-cfg λͺ…령을 μ‚¬μš©ν•©λ‹ˆλ‹€.

μ΄λ ‡κ²Œ ν•˜λ©΄ λ‹€μŒμ΄ μƒμ„±λ©λ‹ˆλ‹€. default_copy.yaml둜 전달할 수 μžˆμŠ΅λ‹ˆλ‹€. cfg=default_copy.yaml 와 같은 μΆ”κ°€ μΈμžμ™€ ν•¨κ»˜ imgsz=320 이 μ˜ˆμ œμ—μ„œλŠ”

예

yolo copy-cfg
yolo cfg=default_copy.yaml imgsz=320


Created 2023-11-12, Updated 2024-06-20
Authors: ambitious-octopus (1), glenn-jocher (18), Burhan-Q (3), RizwanMunawar (1), AyushExel (1), Laughing-q (1), shuizhuyuanluo@126.com (1)

λŒ“κΈ€