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 ファイルを含む通常の構造を持ち、元のモデルの重みがすべてコピーされパックされます。

サポートされる ONNX レイヤー

サポートされる標準レイヤーのリストについては、サポートされる操作を参照してください。

関連情報

対話型の Python チュートリアルでその他のモデルの変換例を確認してください。