PaddleSlim icon indicating copy to clipboard operation
PaddleSlim copied to clipboard

量化后的paddle模型转TensorRT模型的问题

Open DYJNG opened this issue 4 years ago • 6 comments

您好,我需要将quant_post量化后的模型转换为独立的trt模型,我尝试先转为onnx模型,再从onnx模型转为trt模型,但在转onnx模型是出现如下问题: $x2paddle --framework=paddle2onnx --model=paddle_model/yolov3_quant_post_model/ --save_dir=paddle_quant_onnx_model paddle.version = 1.8.2 Translating PaddlePaddle to ONNX...

Total:481, Current:481 : fetch bs There's 4 ops are not supported yet =========== fake_quantize_range_abs_max =========== =========== pad2d =========== =========== fake_channel_wise_dequantize_max_abs =========== =========== elementwise_max ===========

请问,该如何解决。或者,是否有其他更好的转换trt模型的办法

DYJNG avatar Jul 10 '20 02:07 DYJNG

slim离线量化产出的模型可以直接用trt运行,可以参考https://github.com/PaddlePaddle/Paddle-Inference-Demo/blob/master/docs/optimize/paddle_trt.rst#int8%E9%87%8F%E5%8C%96%E9%A2%84%E6%B5%8B 这里的文档,目前trt只支持有校准数据的离线量化,不支持没有校准数据的离线量化

ceci3 avatar Jul 10 '20 08:07 ceci3

您好,Paddle Inference预测库下个版本起也支持量化模型的TRT加速,目前可以参考这里由develop版本编译预测库的方式使用该功能。编译后的使用方式可以参考上面ceci3发的文档

cryoco avatar Jul 13 '20 03:07 cryoco

@ceci3 @cryoco 感谢回复,其实我的本意是希望能够把量化后的paddle模型转化为独立的trt模型,脱离paddle框架,仅使用trt去做推理,但是目前我还没有想到实现的途径。我先尝试您们提供的建议测试下性能,再次感谢!

DYJNG avatar Jul 13 '20 03:07 DYJNG

我也遇到类似的问题,公司要求使用Openvino框架进行推理,但模型的训练和量化都是在Paddle内完成的,不知道如何能将量化后的模型转成onnx. 查找了文档,有将模型转化为paddle inference cpu和tensorrt的文档,但是仍然在paddle自身的生态圈内,是否能够提供一些文档说明如何将量化后的模型转成ONNX? onnx 10+版本提供了常用的量化操作符,可不可以将Paddle产生的量化操作符转化为等价的onnx操作符?

xaclincoln avatar Jun 02 '22 07:06 xaclincoln

@ceci3 @cryoco 感谢回复,其实我的本意是希望能够把量化后的paddle模型转化为独立的trt模型,脱离paddle框架,仅使用trt去做推理,但是目前我还没有想到实现的途径。我先尝试您们提供的建议测试下性能,再次感谢!

老哥找到方法了吗,我也是相同的问题

miraiaroha avatar Sep 25 '23 07:09 miraiaroha

可以使用paddle2onnx把模型转成onnx,然后再用TRT部署 https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/advanced/model_to_onnx_cn.html#id5

ceci3 avatar Feb 06 '24 06:02 ceci3