事前定義された構成ファイルの使用方法

注: 2022.1 以降、提供されているすべての Open Model Zoo 構成ファイルは、OpenVINO™ API 2.0 で動作するように切り替えられました。API 1.0 でモデルを起動するには、追加のアクションが必要になる場合があります。構成の移行ガイドを参照してください。

構造

構成ファイルは検証プロセスを定義します。すべてのモデルが models リストにエントリーを持つ必要があります。各エントリーには、個別の name/span>launchers、および datasets のセクションが含まれている必要があります。

例:

models:
  - name: model_name

    launchers:
      - framework: openvino
        adapter: adapter_name

    datasets:
      - name: dataset_name

また、複数のパーツ (モデル) で構成される複合モデルもあり、精度の測定にはこれらのパーツからパイプラインを構築する必要があります。したがって、評価は一連のモデルを順次実行することによって実行され、モデルを独立して評価することはできません。それぞれの複合モデルには evaluations リストにエントリーが必要です。各エントリーには、個別の namemodule、および module_config が含まれている必要があります。module_config は、network_infolaunchers、および datasets フィールドで構成されている必要があります。このようなモデルにはカスタム・エバリュエーターが使用されます。独自のエバリュエーターまたは既存のエバリュエーターの定義と使用の詳細については、カスタム・エバリュエーター・ガイドを参照してください。

例:

evaluations:
  - name: model_name
    module: name_of_class_with_custom_evaluators
    module_config:
      network_info:
        encoder: {}

        decoder:
          adapter: adapter_name

      launchers:
        - framework: openvino

      datasets:
        - name: dataset_name

場所

各 Open Model Zoo モデルの事前定義された構成ファイル accuracy-check.yml は、モデル・ディレクトリーにあります。

<model_name>.yml ファイルは現在の configs フォルダーにあり、<model_name> モデルの accuracy-check.yml へのリンクです。

例:

<omz_dir>/tools/accuracy_checker/configs/densenet-121-tf.yml は、densenet-121-tf モデルの設定ファイル <omz_dir>/models/public/densenet-121-tf/accuracy-check.yml へのリンクです。

オプション

  1. 構成を実行するには、必要な構成ファイルへのパスを -c, --config コマンドラインに指定します。

  2. 設定ファイルには、モデルと重みへのパスは含まれません。モデルと重みは、-m, --models コマンドライン・オプションで指定されたパス内のモデルの名前によって自動的に検索されます。

  3. 重複を避けるため使用されるデータセット変換パラメーターを含むグローバル構成ファイルがあります。グローバル定義は、データセット名によってランタイムの評価構成とマージされます。global_definitions を使用すると、コマンドライン引数 -d, --definitions を通じてこのファイルへのパスを指定できます。トレーニング後の最適化ツールキットによる量子化で定義ファイルを使用する場合は、環境変数 DEFINITIONS_FILE を使用して定義へのパスを指定する必要があります。

  4. data_source が指定される相対パスは、-s, --source コマンドラインで指定できます。既知のデータセットを使用してモデルを評価するには、検証データセットを含むフォルダーを特定の方法で整理する必要があります。データセットを準備する詳細については、データセットの準備ガイドを参照してください。トレーニング後の最適化ツールキットによる量子化でデータソースを使用する場合は、環境変数 DATA_DIR を使用して、データセットのあるディレクトリーのルートパスを指定する必要があります。

  5. annotationdataset_meta が指定される相対パスは、-a, --annotations コマンドラインで指定します。アノテーションと dataset_meta (必要な場合) は、存在しない場合はアノテーション変換ステップの後にこのディレクトリーに保存され、次回の実行でアノテーション変換をスキップできます。アノテーション変換の詳細については、アノテーション変換ガイドを参照してください。

  6. 一部のモデルには、評価用の追加ファイル (NLP モデルの語彙ファイルなど) があり、通常はモデル属性という名前が付けられます。必要に応じて、モデル固有の属性 (語彙ファイル、マージファイルなど) への相対パスを構成ファイルに指定できます。これらのパス・プリフィクスは、--model_attributes コマンドライン・オプションで渡す必要があります (通常、これはモデル・ディレクトリーです)。

  7. 推論するデバイスを指定するには、-td--target_devices コマンドライン・オプションを使用します。複数のデバイスはスペースで区切ります (例: -td CPU GPU)。

  8. オプションで、構成ファイルに複数のフレームワークが指定されている場合は、-tf--target_framework コマンドライン・オプションを使用して評価用の推論フレームワークを指定できます。それ以外では、オプションが提供されていない場合、評価は構成ファイルに記述されているすべてのフレームワークで起動されます。

使用例

densenet-121-tf モデルの事前定義された構成ファイルを使用してモデルを評価する方法を参照してください。

  • OMZ_ROOT - Open Model Zoo プロジェクトのルート

  • DATASET_DIR - データセットのあるルート・ディレクトリー

  • MODEL_DIR - モデルのあるルート・ディレクトリー

  1. 最初に、データセット準備ガイドに従ってデータセットを準備します

  2. モデル・ダウンローダーを使用して、オンラインソースからオリジナルのモデルファイルをダウンロードします

    omz_downloader --name densenet-121-tf --output_dir MODEL_DIR
    
  3. モデル・コンバーターからモデル・オプティマイザーを使用してモデルを OpenVINO IR 形式に変換します

    omz_converter --name densenet-121-tf --download_dir MODEL_DIR
    
  4. 精度チェッカーを使用して FP32 精度でモデルの評価を実行します

    accuracy_check -c OMZ_ROOT/models/public/densenet-121-tf/accuracy-check.yml -s DATASET_DIR -m MODEL_DIR/public/densenet-121-tf/FP32 -d OMZ_ROOT/tools/accuracy_checker/dataset_definitions.yml -td CPU
    

    同様に、FP16 精度でモデルの評価を実行できます

    accuracy_check -c OMZ_ROOT/models/public/densenet-121-tf/accuracy-check.yml -s DATASET_DIR -m MODEL_DIR/public/densenet-121-tf/FP16 -d OMZ_ROOT/tools/accuracy_checker/dataset_definitions.yml -td GPU