[従来] サポートされるモデル形式¶
危険
ここで説明されているコードは非推奨になりました。従来のソリューションの適用を避けるため使用しないでください。下位互換性を確保するためにしばらく保持されますが、最新のアプリケーションでは使用してはなりません。
このガイドでは、非推奨となった変換方法について説明します。新しい推奨方法に関するガイドは、サポートされるモデル形式に記載されています。
OpenVINO IR (中間表現) - OpenVINO の独自のデフォルト形式であり、OpenVINO の機能を最大限に活用できます。以下にリストされている他のサポートモデル形式はすべて、推論を可能にするため OpenVINO IR に変換されます。最初の推論の推論のレイテンシーを最小限に抑え、モデルの最適化を実行し、場合によってはドライブ上のスペースを節約するため、モデルをこの形式で保存することを検討してください。
PyTorch、TensorFlow、ONNX、および PaddlePaddle - OpenVINO ランタイム API で直接使用できます。つまり、アプリケーションにインクルードする前に OpenVINO IR として保存する必要はありません。OpenVINO は、パイプラインの一部として、それらを自動的に読み取り、コンパイル、変換できます。
Python API では、これらのオプションは 3 つの個別のメソッドとして提供されます: read_model()
、compile_model()
、および convert_model()
。convert_model()
メソッドを使用すると、形状の設定、モデルの入力タイプまたはレイアウトの変更、モデルの一部の切り取り、入力のフリーズなど、モデルに対して追加の調整を行うことができます。変換プロセスの詳細については、モデル変換ガイドを参照してください。
さまざまなモデル形式でこれらのメソッドを使用するコード例を次に示します。
-
convert_model()
メソッド:これは PyTorch モデルに適用できる唯一の方法です。
サポートされる形式のリスト:
-
Python オブジェクト:
torch.nn.Module
torch.jit.ScriptModule
torch.jit.ScriptFunction
model = torchvision.models.resnet50(weights='DEFAULT') ov_model = convert_model(model) compiled_model = core.compile_model(ov_model, "AUTO")
-
-
convert_model()
メソッド:convert_model()
メソッドではより詳細な制御が可能になり、ov.Model
の追加調整ができるようになります。read_model()
メソッドとcompile_model()
メソッドは利便性がありますが、そのような機能はありません。ov.Model
を使用すると、最適化、コンパイル、推論の実行を選択するか、後で使用するためファイルをシリアル化するかを選択できます。サポートされる形式のリスト:
-
ファイル:
SavedModel -
<SAVED_MODEL_DIRECTORY>
または<INPUT_MODEL>.pb
Checkpoint -
<INFERENCE_GRAPH>.pb
または<INFERENCE_GRAPH>.pbtxt
MetaGraph -
<INPUT_META_GRAPH>.meta
-
Python オブジェクト:
tf.keras.Model
tf.keras.layers.Layer
tf.Module
tf.compat.v1.Graph
tf.compat.v1.GraphDef
tf.function
tf.compat.v1.session
tf.train.checkpoint
ov_model = convert_model("saved_model.pb") compiled_model = core.compile_model(ov_model, "AUTO")
-
-
read_model()
とcompile_model()
メソッド:サポートされる形式のリスト:
-
ファイル:
SavedModel -
<SAVED_MODEL_DIRECTORY>
または<INPUT_MODEL>.pb
Checkpoint -
<INFERENCE_GRAPH>.pb
または<INFERENCE_GRAPH>.pbtxt
MetaGraph -
<INPUT_META_GRAPH>.meta
ov_model = read_model("saved_model.pb") compiled_model = core.compile_model(ov_model, "AUTO")
推論を実行するガイドについては、OpenVINO™ をアプリケーションと統合するを参照してください。
-
-
compile_model()
メソッド:サポートされる形式のリスト:
-
ファイル:
SavedModel -
<SAVED_MODEL_DIRECTORY>
または<INPUT_MODEL>.pb
Checkpoint -
<INFERENCE_GRAPH>.pb
または<INFERENCE_GRAPH>.pbtxt
MetaGraph -
<INPUT_META_GRAPH>.meta
ov::CompiledModel compiled_model = core.compile_model("saved_model.pb", "AUTO");
推論を実行するガイドについては、OpenVINO™ をアプリケーションと統合するを参照してください。
-
-
compile_model()
メソッド:サポートされる形式のリスト:
-
ファイル:
SavedModel -
<SAVED_MODEL_DIRECTORY>
または<INPUT_MODEL>.pb
Checkpoint -
<INFERENCE_GRAPH>.pb
または<INFERENCE_GRAPH>.pbtxt
MetaGraph -
<INPUT_META_GRAPH>.meta
ov_compiled_model_t* compiled_model = NULL; ov_core_compile_model_from_file(core, "saved_model.pb", "AUTO", 0, &compiled_model);
推論を実行するガイドについては、OpenVINO™ をアプリケーションと統合するを参照してください。
-
mo
コマンドライン・ツールを使用して、モデルを IR に変換できます。取得された IR は、read_model()
によって読み取られ、推論できます。
mo --input_model <INPUT_MODEL>.pb
変換の詳細についてはこちらを参照してください
-
convert_model()
メソッド:convert_model()
メソッドではより詳細な制御が可能になり、ov.Model
の追加調整ができるようになります。read_model()
メソッドとcompile_model()
メソッドは利便性がありますが、そのような機能はありません。ov.Model
を使用すると、最適化、コンパイル、推論の実行を選択するか、後で使用するためファイルをシリアル化するかを選択できます。サポートされる形式のリスト:
-
ファイル:
<INPUT_MODEL>.tflite
ov_model = convert_model("<INPUT_MODEL>.tflite") compiled_model = core.compile_model(ov_model, "AUTO")
-
-
read_model()
メソッド:サポートされる形式のリスト:
-
ファイル:
<INPUT_MODEL>.tflite
ov_model = read_model("<INPUT_MODEL>.tflite") compiled_model = core.compile_model(ov_model, "AUTO")
-
-
compile_model()
メソッド:サポートされる形式のリスト:
-
ファイル:
<INPUT_MODEL>.tflite
compiled_model = core.compile_model("<INPUT_MODEL>.tflite", "AUTO")
推論を実行するガイドについては、OpenVINO™ をアプリケーションと統合するを参照してください。
-
-
compile_model()
メソッド:サポートされる形式のリスト:
-
ファイル:
<INPUT_MODEL>.tflite
ov::CompiledModel compiled_model = core.compile_model("<INPUT_MODEL>.tflite", "AUTO");
推論を実行するガイドについては、OpenVINO™ をアプリケーションと統合するを参照してください。
-
-
compile_model()
メソッド:サポートされる形式のリスト:
-
ファイル:
<INPUT_MODEL>.tflite
ov_compiled_model_t* compiled_model = NULL; ov_core_compile_model_from_file(core, "<INPUT_MODEL>.tflite", "AUTO", 0, &compiled_model);
推論を実行するガイドについては、OpenVINO™ をアプリケーションと統合するを参照してください。
-
-
convert_model()
メソッド:mo
コマンドライン・ツールを使用して、モデルを IR に変換できます。取得された IR は、read_model()
によって読み取られ、推論できます。サポートされる形式のリスト:
-
ファイル:
<INPUT_MODEL>.tflite
mo --input_model <INPUT_MODEL>.tflite
変換の詳細についてはこちらを参照してください
-
-
convert_model()
メソッド:convert_model()
メソッドではより詳細な制御が可能になり、ov.Model
の追加調整ができるようになります。read_model()
メソッドとcompile_model()
メソッドは利便性がありますが、そのような機能はありません。ov.Model
を使用すると、最適化、コンパイル、推論の実行を選択するか、後で使用するためファイルをシリアル化するかを選択できます。サポートされる形式のリスト:
-
ファイル:
<INPUT_MODEL>.onnx
ov_model = convert_model("<INPUT_MODEL>.onnx") compiled_model = core.compile_model(ov_model, "AUTO")
-
-
read_model()
メソッド:サポートされる形式のリスト:
-
ファイル:
<INPUT_MODEL>.onnx
ov_model = read_model("<INPUT_MODEL>.onnx") compiled_model = core.compile_model(ov_model, "AUTO")
-
-
compile_model()
メソッド:サポートされる形式のリスト:
-
ファイル:
<INPUT_MODEL>.onnx
compiled_model = core.compile_model("<INPUT_MODEL>.onnx", "AUTO")
推論を実行するガイドについては、OpenVINO™ をアプリケーションと統合するを参照してください。
-
-
compile_model()
メソッド:サポートされる形式のリスト:
-
ファイル:
<INPUT_MODEL>.onnx
ov::CompiledModel compiled_model = core.compile_model("<INPUT_MODEL>.onnx", "AUTO");
推論を実行するガイドについては、OpenVINO™ をアプリケーションと統合するを参照してください。
-
-
compile_model()
メソッド:サポートされる形式のリスト:
-
ファイル:
<INPUT_MODEL>.onnx
ov_compiled_model_t* compiled_model = NULL; ov_core_compile_model_from_file(core, "<INPUT_MODEL>.onnx", "AUTO", 0, &compiled_model);
変換の詳細についてはこちらを参照してください
-
-
convert_model()
メソッド:mo
コマンドライン・ツールを使用して、モデルを IR に変換できます。取得された IR は、read_model()
によって読み取られ、推論できます。サポートされる形式のリスト:
-
ファイル:
<INPUT_MODEL>.onnx
mo --input_model <INPUT_MODEL>.onnx
変換の詳細についてはこちらを参照してください
-
-
convert_model()
メソッド:convert_model()
メソッドではより詳細な制御が可能になり、ov.Model
の追加調整ができるようになります。read_model()
メソッドとcompile_model()
メソッドは利便性がありますが、そのような機能はありません。ov.Model
を使用すると、最適化、コンパイル、推論の実行を選択するか、後で使用するためファイルをシリアル化するかを選択できます。サポートされる形式のリスト:
-
ファイル:
<INPUT_MODEL>.pdmodel
-
Python オブジェクト:
paddle.hapi.model.Model
paddle.fluid.dygraph.layers.Layer
paddle.fluid.executor.Executor
ov_model = convert_model("<INPUT_MODEL>.pdmodel") compiled_model = core.compile_model(ov_model, "AUTO")
-
-
read_model()
メソッド:サポートされる形式のリスト:
-
ファイル:
<INPUT_MODEL>.pdmodel
ov_model = read_model("<INPUT_MODEL>.pdmodel") compiled_model = core.compile_model(ov_model, "AUTO")
-
-
compile_model()
メソッド:サポートされる形式のリスト:
-
ファイル:
<INPUT_MODEL>.pdmodel
compiled_model = core.compile_model("<INPUT_MODEL>.pdmodel", "AUTO")
推論を実行するガイドについては、OpenVINO™ をアプリケーションと統合するを参照してください。
-
-
compile_model()
メソッド:サポートされる形式のリスト:
-
ファイル:
<INPUT_MODEL>.pdmodel
ov::CompiledModel compiled_model = core.compile_model("<INPUT_MODEL>.pdmodel", "AUTO");
推論を実行するガイドについては、OpenVINO™ をアプリケーションと統合するを参照してください。
-
-
compile_model()
メソッド:サポートされる形式のリスト:
-
ファイル:
<INPUT_MODEL>.pdmodel
ov_compiled_model_t* compiled_model = NULL; ov_core_compile_model_from_file(core, "<INPUT_MODEL>.pdmodel", "AUTO", 0, &compiled_model);
推論を実行するガイドについては、OpenVINO™ をアプリケーションと統合するを参照してください。
-
-
convert_model()
メソッド:mo
コマンドライン・ツールを使用して、モデルを IR に変換できます。取得された IR は、read_model()
によって読み取られ、推論できます。サポートされる形式のリスト:
-
ファイル:
<INPUT_MODEL>.pdmodel
mo --input_model <INPUT_MODEL>.pdmodel
変換の詳細についてはこちらを参照してください
-
MXNet、Caffe、Kaldi 形式に対する OpenVINO のサポートは廃止されたため、推論を実行する前にこれらのレガシー形式を OpenVINO IR または ONNX に変換することを、OpenVINO で使用するデフォルトパスとして考慮する必要があります。
注
従来の形式を引き続き使用したい場合は、以前の OpenVINO LTS バージョンとそのドキュメントを参照してください。
OpenVINO 2023 バージョンは、非推奨の OpenVINO 開発者ツールパッケージとともにインストールされる非推奨の MO ツールによって、古い命令の大部分と互換性を維持しています。
OpenVINO 2023.0 は、レガシー形式の MO 変換プロセスを正式にサポートする最後のリリースです。