YOLO Vision 2025にご期待ください!
2025年9月25日
10:00 — 18:00(英国夏時間)
ハイブリッドイベント
Yolo Vision 2024
用語集

ONNX(Open Neural Network Exchange)

ONNXがAIモデルの移植性と相互運用性をどのように向上させ、Ultralytics YOLOモデルを多様なプラットフォームにシームレスに展開できるようにするかをご覧ください。

ONNX(Open Neural Network Exchange)は、機械学習(ML)モデルを表現するためのオープンソース形式です。MicrosoftやFacebookのような企業によって共同開発されたONNXは、ユニバーサルな翻訳機として機能し、開発者が異なるMLフレームワークやツール間でモデルを移動できるようにします。この相互運用性は、モデル開発から本番環境への移行を効率化するために不可欠です。単一のエコシステムに縛られる代わりに、チームはPyTorchのような1つのフレームワークでモデルをトレーニングし、TensorFlowや特殊な推論エンジンのような別のフレームワークを使用して推論のためにそれをデプロイすることができます。例えば、Ultralytics YOLOモデルは、ONNX形式に簡単にエクスポートでき、さまざまなプラットフォームでのデプロイメントに最大限の柔軟性を提供します。

を強化できます。ONNXの仕組み

ONNXは、計算グラフの標準的な定義と、組み込み演算子のリストを提供します。モデルをONNX形式に変換すると、そのアーキテクチャ(レイヤーと数学的演算で構成される)がこの普遍的な標準にマッピングされます。その結果 .onnx ファイルには、ネットワーク構造と学習済みのものが含まれています モデルの重み.

この標準化されたファイルは、ONNX仕様をサポートするツールで読み込むことができます。これには以下が含まれます。

  • 深層学習フレームワーク:PyTorchTensorFlowのようなフレームワークには、ONNXモデルをインポートおよびエクスポートするユーティリティがあります。
  • 推論ランタイムONNX Runtime、IntelのOpenVINO、NVIDIAのTensorRTなどの高性能ランタイムは、CPUGPUなどの特定のハードウェア上でONNXモデルを効率的に実行するように設計されています。
  • クラウドサービスAzure Machine LearningAmazon SageMakerなどの主要なクラウドプラットフォームは、モデルサービングを簡素化するためにONNXを使用しています。

ONNXの現実世界の応用

ONNXの柔軟性により、多くのコンピュータビジョンおよびMLシナリオで非常に価値があります。

  1. エッジデバイスへのAIのデプロイ: 開発者は、NVIDIA GPUを搭載した強力なデスクトップで物体検出モデル(Ultralytics YOLO11など)をトレーニングすることがあります。アプリケーションをエッジデバイスRaspberry Piリテール分析で使用されるスマートカメラなど)で実行するには、モデルをONNXにエクスポートします。その後、ONNX RuntimeやOpenVINOなどのランタイムによって最適化され、元のPyTorch環境を必要とせずに、ターゲットハードウェア上で効率的なパフォーマンスを実現できます。

  2. 多様なアプリケーションへのモデル統合:PythonとTensorFlowを使用して医用画像解析モデルを構築する医療会社を考えてみましょう。病院の既存のソフトウェアインフラストラクチャは、C#と.NETを使用して構築されています。モデルを書き換える代わりに、チームはそれをONNXにエクスポートします。C#アプリケーションは、.NET用ONNX Runtimeを使用して、モデルの機能を直接統合し、開発時間と複雑さを大幅に削減できます。

ONNXと関連概念の比較

ONNXを関連用語と区別することが重要です。

  • フレームワーク固有の形式:PyTorchの .pt など)は、 TensorFlowのSavedModel は、それぞれのフレームワークにネイティブな形式です。ONNXは、これらの形式間の変換や、共通のランタイムを介したデプロイを可能にする仲介役として機能します。 TorchScript は、PyTorchモデルのシリアライズのための別の形式であり、ONNXエクスポートの代替または前段階として使用されることがあります。
  • 推論エンジン/ランタイム:ONNX Runtime、TensorRT、OpenVINOなどのツールは、MLモデルを効率的に実行するように設計されたソフトウェアライブラリです。これらのエンジンの多くはONNXモデルを使用でき、多くの場合、特定のハードウェアターゲットに対して(量子化やグラフ融合などの)最適化をさらに適用します。ONNXは、これらのエンジンに標準化されたモデル入力を提供します。

まとめると、ONNXは、機械学習運用(MLOps)パイプラインにおける柔軟性と相互運用性を確保するための重要な標準であり、開発者がフレームワークの制限に縛られることなく、トレーニングとデプロイメントに最適なツールを選択できるようにします。Ultralytics HUBのようなプラットフォームは、このような形式を活用して、モデル開発から実際のアプリケーションまでの道のりを簡素化します。詳細については、公式のONNX Webサイトにアクセスし、GitHubでプロジェクトを調べてください。

Ultralyticsコミュニティに参加しませんか?

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加
クリップボードにコピーしました