ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ содСрТимому

Π‘Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΈΠ½Π³ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ с Ultralytics YOLO

Ultralytics YOLO ЭкосистСма ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ твоя модСль ΠΎΠ±ΡƒΡ‡Π΅Π½Π° ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π°, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ шагом Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ†Π΅Π½ΠΊΠ° Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… сцСнариях. Π Π΅ΠΆΠΈΠΌ Benchmark Π² Ultralytics YOLOv8 слуТит этой Ρ†Π΅Π»ΠΈ, прСдоставляя Π½Π°Π΄Π΅ΠΆΠ½ΡƒΡŽ основу для ΠΎΡ†Π΅Π½ΠΊΠΈ скорости ΠΈ точности Ρ‚Π²ΠΎΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… экспорта.



Π‘ΠΌΠΎΡ‚Ρ€ΠΈ: Ultralytics Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌ: Π‘Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊ

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΈΠ½Π³ ΠΊΡ€Π°ΠΉΠ½Π΅ Π²Π°ΠΆΠ΅Π½?

  • ΠŸΡ€ΠΈΠ½ΡΡ‚ΠΈΠ΅ обоснованных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ: Π£Π·Π½Π°ΠΉ ΠΎ компромиссС ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ.
  • РаспрСдСлСниС рСсурсов: Пойми, ΠΊΠ°ΠΊ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ экспорта Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° Ρ€Π°Π·Π½ΠΎΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ.
  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ: Π£Π·Π½Π°ΠΉ, ΠΊΠ°ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ экспорта обСспСчиваСт Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ для Ρ‚Π²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ случая использования.
  • ЭкономичСская ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ: Π‘ΠΎΠ»Π΅Π΅ эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ рСсурсы, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Ρ… Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΎΠ².

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠ°

  • mAP50-95: Для обнаруТСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², сСгмСнтации ΠΈ ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΏΠΎΠ·Ρ‹.
  • accuracy_top5: Для классификации ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.
  • ВрСмя Π²Ρ‹Π²ΠΎΠ΄Π°: врСмя, Π·Π°Ρ‚Ρ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π² миллисСкундах.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ экспорта

  • ONNX: Для ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ CPU
  • TensorRT: Для максимальной эффСктивности GPU
  • OpenVINO: Для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния Intel
  • CoreML, TensorFlow SavedModel , ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅: Для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… потрСбностСй Π² Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΈ.

НаконСчник

  • Экспортируй Π² ONNX ΠΈΠ»ΠΈ OpenVINO , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с CPU Π² 3 Ρ€Π°Π·Π°.
  • Экспортируй Π² TensorRT для ускорСния Π΄ΠΎ 5 Ρ€Π°Π· GPU .

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования

Запускай Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΈ YOLOv8n Π½Π° всСх ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… экспорта, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ONNX, TensorRT ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. ΠŸΠΎΠ»Π½Ρ‹ΠΉ список Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² для экспорта смотри Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ "АргумСнты" Π½ΠΈΠΆΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
yolo benchmark model=yolov8n.pt data='coco8.yaml' imgsz=640 half=False device=0

АргумСнты

Π’Π°ΠΊΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠ°ΠΊ model, data, imgsz, half, device, ΠΈ verbose ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ Ρ‚ΠΎΠ½ΠΊΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΈ ΠΏΠΎΠ΄ свои ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Π½ΡƒΠΆΠ΄Ρ‹ ΠΈ с Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒΡŽ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² экспорта.

ΠšΠ»ΡŽΡ‡ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ОписаниС
model None Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ±Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° .pt ΠΈ .yaml Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "yolov8n.pt" для ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².
data None ΠŸΡƒΡ‚ΡŒ ΠΊ YAML-Ρ„Π°ΠΉΠ»Ρƒ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅ΠΌΡƒ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… для Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠ°, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡƒΡ‚ΠΈ ΠΈ настройки для Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈΠΌΠ΅Ρ€: "coco8.yaml".
imgsz 640 Π Π°Π·ΠΌΠ΅Ρ€ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ изобраТСния для ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ Ρ†Π΅Π»Ρ‹ΠΌ числом для ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ (width, height) для Π½Π΅ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, (640, 480).
half False Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ вычислСния FP16 (с ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ), Ρ‡Ρ‚ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π½Π° совмСстимом ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ half=True Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ.
int8 False АктивируСт ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²Π°Π½ΠΈΠ΅ INT8 для дальнСйшСй ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… устройствах, особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для edge-устройств. Установи int8=True ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.
device None ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ устройство (устройства) для Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠ°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ "cpu", "cuda:0", ΠΈΠ»ΠΈ список устройств, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ "cuda:0,1" для ΠΌΡƒΠ»ΡŒΡ‚ΠΈGPU установок.
verbose False УправляСт ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Π»ΠΎΠ³ΠΎΠ². Π‘ΡƒΠ»Π΅Π²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅; устанавливаСтся verbose=True для ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… Π»ΠΎΠ³ΠΎΠ² ΠΈΠ»ΠΈ float для ΠΏΠΎΡ€ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ошибок.

Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ экспорта

Π‘Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΈ ΠΏΠΎΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ автоматичСски Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΡ Π½Π° всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… экспорта, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π½ΠΈΠΆΠ΅.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ 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 ΠšΡ€Π°ΠΉ 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 подробности Π² Экспорт Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π°.

Π’ΠžΠŸΠ ΠžΠ‘Π« И ΠžΠ’Π’Π•Π’Π«

Как провСсти ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠΎΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ YOLOv8 с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ultralytics?

Ultralytics YOLOv8 ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ Benchmark для ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‚Π²ΠΎΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… экспорта. Π­Ρ‚ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прСдставлСниС ΠΎ Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ…, ΠΊΠ°ΠΊ срСдняя Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ (mAP50-95), Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ врСмя Π²Ρ‹Π²ΠΎΠ΄Π° Π² миллисСкундах. Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΈ, Ρ‚Ρ‹ моТСшь ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Python ΠΈΠ»ΠΈ CLI . НапримСр, для Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠ° Π½Π° GPU:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
yolo benchmark model=yolov8n.pt data='coco8.yaml' imgsz=640 half=False device=0

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠ° Ρ‡ΠΈΡ‚Π°ΠΉ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ " АргумСнты ".

Π’ Ρ‡Π΅ΠΌ прСимущСства экспорта ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ YOLOv8 Π² Ρ€Π°Π·Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹?

Экспорт ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ YOLOv8 Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ONNX, TensorRT ΠΈ OpenVINO , позволяСт Ρ‚Π΅Π±Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² зависимости ΠΎΡ‚ срСды развСртывания. НапримСр:

  • ONNX: ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ ускорСниС Π΄ΠΎ 3Ρ… CPU .
  • TensorRT: ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ ускорСниС Π΄ΠΎ 5x GPU .
  • OpenVINO: Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ для Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния Intel . Π­Ρ‚ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‚ ΠΊΠ°ΠΊ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Ρ‚Π²ΠΎΠΈΡ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, дСлая ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ эффСктивными для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠŸΠΎΡΠ΅Ρ‚ΠΈ страницу экспорта для получСния ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΈΠ½Π³ ΠΊΡ€Π°ΠΉΠ½Π΅ Π²Π°ΠΆΠ΅Π½ для ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ YOLOv8 ?

Π‘Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΈΠ½Π³ Ρ‚Π²ΠΎΠΈΡ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ YOLOv8 Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ нСскольким ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ:

  • ΠŸΡ€ΠΈΠ½ΡΡ‚ΠΈΠ΅ обоснованных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ: Пойми компромисс ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ.
  • РаспрСдСлСниС рСсурсов: ΠžΡ†Π΅Π½ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния.
  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ: ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ экспорта обСспСчиваСт Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… случаСв использования.
  • ЭкономичСская ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ: ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉ использованиС Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Ρ… Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΎΠ². Π’Π°ΠΊΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, ΠΊΠ°ΠΊ mAP50-95, Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Top-5 ΠΈ врСмя Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π² ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ этих ΠΎΡ†Π΅Π½ΠΎΠΊ. Π—Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ обращайся ΠΊ Ρ€Π°Π·Π΄Π΅Π»Ρƒ " ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ".

КакиС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ экспорта ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ YOLOv8, ΠΈ Π² Ρ‡Π΅ΠΌ ΠΈΡ… прСимущСства?

YOLOv8 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСство Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² экспорта, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ случаи использования:

  • ONNX: Π›ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ CPU .
  • TensorRT: ИдСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для GPU эффСктивности.
  • OpenVINO: ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ для оборудования Intel .
  • CoreML & TensorFlow: ПолСзСн для iOS ΠΈ ΠΎΠ±Ρ‰ΠΈΡ… ML-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠŸΠΎΠ»Π½Ρ‹ΠΉ список ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² ΠΈ ΠΈΡ… ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ прСимущСства Ρ‚Ρ‹ найдСшь Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ " ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ экспорта ".

КакиС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ я ΠΌΠΎΠ³Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ‚ΠΎΡ‡Π½ΠΎΠΉ настройки Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΎΠ² YOLOv8 ?

ΠŸΡ€ΠΈ запускС Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΎΠ² нСсколько Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Π½ΡƒΠΆΠ΄Ρ‹:

  • model: ΠŸΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ ΠΌΠΎΠ΄Π΅Π»ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "yolov8n.pt").
  • data: ΠŸΡƒΡ‚ΡŒ ΠΊ YAML-Ρ„Π°ΠΉΠ»Ρƒ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅ΠΌΡƒ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "coco8.yaml").
  • imgsz: Π Π°Π·ΠΌΠ΅Ρ€ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ изобраТСния, Π»ΠΈΠ±ΠΎ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа, Π»ΠΈΠ±ΠΎ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°.
  • ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°: Π’ΠΊΠ»ΡŽΡ‡ΠΈ Π²Ρ‹Π²ΠΎΠ΄ FP16, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.
  • int8: Активируй ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²Π°Π½ΠΈΠ΅ INT8 для ΠΊΡ€Π°Π΅Π²Ρ‹Ρ… устройств.
  • device: Π£ΠΊΠ°ΠΆΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ устройство (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "cpu", "cuda:0 ").
  • verbose: Управляй ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ вСдСния ΠΆΡƒΡ€Π½Π°Π»Π°. ΠŸΠΎΠ»Π½Ρ‹ΠΉ список Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² смотри Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ " АргумСнты ".


Боздано 2023-11-12, ОбновлСно 2024-07-04
Авторы: glenn-jocher (18), Burhan-Q (3), RizwanMunawar (1), Laughing-q (1), maianumerosky (1)

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ