ONNX どのようにAIモデルの移植性と相互運用性を強化し、多様なプラットフォームでUltralytics YOLO モデルのシームレスな展開を可能にしているかをご覧ください。
Open Neural Network ExchangeONNX)は、機械学習(ML)モデルを次のような方法で表現するために設計されたオープンソースの標準です。 機械学習(ML)モデルを表現するために設計されたオープンソースの標準です。 異なるフレームワークやハードウェア間での移植性を保証する方法で、機械学習(ML)モデルを表現するために設計されたオープンソースの標準です。もともとはMicrosoft フェイスMicrosoft 企業によって開発された。 ONNX 、AIの「ユニバーサル・トランスレーター」としての役割を果たしている。これにより開発者は、次のような1つのエコシステムでモデルを訓練することができる。 エコシステム PyTorchのような別のエコシステムでシームレスに展開することができる。 別のエコシステム TensorFlowや特殊な のような別の推論エンジンにシームレスに導入できる。この相互運用性により 研究環境から本番アプリケーションに移行する際に、ネットワークを再構築したり再トレーニングしたりする必要がなくなる、 大幅な合理化 モデル展開パイプラインを大幅に合理化します。
ONNX 、その中核として、ディープラーニング(DL)と機械学習モデルの構成要素である演算子の共通セットを定義している。 ディープラーニング(DL)および機械学習モデルの構成要素である。 標準ファイル形式を定義している。モデルがONNX変換されると、その計算構造は静的な計算グラフにマッピングされる。 計算グラフにマッピングされる。このグラフでは、ノードは数学的演算(畳み込みや活性化など)を表す。 このグラフでは、ノードは(畳み込みや活性化関数のような)数学的演算を表し、エッジはそれらの間のデータテンソルのフローを表す。
このグラフ表現は標準化されているため、ハードウェア・メーカーはONNXに最適化された実行プロバイダーを構築することができる。
ONNX最適化された実行プロバイダーを構築することができる。つまり、単一の .onnx ファイルを含む多様なハードウェアで加速することができる。
CPU,
GPU (グラフィックス・プロセッシング・ユニット)または
専門的
TPU Tensor 処理ユニット)多くの場合
高性能の ONNX ランタイム.
をご利用のお客様へ ultralytics パッケージを使えば、学習済みモデルをONNX 形式に変換するのは簡単だ。
プロセスである。このライブラリは、ONNX 標準への複雑なレイヤーのマッピングを自動的に処理する。以下のコード
をエクスポートする方法を示します。 YOLO11 モデル
より広範な展開のための準備である。
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to ONNX format
# This creates 'yolo11n.onnx' in the current directory
model.export(format="onnx")
ONNX 柔軟性は、特にコンピュータ・ビジョン(CV)タスクにおいて、最新のAIインフラストラクチャの重要な構成要素となっている。 コンピュータ・ビジョン(CV)タスクには特に重要なコンポーネントです。
ONNX 他のツールとどのように相互作用するかを理解することは、適切な導入戦略を選択するのに役立ちます。
.pt または
Kerasの .h5 トレーニングや保存に最適
モデルの重み を特定のエコシステム内で使用することができる。
しかし、多くの場合、モデルを実行するためには、オリジナルのフレームワークをインストールする必要がある。ONNX モデルを
モデルをトレーニングフレームワークから切り離すことで
エッジAI 完全なトレーニング・ライブラリをインストールすることが
ストレージやメモリの制約により、完全なトレーニングライブラリをインストールすることが現実的でない場合。


