ディープラーニングモデルパッケージ管理ツール¶
本節では、ディープラーニングモデルパッケージ管理ツールの使用方法と注意事項について説明します。
概要¶
ディープラーニングモデルパッケージ管理ツールは、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分かかります。最適化後、モデルパッケージの推論時間が短縮されます。
操作ガイド¶
以下では、ディープラーニングモデルパッケージ管理ツールでよく使われる操作を説明します。
ディープラーニングモデルパッケージをインポート¶
ディープラーニングモデルパッケージ管理ツールを開き、画面の左上隅にある インポート をクリックします。
表示されるファイル選択画面からインポートするディープラーニングモデルパッケージを選択して「開く」をクリックすると、選択したモデルパッケージがディープラーニングモデルパッケージ管理ツールのリストに表示されます。これで、ディープラーニングモデルパッケージのインポートは完了しました。
注意
ディープラーニングモデルパッケージをインポートする場合、GPUドライバーの最低必要バージョンは472.50(バージョン500以上のGPUドライバーは推奨されておらず、ディープラーニングステップの実行時間が変動する可能性があります)、最低必要CPUはインテル第6世代Coreとなります。ハードウェアの条件を満たさない場合、ディープラーニングモデルパッケージのインポートに失敗します。
ディープラーニングのステップでディープラーニングモデルパッケージを選択¶
ディープラーニングモデルパッケージをインポートした後、「ディープラーニングモデルパッケージを推論」ステップでディープラーニングモデルパッケージを選択するには、そのパラメータの モデルパッケージ名 ドロップダウンリストから、モデルパッケージ推論のためにインポートしたモデルパッケージを選択することができます。
ディープラーニングモデルパッケージを削除¶
インポートされたディープラーニングモデルパッケージを削除するには、そのパッケージを選択し、右上にある 削除 ボタンをクリックします。
注意
ディープラーニングモデルパッケージは、 最適化中 または 使用中(このモデルパッケージを使用するプロジェクトが実行中) の場合、削除することはできません。
ディープラーニングモデルパッケージ推論の実行モードの切替¶
ディープラーニングモデルパッケージ推論の実行モードを切り替える必要がある場合、 実行モード で をクリックし、 共有モード または パフォーマンスモード を選択します。
注意
ディープラーニングモデルパッケージが 最適化中 または 使用中(このモデルパッケージを使用するプロジェクトが実行中) の場合、 実行モード を切り替えることはできません。
ディープラーニングモデルパッケージが 共有モード である場合は、 ディープラーニングモデルパッケージを推論 のステップパラメータで GPU ID を切り替えることはできません。
ディープラーニングモデルパッケージ推論のハードウェアタイプの切替¶
ディープラーニングモデルパッケージ推論のハードウェアタイプを、GPU(デフォルト)、GPU(最適化)、CPUに切り替えることができます。
ディープラーニングモデルパッケージ管理ツールの ハードウェアタイプ の をクリックし、 GPU(ディフォルト) または GPU(最適化) を選択します。
注意
Mech-DLK 2.4.1以降バージョンによってエクスポートされたモデルパッケージのみ、CPU、GPUの切り替えに対応しています。
GPU(デフォルト) ハードウェアタイプは、次のディープラーニングモデルパッケージをインポートした後は使用できません。
Mech-DLK 2.2.0によってエクスポートされたインスタンスセグメンテーションとインスタンスセグメンテーションのスーパーモデルパッケージ。
Mech-DLKによってエクスポートされた.dlkmtファイルのみを含むディープラーニングモデルパッケージ。
ディープラーニングモデルパッケージの最適化状態が 最適化中 または 使用中 である場合は、 ハードウェアタイプ を切り替えることはできません。 使用中 は、このディープラーニングモデルパッケージを使用しているプロジェクトが実行中であることを意味します。
モデル推論の効率設定¶
Mech-DLK 2.4.1以降バージョンによってエクスポートされたモデルを使用する場合、モデル推論の効率を以下のように設定することができます。
ディープラーニングモデルパッケージをインポートします。
「モデル推論の効率」の下にある 設定 ボタンをクリックし、「モデル推論の効率」の設定画面が表示されます。この画面で、「バッチサイズ」と「精度」を設定可能です。
モデルの実行効率は、「バッチサイズ」と「精度」パラメータによって異なります。
バッチサイズ:モデル推論時にニューラルネットワークに一度に投入する画像の数で、1~128の範囲で設定します。この値を大きくするとモデル推論が高速化しますが、より多くのメモリを消費することになります。この値が正しく設定されていない場合、推論が遅くなります。インスタンスセグメンテーションモデルでは、「バッチサイズ」の設定はサポートされておらず、1でなければなりません。
精度(「ハードウェアタイプ」が「GPU最適化」の場合のみ有効): FP32:モデルの精度が高いですが、推論速度が遅いです。 FP16:モデルの精度が低いですが、推論速度が速いです。
ヒント
「バッチサイズ」の値は、実際にニューラルネットワークに投入される画像数と一致させることが推奨されます。
設定された「バッチサイズ」が、実際にニューラルネットワークに投入される画像数よりもはるかに大きい場合、一部のリソースが浪費され、推論が遅くなることがあります。
例えば、画像数が26枚で「バッチサイズ」が20に設定されている場合、推論は2回で行われ、1回目は20枚の画像をニューラルネットワークに投入し、2回目は6枚の画像をニューラルネットワークに投入します。2回目の推論では、設定された「バッチサイズ」が実際にニューラルネットワークに送信される画像数よりもはるかに大きいため、一部のリソースが浪費され、推論速度が遅くなる原因になります。したがって、リソースを合理的に使用するために、「バッチサイズ」を適切に設定するする必要があります。
注意事項¶
ディープラーニングモデルパッケージのインポートに失敗¶
ディープラーニングモデルパッケージをインポートした後、同じ名前のディープラーニングモデルパッケージをインポートする場合、2つのモデルの名前が異なるように ディープラーニングモデルパッケージの名前を変更 するか、 同じ名前のモデルパッケージを削除 して、再度インポートする必要があります。
同じ内容のディープラーニングモデルパッケージを繰り返しインポートした場合、 ディープラーニングモデルパッケージのインポートに失敗しました のメッセージが表示されます。
ソフトウェア・ハードウェアの条件を満たさない場合、ディープラーニングモデルパッケージのインポートに失敗します。GPUドライバーの最低バージョンの要件は472.50、CPUの最低要件はインテル第6世代Coreです。GPUドライバーのバージョンが500以上の場合、モデルパッケージの推論時間が変動します。
ディープラーニングモデルパッケージの最適化に失敗¶
下図に示すように、メモリが不足している場合、ディープラーニングモデルパッケージの最適化に失敗することがあります。この問題は、プロンプトウィンドウの解決策に従うことで解決できます。
注意
直列モデルの場合、いずれかのモデルが最適化に失敗すると、直列モデル全体の最適化が失敗し、モデルパッケージを再度最適化する必要があります。
互換性に関する注意事項¶
Mech-Vision 1.7.1バージョンでは、Mech-DLK 2.4.1以降バージョンによってエクスポートされたディープラーニングモデルパッケージを使用できますが、以下の互換性の問題があるため、Mech-Vision 1.7.2バージョンとMech-DLK 2.4.1以降バージョンによってエクスポートされたディープラーニングモデルパッケージを組み合わせて使用することを推奨しています。
Mech-Visionは直列モデルを使用できません。
モデル推論の効率を設定できません。
画像分類の効果が悪くなる可能性があります。
モデルパッケージをCPUデバイスでは使用できません。
Mech-Vision 1.7.1バージョンで最適化されたモデルパッケージをMech-Vision 1.7.2バージョンに使用する場合、モデルパッケージが「ディープラーニングモデルパッケージを推論」ステップで初めて実行するときに速度が遅くなります。
2.4.1のバージョンのMech-DLKでエクスポートされた対象物検出モデルパッケージの「推論目標の最大数」が1で、ディープラーニングモデルパッケージ管理ツールのハードウェアタイプがCPUの場合、モデルパッケージの推論速度が非常に遅くなるため、「推論目標の最大数」を1以上にすることを推奨します。