This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译 ONNX 模型时出错

Guru**** 2587345 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1207355/error-in-compiling-onnx-model

您好!

我试图使用 TIDL 工具08_05_00_00编译 ONNX 模型(请参阅附加的结构)、但出现以下错误:

tidl_tools_path                                =/opt/tidl_tools
项目文件夹                               =/data/michlit/work_data/tidl_convert/compiled_models/fvp_standalone_shared_conv_opset_11_08_05_rnd_1_iter_3
tidl_tensor_bits                               = 16
DEBUG_LEVEL                                    = 3.
NUM_TIdl_subgraphs =                             16
tidl_denylist                                  =
tidl_denylist_layer_name                       =
tidl_denylist_layer_type                        =
型号类型                                     =  
tidl_calibration_accuration_level                = 7
tidl_calibration_options:num_FRAMES_CALIBRATION = 1
tidl_calibration_options:bias_calibration_iterations = 3
Mixed_precision_FACTOR =-1.000000
model_group_id = 0
power_of_2_quantization                        = 2
ENABLE_HIGH_Resolution_optimization            = 0
pre_batchnorm_fold                             = 1
add_data_convert_ops                         = 0
output_feature_16bit_names_list                =  
m_params_16bit_names_list                      =  
reserved_compile_constraints_flag              = 1601
TI_INTERRUPT_RESERVTED_1                         =

 **** 警告:未识别为物体检测网络的网络:(1)如果网络不是物体检测网络,则忽略(2)如果网络是物体检测网络,请将"model_type":"OD"指定为 OSRT 编译选项的一部分****

支持的 TIDL 层类型       -- Identity -- Identity_27
支持的 TIDL 层类型---        MaxCool --/layers.0/layers.0.0/MaxPool
支持的 TIDL 层类型---           Conv --/layers.0/layers.0.1/Conv
支持的 TIDL 层类型---           Relu --/layers.0/layers.0.3/Relu
支持的 TIDL 层类型           --- Conv --/layers.0/layers.0.4/Conv
支持的 TIDL 层类型---           Relu --/layers.0/layers.0.6/Relu
支持的 TIDL 层类型           -- Conv --/layers.0/layers.0.4_1/Conv
支持的 TIDL 层类型---           Relu --/layers.0/layers.0.9/Relu
不支持(TIDL 检查) TIDL 层类型--        MaxPool
支持的 TIDL 层类型---           Conv --/layers.1/layers.1.1/Conv
支持的 TIDL 层类型---           Relu --/layers.1/layers.1.3/Relu
支持的 TIDL 层类型---           Conv --/layers.1/layers.1.4/Conv
支持的 TIDL 层类型---           Relu --/layers.1/layers.1.6/Relu
支持的 TIDL 层类型           --- Conv --/layers.1/layers.1.4_1/Conv
支持的 TIDL 层类型---           Relu --/layers.1/layers.1.9/Relu
不支持(TIDL 检查) TIDL 层类型--        MaxPool
支持的 TIDL 层类型---           Conv --/layers.2/layers.2.1/Conv
支持的 TIDL 层类型---           Relu --/layers.2/layers.2.3/Relu
支持的 TIDL 层类型---           Conv --/layers.2/layers.2.4/Conv
支持的 TIDL 层类型---           Relu --/layers.2/layers.2.6/Relu
支持的 TIDL 层类型---           Conv --/layers.2/layers.2.4_1/Conv
支持的 TIDL 层类型---           Relu --/layers.2/layers.2.9/Relu

创建的初步子图= 3.
最终创建的子图数为:3、-卸载节点- 20、总节点- 22
ALLOWLISTING :池图层:输入尺寸的数目必须为4 -- file info - tidl_import_common_model_check.cpp , TIDL_checkPoolingTensorProperties , 459.  
ALLOWLISTING :池图层:输入尺寸的数目必须为4 -- file info - tidl_import_common_model_check.cpp , TIDL_checkPoolingTensorProperties , 459.  
运行运行时图形-/opt/tidl_tools/tidl_graphVisualizer_runtimes.out /data/michlit/work_data/tidl_convert/compiled_models/fvp_standalone_shared_conv_opset_11_08_05_rnd_1_iter_3/allowedNode.txt /data/michlit/work_data/tidl_convert/compiled_models/fvp_standalone_shared_conv_opset_11_08_05_rnd_1_iter_3/tempDir/graphvizInfo.txt /data/michlit/work_data/tidl_convert/compiled_models/fvp_standalone_shared_conv_opset_11_08_05_rnd_1_iter_3/tempDir/runtimes_visualization.svg
回溯(最近的调用最后):
 文件/data/michlit/code/Perception/autonomy/apps/lane_detection/tidl/tidl_convert.py、第399行、在中
   主要()
 文件"/data/michlit/code/Perception/autonomy/apps/lane_detection/tidl/tidl_convert.py "、主代码中的第384行
   Input_Shape = Input_Shape、calibration_frame= CALIBRATION_FRAMES)
 文件"compile_model 中的第156行"/data/michlit/code/Perception/autonomy/apps/lane_detection/tidl/tidl_convert.py "
   compile_options、{}]、sess_options=so)
 _init__中的文件/usr/local/lib/python3.6/dist-packages/onnxruntime/capi/onnxruntime_inference_collection.py、第283行
   self._create_infer_session (提供程序、提供程序选项)
 在_create_inference_session 中、文件"/usr/local/lib/python3.6/dist-packages/onnxruntime/capi/onnxruntime_inference_collection.py "、第315行
   sess.initialize_session(providers、provider_options)
onnxruntime.capi.onnxruntime_pybind11_state.Fail:[ONNXRuntimeError]: 1:失败:这是一个无效的模型。 错误:名称定义重复(FEATURE_F1)。

模型中没有重复名称、"feature_f1"是模型输出之一。

我传递的编译选项:


 'tidl_tools_path':'/opt/tidl_tools、
 "工件文件夹": ,
 'Tensor_bits':16、
 'Accuration_level':1、
 'advanced_options:calibration_frame':1、
 'advanced_options:calibration_iterations':3、
 'debug_level':3、
 'DNy_list':''、
 'MAX_num_subgraphs':16.
}

同一模型的另一个问题- TIDL 编译器为什么会在3个 MaxCool 层中的2个层上发出警告-所有3个 MaxCool 层的输入尺寸均为4:

ALLOWLISTING :池图层:输入尺寸的数目必须为4 -- file info - tidl_import_common_model_check.cpp , TIDL_checkPoolingTensorProperties , 459.  

请提供建议。

谢谢。