情報詳細Q:AIアクセラレータの使用手順を教えてください。A:TensorRTを例に、AI Accelerator Interfaceを使用した最適化に最低限必要な手順を記載します。 ******************************学習後モデルの最適化****************************** * TensorRTデバイスの取得 query_available_dl_devices ('ai_accelerator_interface', 'tensorrt', DLDeviceHandles) * デバイス情報の取得 get_dl_device_param (DLDeviceHandles, 'optimize_for_inference_params', GenParamValue) * AI2インタフェースを介したデバイスでの推論のモデルを最適化 (このオペレータから、float32またはfloat16の設定を実施) * ※int8の場合はdlsampleを渡す必要があります optimize_dl_model_for_inference (DLModelHandle, DLDeviceHandles[0], 'float16', [], GenParamValue, DLModelHandleConverted, ConversionReport) * TensorRTが適用されたモデルの保存 * tensorrtのoptimize_dl_model_for_inferenceは時間のかかる処理であるため、最適化済みネットワークをファイル出力することを推奨します write_dl_model (DLModelHandleConverted, 'dl_model_tensorRT.hdl') ******************************推論時****************************** * 推論時に設定(※apply_dl_model実行の前に初期化設定として1度だけ設定ください。) read_dl_model ('dl_model_tensorRT.hdl', DLModelHandleConverted) query_available_dl_devices ('ai_accelerator_interface', 'tensorrt', DLDeviceHandles) set_dl_model_param (DLModelHandleConverted, 'device', DLDeviceHandles) * 推論 apply_dl_model (DLModelHandleConverted, DLSample, [], DLResult) より詳細な内容は添付のサンプルプログラムをご確認ください。また、学習にDeep Learning Tool (DLT) を使用している場合、前半のモデル最適化はDLTで実行できます。次の手順に従ってください (画像が小さい場合、右クリックして別タブで開いてください)。1. 判定タブでOpenVINOやTensorRTと記載があるデバイスを選択し最適化を実施※精度は基本的にfloat16か、選択できるのであればbfloat16を推奨 (float32より高速で、int8のような量子化・較正に伴う精度低下が無いため)※推論時のバッチサイズの意味合い・効果はHALCONディープラーニング機能の並列化・高速化についてを参照2. 最適化が完了すると「利用可能」と表示される (TensorRTデバイスの場合、数十秒、場合によっては数分要することがあります)3. エクスポートタブへ移動し、「AI2インターフェース用に最適化」にチェックを入れ、最適化済みのモデルを選択してhdlファイルとしてエクスポート4. 以降はHALCONでの推論になるため、上記サンプルプログラムの「推論時」に読み込むファイルを3.のファイルに変更する※MERLICの場合、最適化済みファイルを読み込む設定にすれば、正しく実行できる環境であればデバイス選択などは自動的に行われます。添付ファイルai2_minimum_workflow.hdevタイトルAI Accelerator Interfaceを使用したネットワークの最適化手順URL 名000007525公開状況公開済み検証状況公開済み