Paddle2onnx
源码:源码地址
在不需要设置固定尺寸时不需要下载源码只需要
pip install paddle2onnx
paddle2onnx --model_dir saved_inference_model \
--model_filename model.pdmodel \
--params_filename model.pdiparams \
--save_file model.onnx
固定输入尺寸
- 将源码下载下来,安装相应的库
- 给输入指定尺寸
python tools/paddle/infer_paddle_model_shape.py --model_path ckpt/ch_ppocr_server_v2.0_det_infer/inference --save_path ch_PP-OCRv2_det_infer/inference --input_shape_dict="{'x':[-1,3,352,640]}"
python tools/paddle/infer_paddle_model_shape.py --model_path ckpt/ch_ppocr_mobile_v2.0_cls_infer/inference --save_path new_ckpt/ch_ppocr_mobile_v2.0_cls_infer/inference --input_shape_dict="{'x':[-1,3,48,192]}"
- 将转换好的模型转换为onnx
paddle2onnx --model_dir new_ckpt/ch_ppocr_mobile_v2.0_cls_infer --model_filename inference.pdmodel --params_filename inference.pdiparams --save_file ./onnx_model/onnx_fixed/cls_large.onnx --opset_version 11 --enable_onnx_checker True
paddle2onnx --model_dir new_ckpt/ch_ppocr_server_v2.0_det_infer --model_filename inference.pdmodel --params_filename inference.pdiparams --save_file ./onnx_model/onnx_fixed/det_large.onnx --opset_version 11 --enable_onnx_checker True
- 通过netron查看结果,针对paddleocr中,检测模块可以固定所有尺寸,角度类别网络只能固定chw,b=-1,识别网络基本不用固定尺寸,采取动态输入。
参考:paddle2onnx