ONNX モデルから変換¶
ONNX の概要¶
ONNX は、AI 開発者が異なるフレームワーク間でモデルを簡単に転送することを可能にするディープラーニング・モデルの表現形式です。
注
ONNX モデルは、最初に OpenVINO IR を準備しなくても、OpenVINO ランタイム API による openvino.Core.read_model
メソッドまたは openvino.Core.compile_model
メソッドによってロードできます。詳細については、推論の例を参照してください。モデルの読み込みレイテンシーが推論アプリケーションにとって重要である場合は、引き続き openvino.convert_model
を使用することを推奨します。
ONNX モデルから変換¶
このページでは、ONNX 形式から OpenVINO IR 形式へのモデル変換手順を説明します。
モデルを変換するには、ONNX モデルをパブリック・リポジトリーから直接ダウンロードするか、ONNX 形式へのエクスポートをサポートするフレームワークから変換する必要があります。
ONNX モデルを変換するには、入力モデル .onnx
ファイルへのパスを引数として変換を行います。
import openvino as ov
ov.convert_model('your_model_file.onnx')
ovc your_model_file.onnx
外部データファイル¶
モデルサイズが Protobuf で許可されている 2GB を超える場合、ONNX モデルは複数のファイルで構成される場合があります。ONNX の記事によると、モデルは単一のファイルではなく、拡張子 .onnx
を持つ 1 つのファイルと、外部データを含む複数の個別のファイルとして表されます。これらのデータファイルは、メインの .onnx
ファイルと同じディレクトリーまたは別のディレクトリーに配置されます。
OpenVINO モデル変換 API は、外部データ表現を使用した ONNX モデルをサポートします。この場合、拡張子が .onnx
のメインファイルを ovc
または openvino.convert_model
のパラメーターとして渡すだけで済みます。他のファイルは、モデル変換中に自動的に検索されてロードされます。変換後の OpenVINO モデルは、ファイル内で IR として表され、単一の .xml
ファイルと単一の .bin
ファイルを含む通常の構造を持ち、元のモデルの重みがすべてコピーされパックされます。
関連情報¶
対話型の Python チュートリアルでその他のモデルの変換例を確認してください。