情報詳細Q.下記の手順でTensorRTを使用したいのですが7742 'CNN: Runtime unsupported on this machine'が発生して使用できません。TensorRTへのoptimize_dl_model_for_inferenceは十数秒かかるので毎回実施することは回避したいです。 optimize_dl_model_for_inferenceを実施DLModelHandleConvertedをwrite_dl_modelで出力別のプログラムでDLModelHandleConvertedをread_dl_modelで読み込みapply_dl_modelで使用7742エラー A.ローカルに保存された最適化済みモデルを読み込む場合は読み込み後にset_dl_model_param(*,'device',*)が必要です。optimize_dl_model_for_inference後のモデルを直接利用する場合と、ローカルに保存された最適化済みモデルを読み込む場合とでは扱いが異なります。下記にそれぞれの場合におけるサンプルコードを示します。①optimize_dl_model_for_inference後のモデルを直接利用する場合 * TensorRTデバイスの取得 query_available_dl_devices (['ai_accelerator_interface'], ['tensorrt'], DeviceTensorRT) get_dl_device_param (DeviceTensorRT, 'cast_precisions', Precisions) get_dl_device_param (DeviceTensorRT, 'optimize_for_inference_params', OptimizeForInferenceParams) * 最適化の実施(十数秒) optimize_dl_model_for_inference (DLModelHandle, DeviceTensorRT, 'float16', [], OptimizeForInferenceParams, DLModelHandleConverted, ConversionReport) * DLの実施 apply_dl_model (DLModelHandleConverted, DictHandle, [], DLResult) optimize_dl_model_for_inferenceを実施すると、最適化済みモデルは自動的にTensorRTデバイスに転送されます。この場合は、apply_dl_modelを直後に呼び出すことが可能です。一方で、optimize_dl_model_for_inference後に set_dl_model_param (DLModelHandleConverted, 'device', DeviceTensorRT) を使用すると4320 'Error occurred in an AI Accelerator Interface'が発生します。set_system ('do_low_error', 'true')を事前に実行していると、拡張エラー"Attempt to move a model to device more than once."が取得されます。これは、既にTensorRTデバイスにモデルが転送済みであるにもかかわらず、再度別のデバイスに転送しようとしたために発生するエラーです。②ローカルに保存された最適化済みモデルを読み込む場合 * === スクリプト1 === * * TensorRTデバイスの取得 query_available_dl_devices (['ai_accelerator_interface'], ['tensorrt'], DeviceTensorRT) get_dl_device_param (DeviceTensorRT, 'cast_precisions', Precisions) get_dl_device_param (DeviceTensorRT, 'optimize_for_inference_params', OptimizeForInferenceParams) * 最適化の実施(十数秒) optimize_dl_model_for_inference (DLModelHandle, DeviceTensorRT, 'float16', [], OptimizeForInferenceParams, DLModelHandleConverted, ConversionReport) *出力 write_dl_model (DLModelHandleConverted, 'OptimizedModel.hdl') * === スクリプト2 === * * モデル読み込み read_dl_model ('OptimizedModel.hdl', DLModelHandleConverted) * TensorRTデバイスの取得 query_available_dl_devices (['ai_accelerator_interface'], ['tensorrt'], DeviceTensorRT) * TensorRTデバイスに転送 set_dl_model_param (DLModelHandleConverted, 'device', DeviceTensorRT) * DLの実施 apply_dl_model (DLModelHandleConverted, DictHandle, [], DLResult) ①の場合と異なり、read_dl_modelで最適化済みモデルを読み込んだ場合はset_dl_model_param (*, 'device', *)を用いてデバイスを明示的に指定する必要があります。また、最適化時に使用したデバイスと転送先のデバイスは同一でなければなりません。 添付ファイルタイトル最適化済みのDLモデル読み込んで実行するときにエラー #7742 が発生するURL 名000008062公開状況公開済み検証状況公開済み