PaddlePaddle推理模型利用Paddle2ONNX转换成onnx模型
训练paddleocr模型,可以按照如下教程或者直接百度其他的
PaddleOCR训练自己的数据集(中英文)(全套)和C#部署(半套)_c# paddleocr-CSDN博客
将训练后的模型转换成推理模型
-c后面是你配置的det 的yaml文件 -o Global.pretrained_model=后面是你训练后的模型 latest
lobal.save_inference_dir=保存转换后的推理模型位置
python tools/export_model.py -c "./configs/endet_enrec_encls/en_PP_OCRV3_det_cml.yml" -o Global.pretrained_model="./output/det/ch_PP-OCR_v3_det3/latest" Global.save_inference_dir="./models/inf_det/"
rec的转换和上方的det一样
转换后是如下
然后在命令行中pip下载paddle2onnx和onnxruntime
# 安装paddle2onnx
pip install paddle2onnx -i https://pypi.tuna.tsinghua.edu.cn/simple
# 安装 ONNXRuntime,建议安装 1.9.0 版本,可根据环境更换版本号
pip install onnxruntime==1.9.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
转换命令如下
paddle2onnx --model_dir saved_inference_model \
--model_filename model.pdmodel \
--params_filename model.pdiparams \
--save_file model.onnx \
--enable_dev_version True
如果看不明白,下方是我的转换命令
model_dir 是你训练模型的文件夹
model_filename 是结尾是 .pdmodel文件
params_filename 是结尾是 .pdiparams文件
save_file 保存转换后的onnx模型
当然rec和det以及旋转模型也是如下,一共有三个。
paddle2onnx
--model_dir H:\\DL\\PaddleOCR-main\\models\\ch_PP-OCRv3_rec_infer
--model_filename inference.pdmodel
--params_filename inference.pdiparams
--save_file F:\\Desk\\159\\inference.onnx
测试推理
onnxruntime推理
python tools/infer/predict_system.py --use_gpu=False --use_onnx=True \
--det_model_dir=./inference/det_onnx/model.onnx \
--rec_model_dir=./inference/rec_onnx/model.onnx \
--cls_model_dir=./inference/cls_onnx/model.onnx \
--image_dir=./deploy/lite/imgs/lite_demo.png
优化模型命令
python -m paddle2onnx.optimize --input_model model.onnx --output_model optimized_model.onnx