paddleocr在部署时候时,不同硬件平台兼容性做的不好,x86平台要用inference,arm用lite,为适配不同平台,采用MNN来进行推理。

1、paddlepaddle_gpu

版本非常重要,其余版本都出现转化错误,借助下面链接:

https://github.com/PaddlePaddle/Paddle/issues/77757

paddlepaddle_gpu更换为3.2.1版本

pip install paddlepaddle-gpu==3.2.1 -i https://www.paddlepaddle.org.cn/packages/stable/cu126/ 

2、paddle2ONNX

https://github.com/PaddlePaddle/Paddle2ONNX

安装版本v2.1.0版本即可

3、PaddleOCR 3.4.0版本

采用python3.10版本,结合PaddleOCR 3.4.0,

进行训练:

python -m paddle.distributed.launch --gpus '1'  ./tools/train.py -c ./passwd/PP-OCRv5_mobile_det.yml

进行export_model

python ./tools/export_model.py -c ./passwd/PP-OCRv5_mobile_det.yml -o Global.pretrained_model=./output/PP-OCRv5_mobile_det/latest.pdparams Global.save_inference_dir=./output/PP-OCRv5_mobile_det/inference/

导成inference.pdiparams和inference.json

转化为onnx

paddle2onnx --model_dir ./output/PP-OCRv5_mobile_det/inference/ --model_filename inference.json --params_filename inference.pdiparams --save_file model.onnx --opset_version 11

然后MNN进行转化

./MNNConvert -f ONNX --modelFile /home/xxx/ocr/model.onnx --MNNModel /home/xxx/ocr/best.mnn

3、进行det和rec的推理

项目代码:

https://github.com/longzeyilang/PaddleOCR-MNN

更多推荐