OpenVINO IR への変換#
OpenVINO IR は、OpenVINO で使用される独自のモデル形式であり、通常はサポートされているフレームワークのモデルを変換することによって取得されます:
convert_model()
メソッド:これは PyTorch モデルに適用できる唯一の方法です。
サポートされる形式のリスト:
Python オブジェクト:
torch.nn.Module
torch.jit.ScriptModule
torch.jit.ScriptFunction
torch.export.ExportedProgram
import torchvision import openvino as ov model = torchvision.models.resnet50(weights='DEFAULT') ov_model = ov.convert_model(model) compiled_model = ov.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
import openvino as ov ov_model = ov.convert_model("saved_model.pb") compiled_model = ov.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
import openvino as ov core = ov.Core() ov_model = core.read_model("saved_model.pb") compiled_model = ov.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™ をアプリケーションと統合するを参照してください。
ovc
コマンドライン・ツールを使用して、モデルを IR に変換できます。取得された IR は、read_model()
によって読み取られ、推論できます。
ovc <INPUT_MODEL>.pb
変換の詳細についてはこちらを参照してください。
convert_model()
メソッド:convert_model()
メソッドではより詳細な制御が可能になり、ov.Model
の追加調整ができるようになります。read_model()
メソッドとcompile_model()
メソッドは利便性がありますが、そのような機能はありません。ov.Model
を使用すると、最適化、コンパイル、推論の実行を選択するか、後で使用するためファイルをシリアル化するかを選択できます。サポートされる形式のリスト:
ファイル:
<INPUT_MODEL>.tflite
import openvino as ov ov_model = ov.convert_model("<INPUT_MODEL>.tflite") compiled_model = ov.compile_model(ov_model, "AUTO")
read_model()
メソッド:サポートされる形式のリスト:
ファイル:
<INPUT_MODEL>.tflite
import openvino as ov core = ov.Core() ov_model = core.read_model("<INPUT_MODEL>.tflite") compiled_model = ov.compile_model(ov_model, "AUTO")
compile_model()
メソッド:サポートされる形式のリスト:
ファイル:
<INPUT_MODEL>.tflite
import openvino as ov compiled_model = ov.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
ovc <INPUT_MODEL>.tflite
変換の詳細についてはこちらを参照してください。
convert_model()
メソッド:convert_model()
メソッドではより詳細な制御が可能になり、ov.Model
の追加調整ができるようになります。read_model()
メソッドとcompile_model()
メソッドは利便性がありますが、そのような機能はありません。ov.Model
を使用すると、最適化、コンパイル、推論の実行を選択するか、後で使用するためファイルをシリアル化するかを選択できます。サポートされる形式のリスト:
ファイル:
<INPUT_MODEL>.onnx
import openvino as ov ov_model = ov.convert_model("<INPUT_MODEL>.onnx") compiled_model = ov.compile_model(ov_model, "AUTO")
read_model()
メソッド:サポートされる形式のリスト:
ファイル:
<INPUT_MODEL>.onnx
import openvino as ov core = ov.Core() ov_model = core.read_model("<INPUT_MODEL>.onnx") compiled_model = ov.compile_model(ov_model, "AUTO")
compile_model()
メソッド:サポートされる形式のリスト:
ファイル:
<INPUT_MODEL>.onnx
import openvino as ov compiled_model = ov.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
ovc <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
import openvino as ov ov_model = ov.convert_model("<INPUT_MODEL>.pdmodel") compiled_model = ov.compile_model(ov_model, "AUTO")
read_model()
メソッド:サポートされる形式のリスト:
ファイル:
<INPUT_MODEL>.pdmodel
import openvino as ov core = ov.Core() ov_model = core.read_model("<INPUT_MODEL>.pdmodel") compiled_model = ov.compile_model(ov_model, "AUTO")
compile_model()
メソッド:サポートされる形式のリスト:
ファイル:
<INPUT_MODEL>.pdmodel
import openvino as ov compiled_model = ov.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
ovc <INPUT_MODEL>.pdmodel
変換の詳細についてはこちらを参照してください。
これらは基本的な例です。詳細な変換手順については、 PyTorch、ONNX、TensorFlow、TensorFlow Lite、PaddlePaddle の個別のガイドを参照してください。
変換パラメーターでサポートされているすべての変換オプションのリストを確認できます。
IR 変換の利点#
save_model
を使用してモデルを OpenVINO IR として保存し、必要に応じて read_model
を使用してロードします。これにより、変換ステップを回避できるため、モデルが最初の推論を行う時間を短縮できます。以下は、OpenVINO IR を活用してモデルを一度保存し、それを複数回実行する方法の例です:
# Run once
import openvino as ov
import tensorflow as tf
# 1. TF コードで作成したモデルを変換
model = tf.keras.applications.resnet50.ResNet50(weights="imagenet")
ov_model = ov.convert_model(model)
# 2. モデルを OpenVINO IR として保存
ov.save_model(ov_model, 'model.xml', compress_to_fp16=True) # enabled by default
# 必要に応じて繰り返す
import openvino as ov
# 3. モデルをファイルからロード
core = ov.Core()
ov_model = core.read_model("model.xml")
# 4. モデルをメモリーからコンパイル
compiled_model = ov.compile_model(ov_model)