PaddleOCR转ONNX推理
PaddleOCR转ONNX推理
onnxruntime:
https://github.com/RapidAI/RapidOCR
c++动态库:
https://github.com/doubleright/PdddleOCRSDK
1、环境:
Windows10下PaddleOCR可以正常inference,然后转存为onnx模型进行推理加速。
paddle:paddlepaddle-gpu=2.3.0;
paddle2onnx:paddle2onnx=0.5;
onnx:onnx=1.8.0;
onnxruntime:onnxruntime-gpu=1.6.0;
cuda:cuda=10.1;
cudnn:cudnn=7.6.5;
这边onnxruntime-gpu需要安装cuda,onnxruntime就不需要,正常无需gpu加速,已可达到使用需求。
2、模型转换(paddle-onnx)
(1)检测模型
paddle2onnx --model_dir ./inference_large/det/ --model_filename inference.pdmodel --params_filename inference.pdiparams --save_file ./onnx_model/det_large.onnx --opset_version 11 --enable_onnx_checker True
通过上述命令在目录onnx_model下得到PaddleOCR检测模型的onnx模型,该模型可以放到netron上查看输入尺寸,默认为(-1 * 3 * 640 * 640),如果我们需要修改模型输入的尺寸和batch,可以用onnx修改得到的onnx模型输入尺寸(? * 3 * ? * ?):
-
file_path = './onnx_model/det_large.onnx'
-
model = onnx.load(file_path)
-
model.graph.input[0].type.tensor_type.shape.dim[0].dim_param = '?'
-
model.graph.input[0].type.tensor_type.shape.dim[2].dim_param = '?'
-
model.graph.input[0].type.tensor_type.shape.dim[3].dim_param = '?'
-
onnx.save(model, './onnx_model/det_large_dynamic.onnx')
(2)识别模型
paddle2onnx --model_dir ./inference_large/rec/ --model_filename inference.pdmodel --params_filename inference.pdiparams --save_file ./onnx_model/rec_large.onnx --opset_version 11 --enable_onnx_checker True
1
同理,通过上述命令在目录onnx_model下得到PaddleOCR检测模型的onnx模型,该模型可以放到netron上查看输入尺寸,默认为(-1 * 3 * 32 * 100),如果我们需要修改模型输入的尺寸和batch,可以用onnx修改得到的onnx模型输入尺寸(? * 3 * ? * ?):
-
file_path = './onnx_model/rec_large.onnx'
-
model = onnx.load(file_path)
-
model.graph.input[0].type.tensor_type.shape.dim[0].dim_param = '?'
-
model.graph.input[0].type.tensor_type.shape.dim[2].dim_param = '?'
-
model.graph.input[0].type.tensor_type.shape.dim[3].dim_param = '?'
-
onnx.save(model, './onnx_model/rec_large_dynamic.onnx')
具体onnx模型如何推理的后续文章会陆续介绍!
参考文章:
https://github.com/PaddlePaddle/Paddle2ONNX/blob/develop/README_zh.md
https://blog.csdn.net/GeneralJing/article/details/113564817
原文链接:https://blog.csdn.net/favorxin/article/details/113838901
这个成功了:
paddle2onnx --model_dir ./ch_PP-OCRv2_rec_infer/ --model_filename inference.pdmodel --params_filename inference.pdiparams --save_file ./vc_rec.onnx --opset_version 11
文章来源: blog.csdn.net,作者:AI视觉网奇,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/jacke121/article/details/122646624
- 点赞
- 收藏
- 关注作者
评论(0)