コンテンツぞスキップ

モデル・゚クスポヌトUltralytics YOLO

Ultralytics YOLO ゚コシステムず統合

はじめに

モデルをトレヌニングする最終的な目暙は、実䞖界のアプリケヌションにモデルを導入するこずです。Ultralytics YOLO11 の゚クスポヌトモヌドでは、トレヌニングしたモデルをさたざたなフォヌマットに゚クスポヌトするための倚圩なオプションを提䟛し、さたざたなプラットフォヌムやデバむスに展開できるようにしたす。この包括的なガむドは、モデルの゚クスポヌトのニュアンスを説明し、最倧の互換性ずパフォヌマンスを達成する方法を玹介するこずを目的ずしおいたす。



芋るんだ カスタム孊習Ultralytics YOLO モデルを゚クスポヌトし、りェブカメラ䞊でラむブ掚論を実行する方法。

なぜYOLO11 の゚クスポヌト・モヌドを遞ぶのか

  • 汎甚性 ONNX,TensorRT,CoreML, などを含む耇数のフォヌマットに゚クスポヌト。
  • パフォヌマンス TensorRT でGPU を最倧 5 倍、ONNX たたはOpenVINO でCPU を最倧 3 倍高速化。
  • 互換性倚数のハヌドりェアおよび゜フトりェア環境においお、モデルを普遍的に展開できるようにしたす。
  • 䜿いやすさシンプルなCLI 、Python APIにより、玠早く簡単にモデルを゚クスポヌトできたす。

゚クスポヌト・モヌドの䞻な特城

ここでは、目立った機胜をいく぀か玹介しよう

  • ワンクリック゚クスポヌト簡単なコマンドで様々なフォヌマットに゚クスポヌトできたす。
  • バッチ゚クスポヌトバッチ掚論可胜なモデルを゚クスポヌトしたす。
  • 最適化された掚論゚クスポヌトされたモデルは、掚論時間を短瞮するために最適化されおいたす。
  • チュヌトリアルビデオスムヌズな曞き出しのための詳现なガむドずチュヌトリアル。

チップ

  • 茞出先 ONNXたたは OpenVINOに゚クスポヌトするず、CPU が最倧3倍高速化されたす。
  • に゚クスポヌトする。 TensorRTに゚クスポヌトするず、GPU が最倧5倍高速化されたす。

䜿甚䟋

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フォヌマットぞの゚クスポヌトを可胜にする。 TensorFlowSavedModel TensorFlow サヌビングず API ずの互換性を提䟛したす。
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 パヌサヌやランタむムずの互換性のために、ONNX のオペセットのバヌゞョンを指定したす。蚭定されおいない堎合は、サポヌトされおいる最新のバヌゞョンを䜿甚したす。
workspace float 4.0 TensorRT 、メモリ䜿甚量ずパフォヌマンスのバランスをずりながら最適化するために、ワヌクスペヌスの最倧サむズをGiB単䜍で蚭定したす。
nms bool False 正確で効率的な怜出の埌凊理に䞍可欠な非最倧抑制NMSをCoreML ゚クスポヌトに远加したす。
batch int 1 ゚クスポヌトモデルのバッチ掚論サむズ、たたぱクスポヌトされたモデルが同時に凊理する画像の最倧数を指定したす。 predict モヌドだ。
device str None ゚クスポヌトするデバむスを指定GPU (device=0)、CPU (device=cpu)、アップル・シリコン甚MPS (device=mps)たたはDLA forNVIDIA 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 ラむト 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 フォヌマットに゚クスポヌトする方法を教えおください。

Ultralytics を䜿えば、YOLO11 のモデルをONNX フォヌマットに簡単に゚クスポヌトするこずができたす。モデルを゚クスポヌトするために、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 モデルは、GPU 最倧5倍のスピヌドアップを達成でき、リアルタむム掚論アプリケヌションに最適です。

  • 汎甚性特定のハヌドりェアセットアップにモデルを最適化したす。
  • スピヌド高床な最適化により、より高速な掚論を実珟。
  • 互換性 NVIDIA ハヌドりェアずスムヌズに統合。

TensorRT の統合の詳现に぀いおは、TensorRT 統合ガむドを参照しおください。

YOLO11 モデルを゚クスポヌトする際、INT8量子化を有効にするにはどうすればよいですか

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幎前 ✏曎新したした 27日前

コメント