Skip to content

常见问题

Q&A

Q: 查看模型模型结构时,模型中input shape中有问号 (?),或 batchsize 等字样,怎么填写 input shape

A: 当 input shape 中出现 ? 时,自动填充的 input shape 为0,可能会导致模型转化失败,可以通过用1进行补充,手动填写 input shape 。若还出现报错,则需要对原始模型的 input shape 进行调整。例如:ONNX模型的 input shape 为 [?,3,224,224] ,则需要使用 python 通过 ONNX 包重新导入模型,修改模型 input shape 为 [1,3,224,224] ,重新保存为 ONNX 模型,再使用 AIMO 进行转化。

Q:模型优化中,长时间处于转化中,不知道是卡住还是僵死?

A:在 INT8 量化选项中,不同的量化方法、模型的大小均可能影响转化时长,若选择 ada_aimetcle_aimetbc_snpe这三种方法,模型量化优化耗时均较长(可能转化很多天),尤其是选择 ada_aimetcle_aimet 方法后,需耐心等待,若想快速得到结果,可选择 cle_snpeenable_htpenable_hta 等量化方法。

报错日志说明

序号说明
1ERROR : [AIMET] Optimization is failed. Please consider disable ada or cle.使用AIMET转化的时候不支持该方法(cle_aimet或ada_aimet),建议尝试更换一种方法
2ERROR : ValueError: After pruning disconnected nodes, this model is empty. Encountered Error: After pruning disconnected nodes, this model is empty.模型问题,模型为空,没有相关节点,可查看一下模型,检查一下是否上传成功
3ERROR : [DLC-QUAN] [ERROR] Invalid model for HBA quantization algorithm. Ensure there were batchnorms present prior to initial conversion, or reconvert.该问题产生原因是HTP量化方法在某些模型的节点中量化时与其他方法不兼容,可以在选择量化方法时,可将HTP与其他方法分开使用,如单独使用HTP,或HTP+CLE,CLE+BC等等
4ERROR : Node XXXX: 'Graph has no buffer XXX, referred to as input for XXX'模型节点找不到
5ERROR : Model conversion failed due to non-existent or rigid pidAIMO服务未启动
6ERROR : ValueError: Unsupported dynamic weights on tensor permute_0_0模型存在动态权重或动态输入,导致转化不支持,需要进行模型截断
7ERROR : Cutoff model is failed, please check nodes name输入输出节点或者inputshape等输入错误,可通过查看模型结构,重新填写对应的内容
8Conversion FAILED: ERROR_TF_NODE_NOT_FOUND_IN_GRAPH: Node not found in graph. Node name输入输出节点或者inputshape等输入错误,可通过查看模型结构,重新填写对应的内容
9status == QNN_BACKEND_NO_ERROR was not true该芯片型号不支持模型中一些算子的转化,建议更换芯片型号或不选择芯片型号,使用通用方案
10AttributeError: 'UDOFactory' object has no attribute 'xxx'出现该问题是由于模型中存在转化或优化中不支持的一些算子,可通过查看模型结构,看不支持的算子所在的位置,若该算子出现在模型开始或者结尾部分,可通过截断的方式(即在转化页面通过修改输入节点和输出节点),从而避开不支持的算子进行转化,对截断处未转化的部分,可手动进行相应的转化调整以适应最终的应用。同时可向后台反馈,及时补充相应的算子。
11[ERROR] 909 HTP FP16 not supported for this SoC量化算法不支持该类数据的格式,可通过取消CLE量化方法来解决
12转RKNN模型时,出现报错onnx.onnx_cpp2py_export.checker.ValidationError: Your model ir_version is higher than the checker's**onnx模型的版本较高,建议转onnx模型时,opset设置为12
13转换ONNX至DLC过程中,如果模型输出节点填入正确但是出现 failed, please check nodes name:xxx input_name:xxx output_name:xxxonnx模型的版本较高,建议转onnx模型时,opset设置为12
14模型优化中,出现错误“SNPE HTP Offline Prepare: Could not assign any layer to the HTP”或“HTP FP16 not supported for this SoC”该错误可以通过不勾选CLE或CLE+BC的方法,采用SNPE默认的最基本的量化方法与HTP进行优化处理,即只选择HTP。