ディープラーニングモデルパッケージ管理ツール

本節では、ディープラーニングモデルパッケージ管理ツールの使用方法と注意事項について説明します。

概要

ディープラーニングモデルパッケージ管理ツールは、Mech-Visionが提供するツールで、ディープラーニングモデルパッケージの管理、Mech-DLK 2.2.0以降バージョンによってエクスポートされたディープラーニングモデルパッケージ(単体モデルまたは直列モデル)の最適化、実行モード、ハードウェアタイプ、モデル推論の効率、モデルパッケージの状態管理などを行います。また、このツールでは、IPCのGPU使用率監視にも対応可能です。

プロジェクトにディープラーニング関連のステップを使用する場合、まずディープラーニングモデルパッケージをディープラーニングモデルパッケージ管理ツールにインポートしてから、ディープラーニング関連のステップで使用することができます。ディープラーニングモデルパッケージをこのツールにインポートすることで、事前に最適化することが可能です。

Mech-DLK 2.4.1以降、モデルパッケージには、単体モデルと直列モデルの2種類があります。

  • 単体モデルパッケージ:1つのディープラーニングアルゴリズムモジュールのみを搭載したモデルパッケージのことを指します(例:「インスタンスセグメンテーション」モデル)。

  • 直列モデルパッケージ:ディープラーニングアルゴリズムモジュールの複数のモデルを、前のモデルの出力が次のモデルの入力となる直列形式で搭載したモデルパッケージのことを指します。例えば、モデルパッケージに「対象物検出」と「インスタンスセグメンテーション」の2つのモデルがある場合、モデルの推論順序は対象物検出  インスタンスセグメンテーション となり、「対象物検出」の出力は「インスタンスセグメンテーション」の出力になります。「対象物検出」モデルの出力は、「インスタンスセグメンテーション」モデルの入力として使用されます。

画面

このツールを開くには、次のいずれの方法を使用します。

  • メニューバーからディープラーニング  ディープラーニングモデルパッケージ管理ツール をクリックします。

  • プロジェクトで「ディープラーニングモデルパッケージを推論」ステップをクリックして選択し、ステップパラメータでモデルパッケージ管理ツールを開くをクリックします。

以下の表は、ディープラーニングモデルパッケージ管理ツールのオプションを説明するものです。

オプション 説明

キャッシュモデルパッケージ名

インポートされたディープラーニングモデルパッケージの名前を確認できます

モデルを使用するプロジェクト

ディープラーニングモデルパッケージを使用したMech-Visionプロジェクトを確認できます

モデルパッケージのタイプ

「対象物検出(単体モデル)」や「対象物検出+欠陥セグメンテーション(直列モデル)」など、ディープラーニングモデルパッケージのタイプを確認できます

実行モード

モデルパッケージ推論の実行モード(「共有モード」または「パフォーマンスモード」)を選択できます

ハードウェアタイプ

GPU(デフォルト)、GPU(最適化)、CPUなど、モデルパッケージ推論に使用するハードウェアのタイプを確認できます

モデル推論の効率

モデル推論の効率を設定できます

モデルパッケージの状態

「最適化中」、「使用可能」や「最適化失敗」など、モデルパッケージの状態を確認できます

実行モード

  • 共有モード:このオプションを選択すると、複数のステップが同じディープラーニングモデルパッケージを使用し、前の推論が完了してから次の推論を行い、より多くの実行時リソースを節約することができます。

  • パフォーマンスモード:このオプションを選択すると、複数のステップが同じディープラーニングモデルパッケージを使用し、並行して推論します。実行速度を上げることができますが、より多くの実行時リソースを消費します。

ハードウェアタイプ

  • CPU:ディープラーニングモデルパッケージの推論にCPUを使用すると、GPUと比較して推論時間が長くなり、認識精度が低下します。

  • GPU(デフォルト):このオプションを選択すると、ハードウェアタイプに応じてディープラーニングモデルパッケージを最適化する必要はなく、ディープラーニングモデルパッケージの推論が高速化されることはありません。

  • GPU(最適化):このオプションを選択すると、モデルパッケージはハードウェアタイプに応じて最適化されます。最適化は1回だけ実行する必要があり、5―15分かかります。最適化後、モデルパッケージの推論時間が短縮されます。

使用ガイド

以下では、ディープラーニングモデルパッケージ管理ツールでよく使われる操作を説明します。

ディープラーニングモデルパッケージをインポート

  1. ディープラーニングモデルパッケージ管理ツールを開き、画面の左上隅にあるインポートをクリックします。

  2. 表示されるファイル選択画面からインポートするディープラーニングモデルパッケージを選択して開くをクリックすると、選択したモデルパッケージがディープラーニングモデルパッケージ管理ツールのリストに表示されます。これで、ディープラーニングモデルパッケージのインポートは完了しました。

ディープラーニングモデルパッケージをインポートする場合、GPUドライバーの最低必要バージョンは472.50(バージョン500以上のGPUドライバーは推奨されておらず、ディープラーニングステップの実行時間が変動する可能性があります)、最低必要CPUはインテル第6世代Coreとなります。ハードウェアの条件を満たさない場合、ディープラーニングモデルパッケージのインポートに失敗します。

ディープラーニングのステップでディープラーニングモデルパッケージを選択

ディープラーニングモデルパッケージをインポートした後、「ディープラーニングモデルパッケージを推論」ステップでディープラーニングモデルパッケージを選択するには、そのパラメータのモデルパッケージ名のドロップダウンリストから、モデルパッケージ推論のためにインポートしたモデルパッケージを選択することができます。

deep learning model management step select model

ディープラーニングモデルパッケージを削除

インポートされたディープラーニングモデルパッケージを削除するには、そのパッケージを選択し、右上にある削除ボタンをクリックします。

deep learning model management log out model

ディープラーニングモデルパッケージは、最適化中または使用中(このモデルパッケージを使用するプロジェクトが実行中)の場合、削除することはできません。

ディープラーニングモデルパッケージ推論の実行モードの切替

ディープラーニングモデルパッケージ推論の実行モードを切り替える必要がある場合、実行モードdeep learning model management icon 1 をクリックし、共有モードまたはパフォーマンスモードを選択します。

deep learning model management select operating mode
  • ディープラーニングモデルパッケージが最適化中または使用中(このモデルパッケージを使用するプロジェクトが実行中)の場合、実行モードを切り替えることはできません。

  • ディープラーニングモデルパッケージが 共有モード である場合は、 ディープラニングモデルパッケージを推論 のステップパラメータで GPU ID を切り替えることはできません。

ディープラーニングモデルパッケージ推論のハードウェアタイプの切替

ディープラーニングモデルパッケージ推論のハードウェアタイプを、GPU(デフォルト)、GPU(最適化)、CPUに切り替えることができます。

ディープラーニングモデルパッケージ管理ツールのハードウェアタイプdeep learning model management icon 1 をクリックし、GPU(デフォルト)GPU(最適化) または CPU を選択します。

deep learning model management select hardware type
  • Mech-DLK 2.4.1によってエクスポートされたモデルパッケージのみ、CPU、GPUの切り替えに対応しています。

  • GPU(デフォルト)ハードウェアタイプは、次のディープラーニングモデルパッケージをインポートした後は使用できません。

    • Mech-DLK 2.2.0によってエクスポートされたインスタンスセグメンテーションとインスタンスセグメンテーションのスーパーモデルパッケージ。

    • Mech-DLKによってエクスポートされた.dlkmtファイルのみを含むディープラーニングモデルパッケージ。

  • ディープラーニングモデルパッケージの最適化状態が最適化中または使用中である場合は、ハードウェアタイプを切り替えることはできません。「使用中」は、このディープラーニングモデルパッケージを使用しているプロジェクトが実行中であることを意味します。

モデル推論の効率設定

Mech-DLK 2.4.1以降バージョンによってエクスポートされたモデルを使用する場合、モデル推論の効率を以下のように設定することができます。

  1. ディープラーニングモデルパッケージをインポートします。

  2. 「モデル推論の効率」の下にある設定ボタンをクリックし、「モデル推論の効率」の設定画面が表示されます。この画面で、「バッチサイズ」と「精度」を設定可能です。

    モデルの実行効率は、「バッチサイズ」と「精度」パラメータによって異なります。

    • バッチサイズ:モデル推論時にニューラルネットワークに一度に投入する画像の数で、1~128の範囲で設定します。この値を大きくするとモデル推論が高速化しますが、より多くのメモリを消費することになります。この値が正しく設定されていない場合、推論が遅くなります。インスタンスセグメンテーションモデルでは、「バッチサイズ」の設定はサポートされておらず、1でなければなりません。

    • 精度(「ハードウェアタイプ」が「GPU最適化」の場合のみ有効):
      FP32:モデルの精度が高いですが、推論速度が遅いです。
      FP16:モデルの精度が低いですが、推論速度が速いです。

      「バッチサイズ」の値は、実際にニューラルネットワークに投入される画像数と一致させることが推奨されます。

      設定された「バッチサイズ」が、実際にニューラルネットワークに投入される画像数よりもはるかに大きい場合、一部のリソースが浪費され、推論が遅くなることがあります。

      例えば、画像数が26枚で「バッチサイズ」が20に設定されている場合、推論は2回で行われ、1回目は20枚の画像をニューラルネットワークに投入し、2回目は6枚の画像をニューラルネットワークに投入します。2回目の推論では、設定された「バッチサイズ」が実際にニューラルネットワークに送信される画像数よりもはるかに大きいため、一部のリソースが浪費され、推論速度が遅くなる原因になります。したがって、リソースを合理的に使用するために、「バッチサイズ」を適切に設定するする必要があります。

注意事項

ディープラーニングモデルパッケージのインポートに失敗

  • ディープラーニングモデルパッケージをインポートした後、同じ名前のディープラーニングモデルパッケージをインポートする場合、2つのモデルの名前が異なるようにディープラーニングモデルパッケージの名前を変更するか、同じ名前のモデルパッケージを削除して、再度インポートする必要があります。

deep learning model management model name 1
  • 同じ内容のディープラーニングモデルパッケージを繰り返しインポートした場合、ディープラーニングモデルパッケージのインポートに失敗しましたのメッセージが表示されます。

deep learning model management model name 2
  • ソフトウェア・ハードウェアの条件を満たさない場合、ディープラーニングモデルパッケージのインポートに失敗します。GPUドライバーの最低バージョンの要件は472.50、CPUの最低要件はインテル第6世代Coreです。

ディープラーニングモデルパッケージの最適化に失敗

下図に示すように、メモリが不足している場合、ディープラーニングモデルパッケージの最適化に失敗することがあります。この問題は、プロンプトウィンドウの解決策に従うことで解決できます。

deep learning model management load model fail 1

互換性に関する注意事項

  • Mech-Vision 1.7.1バージョンでは、Mech-DLK 2.4.1バージョンによってエクスポートされたディープラーニングモデルパッケージも使用できますが、いくつかの互換性問題もあります。Mech-Vision1.7.2バージョン以降とMech-DLK 2.4.1バージョン以降によってエクスポートされたディープラーニングモデルパッケージとの併用が推奨されています。

    • Mech-Visionは直列モデルを使用できません。

    • モデル推論の効率を設定できません。

    • 画像分類の効果が悪くなる可能性があります。

    • モデルパッケージをCPUデバイスでは使用できません。

  • Mech-Vision 1.7.1バージョンで最適化されたモデルパッケージをMech-Vision 1.7.2バージョンに使用する場合、モデルパッケージが「ディープラーニングモデルパッケージを推論」ステップで初めて実行するときに速度が遅くなります。