情報詳細Q. ディープラーニング処理で初回実行に時間がかかります。set_dl_model_param(*, 'runtime_init', 'immediately')を使用していても、初回のapply_dl_model (またはgen_dl_model_heatmapやapply_deep_ocrなど) の実行に時間がかかります。よくHALCONでは初回メモリ割り当てやキャッシュの関係で検査ループ前に1度空回しすることを推奨されていますが、同様にapply_dl_modelは必須ですか?A.結論から言って、ディープラーニング (DL) 処理での速度安定化には、apply_dl_model等による空回しが必要です。あるディープラーニングモデルを使用したとき、次のような検証結果が得られています。 runtime_initなし:1st 1700ms、2nd119msruntime_initあり:1st 406ms、2nd 116msruntime_init+apply_dl_model:1st 117ms、2nd 116ms runtime_init はGPUの初期化を行うものの、HALCONライブラリ側の初期化を行わないためこういった挙動が発生します。runtime_init と apply_dl_model の両方を実行して以降の apply_dl_model の処理時間は安定します。初回のapply_dl_modelでわずかにVRAM使用量が増加していることも確認されています。検査ループにおいて安定した実行時間で処理を終えるために、ループ前にオペレータを空回しすることを推奨します。※ gen_dl_model_heatmap を使用する場合は、 gen_dl_model_heatmap を空回ししてください添付プログラムでは簡単に空回しができるプロシージャとその使い方を示しています。添付ファイルapply_dl_modelの空回し.zipタイトルディープラーニング処理で初回実行に時間がかかるURL 名000008462公開状況公開済み検証状況未検証