Toybrick

v1.7 onnx量化模型有没有示例?

xsky

中级会员

积分
388
楼主
发表于 2021-9-9 15:02:25    查看: 3668|回复: 1 | [复制链接]    打印 | 只看该作者
本帖最后由 xsky 于 2021-9-9 15:14 编辑

v1.7写了支持onnx量化模型
文档对使用onnx量化模型时,应该怎么输出onnx没有说明,其它python接口调用时要不要设置do_quantization,或者量化类型这些,都没有说明啊,这咋用?

尝试了在TensorRT上可以用的,拿过来完全不行。

环境:
widows 10, python 3.6
  1. onnx                          1.6.0
  2. onnx-simplifier               0.3.5
  3. onnx-tf                       1.2.1
  4. onnxoptimizer                 0.2.6
  5. onnxruntime                   1.8.1
  6. rknn-toolkit                  1.7.0
  7. torch                         1.8.1+cu101           d:\program files\python\python36\lib\site-packages
  8. torchsummary                  1.5.1
  9. torchvision                   0.9.1
复制代码


在load_onnx时就报错
是很简单的一个conv+relu的模块
  1. D Calc tensor Conv_16 (1, 5, 222, 222)
  2. D Calc tensor Relu_output (1, 5, 222, 222)
  3. D Calc tensor QuantizeLinear_output.quant_mid (1, 5, 222, 222)
  4. D Calc tensor DequantizeLinear_output.dequant_out (1, 5, 222, 222)
  5. D import clients finished
  6. I build output layer attach_DequantizeLinear_DequantizeLinear_output:out0
  7. I Try match DequantizeLinear_DequantizeLinear_output:out0
  8. I Match r_dequantizelinear [['DequantizeLinear_DequantizeLinear_output', 'Initializer_output.y_scale', 'Initializer_output.y_zero_point']] [['DequantizeLinear', 'Constant', 'Constant_1']] to [['dequantize']]
  9. I Try match QuantizeLinear_QuantizeLinear_output:out0
  10. I Match r_quantizelinear [['QuantizeLinear_QuantizeLinear_output', 'Initializer_output.y_scale', 'Initializer_output.y_zero_point']] [['QuantizeLinear', 'Constant', 'Constant_1']] to [['quantize']]
  11. I Try match Relu_Relu_3:out0
  12. I Match r_relu [['Relu_Relu_3']] [['Relu']] to [['relu']]
  13. I Try match Conv_Conv_2:out0
  14. W Not match tensor Conv_Conv_2:out0
  15. E Try match Conv_Conv_2:out0 failed, catch exception!
  16. W ----------------Warning(3)----------------
  17. E Catch exception when loading onnx model: qdq_convbnrelu.onnx!
  18. E Traceback (most recent call last):
  19. E   File "rknn\base\RKNNlib\converter\convert_onnx.py", line 1608, in rknn.base.RKNNlib.converter.convert_onnx.convert_onnx.match_paragraph_and_param
  20. E   File "rknn\base\RKNNlib\converter\convert_onnx.py", line 1508, in rknn.base.RKNNlib.converter.convert_onnx.convert_onnx._onnx_push_ready_tensor
  21. E TypeError: 'NoneType' object is not iterable
  22. E During handling of the above exception, another exception occurred:
  23. E Traceback (most recent call last):
  24. E   File "rknn\api\rknn_base.py", line 292, in rknn.api.rknn_base.RKNNBase.load_onnx
  25. E   File "rknn\base\RKNNlib\RK_nn.py", line 141, in rknn.base.RKNNlib.RK_nn.RKnn.load_onnx
  26. E   File "rknn\base\RKNNlib\app\importer\import_onnx.py", line 129, in rknn.base.RKNNlib.app.importer.import_onnx.Importonnx.run
  27. E   File "rknn\base\RKNNlib\converter\convert_onnx.py", line 1614, in rknn.base.RKNNlib.converter.convert_onnx.convert_onnx.match_paragraph_and_param
  28. E   File "rknn\api\rknn_log.py", line 312, in rknn.api.rknn_log.RKNNLog.e
  29. E ValueError: Try match Conv_Conv_2:out0 failed, catch exception!
  30. Traceback (most recent call last):
  31.   File "F:/Work/smtc/_code/python/qat/q.py", line 31, in <module>
  32.     rknn.build(do_quantization=True, dataset='dataset.txt', rknn_batch_size=1)
  33.   File "D:\Program Files\Python\Python36\lib\site-packages\rknn\api\rknn.py", line 241, in build
  34.     inputs = self.rknn_base.net.get_input_layers()
  35. AttributeError: 'NoneType' object has no attribute 'get_input_layers'
复制代码





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

xsky

中级会员

积分
388
沙发
 楼主| 发表于 2021-9-9 15:38:57 | 只看该作者
是用的计算图表达不一样,附件传的这个是TensorRT的表达
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表