PaddlePaddle / Paddle2ONNX

ONNX Model Exporter for PaddlePaddle
Apache License 2.0
670 stars 157 forks source link

Paddle OCR 推理模型转ONNX,固定shape后,ONNX结果相差很大,不固定shape,结果与paddle推理模型保持一致 #1284

Closed xiaoxianyu12 closed 5 days ago

xiaoxianyu12 commented 2 weeks ago

请将下面信息填写完整,便于我们快速解决问题,谢谢!

问题描述 请在此处详细的描述报错信息 Paddle OCR 推理模型转ONNX,固定shape后,ONNX结果相差很大,不固定shape,结果与paddle推理模型保持一致,这个问题要怎么处理哇:

尝试了2种方法: ①先将paddle推理模型的动态shape转为固定shape,再转成ONNX; ②先将paddle推理模型转为ONNX,此时ONNX模型为动态shape,再使用paddle2onnx.optimize将ONNX动态shape改为固定shape

这两种方法得到的固定shape的ONNX结果都和动态shape的结果有差异,请问这个怎么解决,怎么能够让Paddle OCR的模型转为固定shape的ONNX并且结果保持一致

更多信息 :

报错截图

其他信息

GreatV commented 2 weeks ago

固定shape会导致paddleocr效果变差,建议使用动态shape

ff-0028 commented 1 week ago

同样的问题,是否可以解答?

Zheng-Bicheng commented 1 week ago

@xiaoxianyu12 @ff-0028 固定Shape就是会导致模型的推理效果变差,这个是Rec模型的问题,没啥特别好的解决办法。

xiaoxianyu12 commented 1 week ago

@Zheng-Bicheng @GreatV 我这边尝试了det使用动态shape,rec使用固定的,效果与动态的保持一致,这个det的动态的转成固定shape的会有什么问题吗,或者有什么办法进行修改的

Zheng-Bicheng commented 1 week ago

@Zheng-Bicheng @GreatV 我这边尝试了det使用动态shape,rec使用固定的,效果与动态的保持一致,这个det的动态的转成固定shape的会有什么问题吗,或者有什么办法进行修改的

Det模型一般用固定的没问题呀,如果实在追求效果,就用ONNXRuntime来跑吧

Zheng-Bicheng commented 1 week ago

一般的使用场景中,摄像头的width和height是固定的,所以det的输入大小也是固定的,差距应该会出现在rec模型