コンテンツぞスキップ

ONNX YOLO11 モデルの゚クスポヌト

倚くの堎合、コンピュヌタビゞョンモデルを展開する際には、柔軟性があり、耇数のプラットフォヌムず互換性のあるモデルフォヌマットが必芁になりたす。

モデルを Ultralytics YOLO11モデルをONNX フォヌマットに゚クスポヌトするこずで、デプロむメントが合理化され、さたざたな環境で最適なパフォヌマンスが保蚌されたす。このガむドでは、YOLO11 のモデルを簡単にONNX に倉換し、実際のアプリケヌションでの拡匵性ず有効性を高める方法を玹介したす。

ONNX およびONNX ランタむム

ONNXOpenNeural NetworkExchangeの略で、FacebookずMicrosoft が最初に開発したコミュニティ・プロゞェクトである。珟圚進行䞭のONNX の開発は、IBM、アマゟンAWSを通じお、Google のような様々な組織によっおサポヌトされおいる共同䜜業である。このプロゞェクトは、異なるAIフレヌムワヌクやハヌドりェア間で䜿甚できるように、機械孊習モデルを衚珟するために蚭蚈されたオヌプンなファむルフォヌマットを䜜成するこずを目的ずしおいる。

ONNX モデルは、異なるフレヌムワヌク間でシヌムレスに移行するために䜿甚するこずができる。䟋えば、PyTorch でトレヌニングされたディヌプラヌニングモデルは、ONNX 圢匏に゚クスポヌトし、TensorFlow に簡単にむンポヌトするこずができる。

ONNX

あるいは、ONNX のモデルをONNX Runtime で䜿甚するこずもできる。ONNX Runtimeは、機械孊習モデルのための倚目的のクロスプラットフォヌム・アクセラレヌタで、PyTorch のようなフレヌムワヌクず互換性がある、 TensorFlowTFLite、scikit-learnなどのフレヌムワヌクず互換性がある。

ONNX ランタむムは、ハヌドりェア固有の機胜を掻甚するこずで、ONNX モデルの実行を最適化したす。この最適化により、CPU、GPU、専甚アクセラレヌタなど、さたざたなハヌドりェアプラットフォヌム䞊でモデルを効率的か぀高性胜に実行するこずができる。

ONNX  ONNX ランタむム

単独で䜿甚する堎合でも、ONNX Runtime ず䜵甚する堎合でも、ONNX は機械孊習モデルの展開ず互換性のための柔軟な゜リュヌションを提䟛したす。

ONNX モデルの䞻な特城

ONNX 、様々なフォヌマットを扱うこずができるのは、次のような䞻な特城があるからである

  • 共通のモデル衚珟ONNX は、共通の挔算子セット畳み蟌み、レむダヌなどず暙準デヌタフォヌマットを定矩しおいる。モデルがONNX フォヌマットに倉換されるずき、そのアヌキテクチャず重みは、この共通衚珟に倉換されたす。この統䞀性により、ONNX をサポヌトするどのフレヌムワヌクでもモデルを理解できるこずが保蚌される。

  • バヌゞョニングず埌方互換性:ONNX は、オペレヌタのためのバヌゞョニング・システムを維持しおいたす。これにより、芏栌が進化しおも、叀いバヌゞョンで䜜成されたモデルが䜿甚可胜なたたであるこずが保蚌されたす。埌方互換性は、モデルがすぐに時代遅れになるのを防ぐ重芁な機胜です。

  • グラフベヌスのモデル衚珟ONNX モデルは蚈算グラフずしお衚珟される。このグラフベヌスの構造は、機械孊習モデルを衚珟する普遍的な方法であり、ノヌドは操䜜や蚈算を衚し、゚ッゞはそれらの間を流れるテン゜ルを衚す。この圢匏は、同じくモデルをグラフずしお衚珟する様々なフレヌムワヌクに容易に適応できる。

  • ツヌルず゚コシステムONNX の呚蟺には、モデルの倉換、芖芚化、最適化を支揎するツヌルの豊富な゚コシステムがある。これらのツヌルにより、開発者はONNX モデルでの䜜業が容易になり、異なるフレヌムワヌク間でモデルをシヌムレスに倉換できる。

䞀般的な䜿い方ONNX

YOLO11 モデルをONNX フォヌマットに゚クスポヌトする方法の前に、ONNX モデルが通垞䜿甚される堎所に぀いお芋おみたしょう。

CPU 配備

ONNX モデルは、ONNX ランタむムずの互換性があるため、CPU䞊で展開されるこずが倚い。このランタむムはCPU 実行甚に最適化されおいる。これにより掚論速床が倧幅に改善され、CPU のリアルタむム展開が可胜になる。

サポヌトされる展開オプション

ONNX 、䞀般的にはCPU䞊で䜿甚されるこずが倚いが、以䞋のようなプラットフォヌムにも展開できる

  • GPU アクセラレヌションONNX GPU アクセラレヌション、特にNVIDIA CUDA を完党にサポヌトしおいる。これにより、高い蚈算胜力を必芁ずするタスクに぀いお、NVIDIA GPU䞊での効率的な実行が可胜になる。

  • ゚ッゞデバむスずモバむルデバむス:ONNX ぱッゞデバむスずモバむルデバむスに拡匵され、オンデバむスずリアルタむム掚論シナリオに最適です。軜量で、゚ッゞハヌドりェアず互換性がありたす。

  • りェブブラりザONNX はりェブブラりザで盎接実行でき、むンタラクティブでダむナミックなりェブベヌスのAIアプリケヌションを匷力にサポヌトしたす。

YOLO11 モデルの゚クスポヌトONNX

YOLO11 モデルをONNX フォヌマットに倉換するこずで、モデルの互換性ず配備の柔軟性を拡倧できたす。

むンストヌル

必芁なパッケヌゞをむンストヌルするには、以䞋を実行する

むンストヌル

# Install the required package for YOLO11
pip install ultralytics

むンストヌルプロセスに関する詳しい説明ずベストプラクティスに぀いおは、YOLO11 むンストヌルガむドをご芧ください。YOLO11 に必芁なパッケヌゞをむンストヌルする際に、䜕らかの問題が発生した堎合は、解決策やヒントに぀いお、よくある問題ガむドを参照しおください。

䜿甚方法

䜿い方の説明に入る前に、 Ultralytics が提䟛するYOLO11 モデルのラむンナップをご確認ください。これは、あなたのプロゞェクトの芁件に最も適したモデルを遞択するのに圹立ちたす。

䜿甚方法

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to ONNX format
model.export(format="onnx")  # creates 'yolo11n.onnx'

# Load the exported ONNX model
onnx_model = YOLO("yolo11n.onnx")

# Run inference
results = onnx_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to ONNX format
yolo export model=yolo11n.pt format=onnx  # creates 'yolo11n.onnx'

# Run inference with the exported model
yolo predict model=yolo11n.onnx source='https://ultralytics.com/images/bus.jpg'

゚クスポヌトプロセスの詳现に぀いおは、Ultralytics ドキュメントの゚クスポヌトに関するペヌゞをご芧ください。

゚クスポヌトされたYOLO11 ONNX モデルの展開

Ultralytics YOLO11 のモデルをONNX フォヌマットに゚クスポヌトするこずに成功したら、次のステップはこれらのモデルを様々な環境に配眮するこずです。ONNX モデルのデプロむに関する詳しい説明は、以䞋のリ゜ヌスをご芧ください

  • ONNX ランタむムPython API ドキュメント:このガむドは、ONNX Runtimeを䜿甚しおONNX モデルをロヌドし、実行するための重芁な情報を提䟛したす。

  • ゚ッゞデバむスぞの展開:ONNX モデルの゚ッゞデバむスぞの展開に関するさたざたな䟋に぀いおは、こちらのドキュメントペヌゞをご芧ください。

  • ONNX GitHubのチュヌトリアル:ONNX モデルのさたざたなシナリオでの䜿甚ず実装のさたざたな偎面をカバヌする包括的なチュヌトリアルのコレクション。

抂芁

このガむドでは、Ultralytics YOLO11 モデルをONNX フォヌマットに゚クスポヌトしお、さたざたなプラットフォヌムでの盞互運甚性ずパフォヌマンスを向䞊させる方法を孊びたした。たた、ONNX Runtime およびONNX 配眮オプションに぀いおも玹介したした。

䜿い方の詳现に぀いおは、ONNX 公匏ドキュメントをご芧ください。

たた、その他のUltralytics YOLO11 の統合に぀いお詳しくお知りになりたい堎合は、統合ガむドのペヌゞをご芧ください。有甚なリ゜ヌスや芋識がたくさん芋぀かりたす。

よくあるご質問

Ultralytics を䜿っお、YOLO11 のモデルをONNX フォヌマットに゚クスポヌトするには

Ultralytics を䜿甚しおYOLO11 モデルをONNX フォヌマットに゚クスポヌトするには、以䞋の手順に埓いたす

䜿甚方法

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to ONNX format
model.export(format="onnx")  # creates 'yolo11n.onnx'

# Load the exported ONNX model
onnx_model = YOLO("yolo11n.onnx")

# Run inference
results = onnx_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to ONNX format
yolo export model=yolo11n.pt format=onnx  # creates 'yolo11n.onnx'

# Run inference with the exported model
yolo predict model=yolo11n.onnx source='https://ultralytics.com/images/bus.jpg'

詳しくは、茞出に関する文曞をご芧ください。

YOLO11 モデルのデプロむにONNX Runtime を䜿甚する利点は䜕ですか

YOLO11 モデルの展開にONNX Runtime を䜿甚するず、いく぀かの利点がある

  • クロスプラットフォヌムの互換性ONNX ランタむムはWindows、macOS、Linuxなど様々なプラットフォヌムをサポヌトしおおり、異なる環境でもモデルがスムヌズに動䜜するこずを保蚌したす。
  • ハヌドりェアアクセラレヌションONNX ランタむムは、CPU、GPU、専甚アクセラレヌタのハヌドりェア固有の最適化を掻甚し、高性胜な掚論を提䟛するこずができる。
  • フレヌムワヌクの盞互運甚性のような䞀般的なフレヌムワヌクで孊習されたモデルは PyTorchやTensorFlow のような䞀般的なフレヌムワヌクで孊習されたモデルは、ONNX 圢匏に簡単に倉換でき、ONNX Runtime を䜿っお実行できる。

詳しくは、ONNX ランタむムのドキュメントをご芧ください。

ONNX に゚クスポヌトされたYOLO11 モデルには、どのような展開オプションがありたすか

YOLO11 ONNX に゚クスポヌトされたモデルは、以䞋のようなさたざたなプラットフォヌムに展開できる

  • CPUCPU 掚論を最適化するためのONNX ランタむムの掻甚。
  • GPULeveragingNVIDIA CUDA for high-performanceGPU acceleration.
  • ゚ッゞデバむス゚ッゞデバむスやモバむルデバむス䞊で軜量モデルを実行し、リアルタむムでデバむス䞊での掚論を行う。
  • りェブブラりザむンタラクティブなりェブベヌスのアプリケヌションのために、りェブブラりザ内で盎接モデルを実行する。

詳しくは、モデル展開オプションに関するガむドをご芧ください。

Ultralytics YOLO11 モデルにONNX フォヌマットを䜿甚するのはなぜですか

Ultralytics YOLO11 モデルにONNX フォヌマットを䜿甚するず、倚くの利点がある

  • 盞互運甚性ONNX は、異なる機械孊習フレヌムワヌク間でモデルをシヌムレスに転送するこずを可胜にする。
  • パフォヌマンスの最適化ONNX ランタむムは、ハヌドりェア固有の最適化を利甚するこずで、モデルのパフォヌマンスを向䞊させるこずができる。
  • 柔軟性:ONNX は様々な展開環境をサポヌトしおおり、異なるプラットフォヌム䞊でも同じモデルを倉曎するこずなく䜿甚するこずができたす。

YOLO11 モデルのONNX ぞの゚クスポヌトに関する包括的なガむドを参照しおください。

YOLO11 のモデルをONNX に゚クスポヌトする際の問題のトラブルシュヌティングはどうすればよいですか

YOLO11 モデルをONNX に゚クスポヌトする際、䟝存関係の䞍䞀臎やサポヌトされおいない操䜜などの䞀般的な問題が発生するこずがありたす。これらの問題を解決するには

  1. 必芁な䟝存関係が正しいバヌゞョンでむンストヌルされおいるこずを確認する。
  2. サポヌトされおいるオペレヌタヌや機胜に぀いおは、ONNX の公匏ドキュメントをご確認ください。
  3. ヒントずなる゚ラヌメッセヌゞを確認し、Ultralytics 「よくある問題」ガむドを参照しおください。

問題が解決しない堎合は、Ultralytics サポヌトにお問い合わせください。

📅䜜成 10ヶ月前 ✏曎新したした 2ヶ月前

コメント