「問題」
ある自動検査工程においてモデルを頻繫に切り替える事例が考えられます。
モデルの読み込み時間を短縮したいニーズが出てきそうです。
「ご相談」
・モデルの読み込み時間を表示できるようにしてほしいです。
・モデルの読み込み時間を短縮する方法があれば教えてください。
「問題」
ある自動検査工程においてモデルを頻繫に切り替える事例が考えられます。
モデルの読み込み時間を短縮したいニーズが出てきそうです。
「ご相談」
・モデルの読み込み時間を表示できるようにしてほしいです。
・モデルの読み込み時間を短縮する方法があれば教えてください。
モデルを切り替え時間はデバイス種類とそのタイミングでのCPU・GPU負荷状態に依存しております。
3つ程度タスクがあるものでも、通常1~4秒程度でモデルのロードが完了されると思います。
一番モデルの読み込み時間に最も影響するのは、「デバイスの種類」なのですが、
一般的に下記順番でモデルロードは早くなります。
MYRIAD = iGPU(Intel) < CPU < GPU(NVIDIA)
デバイスの変更方法はこちらを参照ください。
ご要望いただいた内容を検討するため下記項目を教えていただいてもよろしいでしょうか?
・現在ご使用のPCのスペック情報
(例:CPU Core i-7 80875H 、 GPU Geforce RTX 2080Super)
・目標ロード時間
(例:4タスク構成のモデルで3秒程度)
なお、モデルをロードしなおさなくても良い方法もいくつかありますので参考までに記載させていただきます。
・タスクコネクションで対象種別を識別して自動で切り替える
⇒参考記事:分類(Classification)を利用したシーン認識例
複数モデルを最初からロードしておき動的に切り替える
⇒ランタイムモデルはそれほど容量が多くないため、あらかじめ複数ロードしておき切り替える方法もあります。
補足としまして、モデルのロード時間に関しては、アプリケーション起動後、初回のロードが特に時間がかかります。
ロード時間 [秒]
検証構成
これは、初回のみ GPU の各種初期化処理が内部で実行されることが原因と考えています。
また、モデル読み込み時間の表示については、追加を検討します。ご提案ありがとうございます。
返信が遅れて申し訳ありません。
スペックと目標ロード時間についての情報が分かったので展開します。
・スペック情報
CPU : Intel(R) Core™ i9-9900K CPU @ 3.60GHz
GPU : NVIDIA Quadro RTX 5000
・目標ロード時間
モデルを切り替えるときにSSDからGPUに転送する時間を10秒以内にしたいです。
(PCの環境による処理速度を考慮してモデルサイズを400MB以下にしたいです。)