[従来] サポートされるモデル形式

危険

ここで説明されているコードは非推奨になりました。従来のソリューションの適用を避けるため使用しないでください。下位互換性を確保するためにしばらく保持されますが、最新のアプリケーションでは使用してはなりません

このガイドでは、非推奨となった変換方法について説明します。新しい推奨方法に関するガイドは、サポートされるモデル形式に記載されています。

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 変換プロセスを正式にサポートする最後のリリースです。