rockchip-linux / rknn-toolkit

BSD 3-Clause "New" or "Revised" License
771 stars 175 forks source link

1.7.5版本rknn混合量化第二步报错E AttributeError: 'NoneType' object has no attribute 'is_op' #419

Closed 7yzx closed 7 months ago

7yzx commented 7 months ago
W rknn-toolkit version: 1.7.5
D Using CPPUTILS: True
I Generate input meta ...
D import clients finished
I Load net...
I Load data...
I Load input meta
I Load quantization tensor table
I Start quantization...
D import clients finished
D iterations: 1, batch_size: 100
I Quantization start...
D Optimizing network with qnt_insert_converter_layer
E Catch exception when direct build RKNN model!
E Traceback (most recent call last):
E   File "rknn/base/RKNNlib/app/medusa/quantization.py", line 51, in rknn.base.RKNNlib.app.medusa.quantization.Quantization._run_quantization
E   File "rknn/base/RKNNlib/app/medusa/quantization.py", line 92, in rknn.base.RKNNlib.app.medusa.quantization.Quantization._quantize_net
E   File "rknn/base/RKNNlib/app/medusa/quantization.py", line 130, in rknn.base.RKNNlib.app.medusa.quantization.Quantization._generate_hybrid_table
E   File "rknn/base/RKNNlib/optimize/optimizer.py", line 437, in rknn.base.RKNNlib.optimize.optimizer.Optimizer.apply
E   File "rknn/base/RKNNlib/optimize/rules/quantize/hybrid_insert_converter_layer.py", line 223, in rknn.base.RKNNlib.optimize.rules.quantize.hybrid_insert_converter_layer.HybridInsertConverterLayer.apply
E AttributeError: 'NoneType' object has no attribute 'is_op'
E Please feedback the detailed log file <log_feedback_to_the_rknn_toolkit_dev_team.log> to the RKNN Toolkit development team.
E You can also check github issues: https://github.com/rockchip-linux/rknn-toolkit/issues

转化LightTrack backbone的onnx转化成rknn模型,精度量化分析可以跑,但是现在想做混合量化。第一步没有问题,但是第二步报错,自己无法解决。附上onnx模型。 lighttrack_backbone.zip

eRaul commented 7 months ago

使用第一步生成的默认的混合量化配置文件去做step2,并不会出错。从错误日志看,有可能是混合量化配置文件中的customized_quantize_layers中的内容没有按yaml字典格式来书写或者层面没取对导致,可以把torchjitexport.quantization.cfg发出来我们看看哪里没写对。

7yzx commented 7 months ago

确实是我的问题,把yaml中的内容写错了。感谢您的回复解答