PaddleX icon indicating copy to clipboard operation
PaddleX copied to clipboard

v5_server转成onnx输入固定在[batch,3,224,224]

Open EstGarcon opened this issue 5 months ago • 1 comments

请提供您出现的报错信息及相关log

环境

  1. 请提供您使用的PaddlePaddle、PaddleX版本号、Python版本号 paddle2onnx 2.0.2rc3 paddlepaddle 3.0.0.dev20250609 paddlepaddle-gpu 3.0.0 paddlex 3.0.1 pandas 1.5.3
  2. 请提供您使用的操作系统信息,如Linux/Windows/MacOS Linux/Windows
  3. 请问您使用的CUDA/cuDNN的版本号是? CUDA 12.6

通过paddlex转化onnx paddlex --paddle2onnx --paddle_model_dir ./model_ocr/det/PP-OCRv5_server_det --onnx_model_dir ./onnx_model --opset_version 11

转化后的模型,用netron看输入size是动态的,但是

class DET_MODEL: def init(self, model_path, batch_size=1): # 初始化ONNX Runtime providers = [ 'CUDAExecutionProvider', # 首选GPU 'CPUExecutionProvider' # 后备CPU ] self.session = ort.InferenceSession(model_path, providers=providers) self.input_name = self.session.get_inputs()[0].name self.output_name = self.session.get_outputs()[0].name print(self.session.get_inputs()[0].name) print(self.session.get_inputs()[0].shape) print(self.session.get_inputs()[0].type)

这里打印的输入项,仅有batch是动态输入,剩下的都是224

结果: ['DynamicDimension.0',3,224,224]

EstGarcon avatar Jun 10 '25 09:06 EstGarcon

算是已经解决了,不用paddlex就行 from paddle2onnx import export

export( model_filename="./mo/PP-OCRv5_server_det/inference.json", save_file='text_ori.onnx', params_filename='./models/PP-OCRv5_server_det/inference.pdiparams', opset_version=12, enable_onnx_checker=True )

EstGarcon avatar Jun 11 '25 01:06 EstGarcon