ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ

Экспорт ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ с Ultralytics YOLO

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

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

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ†Π΅Π»ΡŒΡŽ обучСния ΠΌΠΎΠ΄Π΅Π»ΠΈ являСтся Π΅Π΅ использованиС Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… прилоТСниях. Π Π΅ΠΆΠΈΠΌ экспорта Π² Ultralytics YOLO11 ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ спСктр возмоТностСй для экспорта ΠΎΠ±ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π΅ ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΠΎΠΉ для использования Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΠΈ устройствах. Π­Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² тонкостях экспорта ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚, ΠΊΠ°ΠΊ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ максимальной совмСстимости ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.



Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ: Как ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ модСль Ultralytics YOLO ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π΅ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Π²Π΅Π±-ΠΊΠ°ΠΌΠ΅Ρ€Π΅.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ стоит Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ экспорта YOLO11?

  • Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: Экспорт Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ONNX, TensorRT, CoreML ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.
  • ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: УскорСниС Π΄ΠΎ 5x GPU ΠΏΡ€ΠΈ использовании TensorRT ΠΈ Π΄ΠΎ 3x CPU ΠΏΡ€ΠΈ использовании ONNX ΠΈΠ»ΠΈ OpenVINO.
  • Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ: Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ свою модСль ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ для развСртывания Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдах.
  • ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° использования: простыС CLI ΠΈ Python API для быстрого ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ экспорта ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ особСнности Ρ€Π΅ΠΆΠΈΠΌΠ° экспорта

Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ярких Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй:

  • Экспорт Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΠΈΠΊ: ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для экспорта Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹.
  • ΠŸΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ экспорт: Экспорт ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ·.
  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄: ЭкспортируСмыС ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ для ускорСния Π²Ρ‹Π²ΠΎΠ΄Π°.
  • ΠžΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎΡ€ΠΎΠ»ΠΈΠΊΠΈ: ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ руководства ΠΈ ΡƒΡ‡Π΅Π±Π½Ρ‹Π΅ пособия для бСспроблСмного экспорта.

НаконСчник

  • Экспорт Π² ONNX ΠΈΠ»ΠΈ OpenVINO для ускорСния Π΄ΠΎ 3x CPU .
  • Экспорт Π² TensorRT для ускорСния Π΄ΠΎ 5x GPU .

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

ЭкспортируйтС модСль YOLO11n Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ONNX ΠΈΠ»ΠΈ TensorRT. ΠŸΠΎΠ»Π½Ρ‹ΠΉ список Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² экспорта см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ "АргумСнты" Π½ΠΈΠΆΠ΅.

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

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom trained model

# Export the model
model.export(format="onnx")
yolo export model=yolo11n.pt format=onnx  # export official model
yolo export model=path/to/best.pt format=onnx  # export custom trained model

АргумСнты

Π’ этой Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описаны ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΠΏΡ†ΠΈΠΈ, доступныС для экспорта ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ YOLO Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹. Π­Ρ‚ΠΈ настройки Π²Π°ΠΆΠ½Ρ‹ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ совмСстимости экспортированной ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΠΈ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… срСдах. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ настройка Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ модСль Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ²Π° ΠΊ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΡŽ Π² ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ с ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ.

АргумСнт Π’ΠΈΠΏ По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ОписаниС
format str 'torchscript' Π¦Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ экспортируСмой ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 'onnx', 'torchscript', 'tensorflow', ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ срСдами развСртывания.
imgsz int ΠΈΠ»ΠΈ tuple 640 Π–Π΅Π»Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ изобраТСния для Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹ΠΌ числом для ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ (height, width) для получСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ².
keras bool False ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ экспорт Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Keras для TensorFlow SavedModel обСспСчивая ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с сСрвисами ΠΈ API TensorFlow .
optimize bool False ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств ΠΏΡ€ΠΈ экспортС Π² TorchScript, ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.
half bool False Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²Π°Π½ΠΈΠ΅ FP16 (ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° точности), ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ускоряя Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ.
int8 bool False АктивируСт ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²Π°Π½ΠΈΠ΅ INT8, Ρ‡Ρ‚ΠΎ Π΅Ρ‰Π΅ большС сТимаСт модСль ΠΈ ускоряСт Π²Ρ‹Π²ΠΎΠ΄ с минимальной ΠΏΠΎΡ‚Π΅Ρ€Π΅ΠΉ точности, Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ для ΠΏΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Ρ… устройств.
dynamic bool False ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ динамичСскиС Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ для экспорта ONNX, TensorRT ΠΈ OpenVINO , Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с изобраТСниями Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ².
simplify bool True Π£ΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π³Ρ€Π°Ρ„ ΠΌΠΎΠ΄Π΅Π»ΠΈ для экспорта ONNX с onnxslim, ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ.
opset int None Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Π΅Ρ€ΡΠΈΡŽ ONNX opset для совмСстимости с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ONNX парсСрами ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ выполнСния. Если Π½Π΅ Π·Π°Π΄Π°Π½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ послСдняя поддСрТиваСмая вСрсия.
workspace float ΠΈΠ»ΠΈ None None УстанавливаСт ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области Π² GiB для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ TensorRT , балансируя ΠΌΠ΅ΠΆΠ΄Ρƒ использованиСм памяти ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ; ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ None для автоматичСского распрСдСлСния ΠΏΠΎ адрСсу TensorRT Π΄ΠΎ максимального значСния устройства.
nms bool False ДобавляСт Π½Π΅ максимальноС ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΠ΅ (NMS) ΠΊ экспорту CoreML , Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для Ρ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΈ эффСктивной постобработки обнаруТСния.
batch int 1 Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° экспортной ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΠ»ΠΈ максимальноС количСство ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ экспортируСмая модСль Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π² predict Ρ€Π΅ΠΆΠΈΠΌ.
device str None Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ устройство для экспорта: GPU (device=0), CPU (device=cpu), MPS для крСмния Apple (device=mps) ΠΈΠ»ΠΈ DLA для NVIDIA Jetson (device=dla:0 ΠΈΠ»ΠΈ device=dla:1).

Настройка этих ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² позволяСт Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСсс экспорта ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ трСбованиям, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ срСда развСртывания, Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ ограничСния ΠΈ Ρ†Π΅Π»Π΅Π²Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’Ρ‹Π±ΠΎΡ€ подходящСго Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΈ настроСк Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для достиТСния ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ баланса ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ.

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

ДоступныС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ экспорта YOLO11 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² любой Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ format Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, Ρ‚.Π΅. format='onnx' ΠΈΠ»ΠΈ format='engine'. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ нСпосрСдствСнно Π½Π° экспортированных модСлях, Ρ‚.Π΅. yolo predict model=yolo11n.onnx. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ для вашСй ΠΌΠΎΠ΄Π΅Π»ΠΈ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ экспорта.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ format АргумСнт МодСль ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ АргумСнты
PyTorch - yolo11n.pt βœ… -
TorchScript torchscript yolo11n.torchscript βœ… imgsz, optimize, batch
ONNX onnx yolo11n.onnx βœ… imgsz, half, dynamic, simplify, opset, batch
OpenVINO openvino yolo11n_openvino_model/ βœ… imgsz, half, int8, batch
TensorRT engine yolo11n.engine βœ… imgsz, half, dynamic, simplify, workspace, int8, batch
CoreML coreml yolo11n.mlpackage βœ… imgsz, half, int8, nms, batch
TF SavedModel saved_model yolo11n_saved_model/ βœ… imgsz, keras, int8, batch
TF GraphDef pb yolo11n.pb ❌ imgsz, batch
TF Lite tflite yolo11n.tflite βœ… imgsz, half, int8, batch
TF ΠšΡ€Π°ΠΉ TPU edgetpu yolo11n_edgetpu.tflite βœ… imgsz
TF.js tfjs yolo11n_web_model/ βœ… imgsz, half, int8, batch
PaddlePaddle paddle yolo11n_paddle_model/ βœ… imgsz, batch
MNN mnn yolo11n.mnn βœ… imgsz, batch, int8, half
NCNN ncnn yolo11n_ncnn_model/ βœ… imgsz, half, batch
IMX500 imx yolov8n_imx_model/ βœ… imgsz, int8

ЧАБВО Π—ΠΠ”ΠΠ’ΠΠ•ΠœΠ«Π• Π’ΠžΠŸΠ ΠžΠ‘Π«

Как ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ модСль YOLO11 Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ONNX ?

Экспорт ΠΌΠΎΠ΄Π΅Π»ΠΈ YOLO11 Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ONNX Π»Π΅Π³ΠΊΠΎ выполняСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ultralytics. Он прСдоставляСт ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Python ΠΈ CLI для экспорта ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ.

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

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom trained model

# Export the model
model.export(format="onnx")
yolo export model=yolo11n.pt format=onnx  # export official model
yolo export model=path/to/best.pt format=onnx  # export custom trained model

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ процСссС, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ возмоТности, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ONNX .

ΠšΠ°ΠΊΠΎΠ²Ρ‹ прСимущСства использования TensorRT для экспорта ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ?

ИспользованиС TensorRT для экспорта ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π΄Π°Π΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ прирост ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. МодСли, экспортированныС Π² TensorRT с YOLO11 , ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‚ΡΡ Π² 5 Ρ€Π°Π· ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с GPU , Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈΡ… ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с Π²Ρ‹Π²ΠΎΠ΄Π°ΠΌΠΈ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

  • Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ.
  • Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ: ДостигайтС Π±ΠΎΠ»Π΅Π΅ быстрого Π²Ρ‹Π²ΠΎΠ΄Π° благодаря Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌ оптимизациям.
  • Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ: Π›Π΅Π³ΠΊΠΎ интСгрируСтся с ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ NVIDIA .

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎΠ± ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ TensorRT, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ руководству ΠΏΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈTensorRT .

Как Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²Π°Π½ΠΈΠ΅ INT8 ΠΏΡ€ΠΈ экспортС ΠΌΠΎΠ΄Π΅Π»ΠΈ YOLO11 ?

ΠšΠ²Π°Π½Ρ‚ΠΎΠ²Π°Π½ΠΈΠ΅ INT8 - ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ способ ΡΠΆΠ°Ρ‚ΡŒ модСль ΠΈ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄, особСнно Π½Π° Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Ρ… устройствах. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²Π°Π½ΠΈΠ΅ INT8:

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

from ultralytics import YOLO

model = YOLO("yolo11n.pt")  # Load a model
model.export(format="engine", int8=True)
yolo export model=yolo11n.pt format=engine int8=True   # export TensorRT model with INT8 quantization

ΠšΠ²Π°Π½Ρ‚ΠΎΠ²Π°Π½ΠΈΠ΅ INT8 ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌ, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ TensorRT ΠΈ CoreML. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Экспорт.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΏΡ€ΠΈ экспортС ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π²Π°ΠΆΠ΅Π½ Ρ€Π°Π·ΠΌΠ΅Ρ€ динамичСского Π²Π²ΠΎΠ΄Π°?

ДинамичСский Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… позволяСт экспортируСмой ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, обСспСчивая Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΈ оптимизируя ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… случаСв использования. ΠŸΡ€ΠΈ экспортС Π² Ρ‚Π°ΠΊΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹, ΠΊΠ°ΠΊ ONNX ΠΈΠ»ΠΈ TensorRT, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ динамичСского Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… обСспСчиваСт ΠΏΠ»Π°Π²Π½ΡƒΡŽ Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΡŽ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°ΠΌ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ dynamic=True Ρ„Π»Π°Π³ ΠΏΡ€ΠΈ экспортС:

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

from ultralytics import YOLO

model = YOLO("yolo11n.pt")
model.export(format="onnx", dynamic=True)
yolo export model=yolo11n.pt format=onnx dynamic=True

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ контСкст см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ " ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ динамичСского Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π²Ρ…ΠΎΠ΄Π°".

КакиС ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ экспортныС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠ΄Π΅Π»ΠΈ?

ПониманиС ΠΈ настройка Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² экспорта ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠ΄Π΅Π»ΠΈ:

  • format: Π¦Π΅Π»Π΅Π²ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ экспортируСмой ΠΌΠΎΠ΄Π΅Π»ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, onnx, torchscript, tensorflow).
  • imgsz: Π–Π΅Π»Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ изобраТСния для Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 640 ΠΈΠ»ΠΈ (height, width)).
  • half: Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²Π°Π½ΠΈΠ΅ FP16, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ускоряя Π²Ρ‹Π²ΠΎΠ΄.
  • optimize: ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… срСд.
  • int8: ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²Π°Π½ΠΈΠ΅ INT8, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для ΠΏΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΉ.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ список ΠΈ пояснСния ΠΊΠΎ всСм Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌ экспорта ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ АргумСнты экспорта.

πŸ“… Π‘ΠΎΠ·Π΄Π°Π½ΠΎ 1 Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄ ✏️ ОбновлСно 1 мСсяц Π½Π°Π·Π°Π΄

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