ONNX 、AIモデルの移植性と相互運用性を強化し、Ultralytics YOLO モデルの多様なプラットフォームへのシームレスな展開を可能にする方法をご覧ください。
急速に進化する人工知能(AI)や機械学習(ML)の分野では、異なるツールやプラットフォーム間でモデルを効率的に移動することが極めて重要です。ONNX Neural Network Exchange)は、AIモデルのために特別に設計されたオープンソースフォーマットを提供することで、この課題に取り組んでいます。ONNXは普遍的なトランスレーターとして機能し、開発者は次のような1つのフレームワークでモデルをトレーニングできる。 PyTorchなどの別のフレームワークや推論エンジンを使ってモデルをデプロイすることができる。 TensorFlowやONNX Runtimeのような特殊なランタイムを使用して展開することができる。この相互運用性により、研究から生産までの経路が合理化され、AIエコシステム内でのコラボレーションと柔軟性が促進される。ONNX 当初、Facebook AI Researchと Microsoft Researchによって開発され、現在では盛んなコミュニティ・プロジェクトとなっている。
ONNX コアバリューは、次のことを推進することにある。 移植性と相互運用性 AI開発ライフサイクルの中で開発者は、特定のフレームワークのエコシステムに縛られるのではなく、ONNX 活用することで、異なるツールやハードウェアプラットフォーム間でモデルを自由に移動させることができる。共通の演算子セット(の構成要素)を定義することで ニューラルネットワーク)と標準ファイル形式(.onnx
)、ONNX モデルの構造と学習されたパラメーター(ウェイト)が一貫して表現されている。これは Ultralytics YOLO Ultralytics 、次のような簡単な方法を提供している。 モデルをONNX 形式にエクスポート.このエクスポート機能により、ユーザーは次のようなモデルを作成することができます。 YOLOv8 または最新の YOLO11 そして、さまざまなハードウェアやソフトウェア・プラットフォーム上に展開し、多くの場合、最適化された 推論エンジン パフォーマンスと ハードウェアアクセラレーション.
ONNX 、いくつかの重要な技術的特徴によって相互運用性を実現している:
ONNX 、模範的なトレーニング環境と多様な配備対象との間の重要な橋渡し役を果たしている。具体例を2つ紹介しよう:
ONNX 関連用語と区別することは重要である:
.pt
/.pth
または TensorFlow SavedModel は、それぞれのフレームワークにネイティブです。ONNX 仲介役として機能し、これらのフォーマット間の変換や、共通のランタイムを介したデプロイを可能にします。 TorchScript はPyTorch モデルシリアライズの別のフォーマットで、ONNX エクスポートの代替または前段階として使われることがあります。要約すると、ONNX 機械学習オペレーション(MLOps)パイプラインの柔軟性と相互運用性を確保するために不可欠な標準であり、開発者がフレームワークの制約に縛られることなく、トレーニングとデプロイメントに最適なツールを選択できるようにする。Ultralytics HUBのようなプラットフォームは、このようなフォーマットを活用することで、モデル開発から実世界への応用までの道のりを簡素化します。