用語集

ONNX (オープン・ニューラルネットワーク・エクスチェンジ)

ONNX 、AIモデルの移植性と相互運用性を強化し、Ultralytics YOLO モデルの多様なプラットフォームへのシームレスな展開を可能にする方法をご覧ください。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

人工知能と機械学習の領域では、最高のツールを活用し、多様な環境にモデルを展開するために、相互運用性が鍵となります。ONNX (Open Neural Network Exchange)は、機械学習モデルを表現するために構築されたオープンなフォーマットであり、AI開発者が単一のフレームワークに縛られることなく、異なるツール間でモデルを移動するプロセスを効率化できる。トレーニングに使用されるフレームワークに関係なく、モデルに統一された表現を提供し、様々な推論エンジン、ハードウェアプラットフォーム、環境でのモデルの展開をよりシンプルにします。

関連性ONNX

ONNX の主な関連性は、AIエコシステムにおける移植性と相互運用性を促進する能力にある。共通の演算子セットと機械学習モデルの標準フォーマットを定義することで、ONNX 。 PyTorchやTensorFlow のような異なる推論エンジンを使って学習したモデルを簡単に転送し、実行することができる。 TensorRTまたは OpenVINO.これは、Ultralytics YOLO モデルを使っている開発者にとって特に有益である。ONNX エクスポートは、クラウドサーバーからエッジデバイスまで、様々なプラットフォームへのモデルの展開を簡素化するからである。Ultralytics は、 形式へのモデルのエクスポートを容易にする。 YOLOv8ONNX 、最適化された推論エンジンを活用し、パフォーマンスの向上とリアルタイム推論の高速化を実現します。

応用例ONNX

ONNXフレームワーク間の互換性があるため、多くのAIアプリケーションで重宝されている。具体例を2つ挙げる:

  • エッジ・デプロイメントエッジデバイスにAIモデルを展開するには、多くの場合、最適化されたパフォーマンスと特定のハードウェアとの互換性が必要です。ONNX 、開発者はPyTorch のような高レベルフレームワークを使用してモデルをトレーニングし、ONNX にエクスポートして、次のような推論エンジンを使用してエッジデバイス上で効率的に実行することができます。 TensorRTNVIDIA Jetsonまたは OpenVINOIntel 。これにより、スマートカメラやロボット工学のようなアプリケーションが、Ultralytics YOLO モデルを使ってリアルタイムで効果的に物体検出タスクを実行できるようになります。
  • クロスプラットフォーム推論:AIソリューションが異なるオペレーティングシステムやハードウェア間で動作する必要があるシナリオでは、ONNX 、一貫したモデル形式を提供します。例えば、医療画像解析アプリケーションは、強力なサーバーでトレーニングされるかもしれないが、病院や診療所の低電力マシンで推論を実行する必要があるかもしれない。ONNX 、多様な環境間で同じモデルのシームレスな移行と実行が可能になり、展開プラットフォームに関係なく、一貫した信頼性の高いパフォーマンスが保証される。

関連概念

ONNX を理解することは、モデル展開と最適化において役割を果たす関連概念を認識することでもある:

  • 推論エンジン:これらは、特定のハードウェア上で機械学習モデルを最適化し、実行するソフトウェアライブラリです。ONNX モデルは、次のような推論エンジンでよく使用されます。 TensorRTOpenVINOなどの推論エンジンと併用されることが多い。
  • モデル輸出:学習済みモデルを、元のフレームワークの形式(例、PyTorch .pt ファイル)をONNX フォーマットに変換する。Ultralytics は、次のような簡単なツールを提供している。 YOLO モデルのエクスポート をONNX やその他のフォーマットに変換する。
  • フレームワークの相互運用性:ONNX は、異なるフレームワーク間でモデルを使用できるようにすることで、フレームワークのロックインという課題に対処している。各フレームワークには強みがあるが、ONNX 、開発者は互換性の障壁なしにAIライフサイクルの各段階に最適なツールを選択できる。

ONNX を採用することで、開発者はAIのワークフローを大幅に簡素化し、デプロイの複雑さを軽減し、幅広いアプリケーションやプラットフォームでモデルが多用途かつ高性能であることを保証できる。

すべて読む