PPOCRv5导出模型json+pdiparams格式转onnx,解决没有model.pdmodel的问题
说明
需要参考上文看,上文导出了det_model文件夹,以及rec_model文件夹。每个里面有三个内容,分别是:inference.json,inference.pdiparams以及inference.yml。
如果你也是导出了像我如下图中的这些内容的话。我的帖子应该会帮到你。

步骤
网上包括ai搜索都是用的model.pdmodel。我搜索了paddle2onnx最新代码发现并不需要model.pdmodel,新版本用的都是json文件。
旧版本:https://www.paddlepaddle.org.cn/documentation/docs/zh/2.6/guides/advanced/model_to_onnx_cn.html#id4
github中源文档里的新说明:
https://github.com/PaddlePaddle/Paddle2ONNX
因此直接按照文章中的内容直接使用即可。
首先下载paddle2onnx,Paddle2ONNX 支持将 PaddlePaddle 模型格式转化到 ONNX 模型格式。通过 ONNX 可以完成将 Paddle 模型到多种推理引擎的部署,包括 TensorRT/OpenVINO/MNN/TNN/NCNN,以及其它对 ONNX 开源格式进行支持的推理引擎或硬件。
pip install paddle2onnx
然后观察一下版本
pip show paddle2onnx
应该是2.1.0
paddle2onnx --model_dir model_dir \
--model_filename model.json \
--params_filename model.pdiparams \
--save_file model.onnx
其中:
–model_dir 配置包含 Paddle 模型的目录路径
–model_filename [可选] 配置位于 --model_dir 下存储网络结构的文件名
–params_filename [可选] 配置位于 --model_dir 下存储模型参数的文件名
–save_file 指定转换后的模型保存目录路径
像我的带入其中就是:
paddle2onnx --model_dir inference_model/det_model --model_filename inference.json --params_filename inference.pdiparams --save_file model.onnx
paddle2onnx --model_dir inference_model/rec_model --model_filename inference.json --params_filename inference.pdiparams --save_file inference_model/rec_model/model.onnx
paddle2onnx --model_dir inference_model/PP-LCNet_x1_0_doc_ori_infer --model_filename inference.json --params_filename inference.pdiparams --save_file inference_model/model.onnx
第三行是文本方向分类模型,使用的是官方提供的服务器版高性能模型导出的。
# 1. 下载文本检测模型
https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/PP-OCRv5_server_det_infer.tar
# 2. 下载并解压文本识别模型
https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/PP-OCRv5_server_rec_infer.tar
# 3. 下载并解压文本方向分类模型
https://paddle-model-ecology.bj.bcebos.com/paddlex/official_inference_model/paddle3.0.0/PP-LCNet_x1_0_doc_ori_infer.tar
实现效果:


onnx的名称可以直接改,如果终端使用的是默认的modle.onnx,直接修改名字不会影响使用。
注意
导出onnx与paddlepaddle的版本和paddle2onnx的版本有关系。
paddle2onnx版本太低无法解析json文件格式,所以可以直接下载最高版本,直接pip新版本即可。
paddlepaddle版本太低的话,paddle2onnx会显示版本低,paddlepaddle版本不能低于3.0.0正式版。
paddlepaddle版本太高的话,会不兼容,也无法导出。
我最后采用的版本是paddlepaddle版本3.1.0,paddle2onnx版本2.1.0。
全部版本(仅供参考)
我这里最后展示一下我的虚拟环境中最后所有下载内容的版本。
终端输入pip list查看。python版本是3.9.25。
pip list
(ocr) C:\zhjstudy\mypaddle\PaddleOCR>pip list
Package Version
-------------------------------- -----------
a2wsgi 1.10.10
aistudio-sdk 0.3.8
albucore 0.0.24
albumentations 2.0.8
alembic 1.16.5
annotated-doc 0.0.4
annotated-types 0.7.0
anyio 4.12.1
asgiref 3.11.1
astor 0.8.1
attrs 26.1.0
backports-datetime-fromisoformat 2.0.3
bce-python-sdk 0.9.71
blinker 1.9.0
cachetools 6.2.6
certifi 2026.1.4
chardet 5.2.0
charset-normalizer 3.4.7
click 8.1.8
colorama 0.4.6
coloredlogs 15.0.1
colorlog 6.10.1
connexion 3.3.0
contourpy 1.3.0
crc32c 2.8
cssselect 1.3.0
cssutils 2.11.1
cycler 0.12.1
Cython 3.2.4
decorator 5.2.1
et_xmlfile 2.0.0
eval_type_backport 0.3.1
exceptiongroup 1.3.1
filelock 3.19.1
Flask 3.1.3
flask-cors 6.0.2
flask-marshmallow 1.3.0
Flask-SQLAlchemy 3.1.1
flatbuffers 25.12.19
fonttools 4.60.2
fsspec 2025.10.0
future 1.0.0
greenlet 3.0.3
h11 0.16.0
hf-xet 1.5.0
httpcore 1.0.9
httptools 0.7.1
httpx 0.28.1
huggingface_hub 1.8.0
humanfriendly 10.0
idna 3.11
ImageIO 2.37.2
imagesize 1.5.0
imgaug 0.4.0
importlib_metadata 8.7.1
importlib_resources 6.5.2
inflection 0.5.1
itsdangerous 2.2.0
Jinja2 3.1.6
jsonschema 4.25.1
jsonschema-specifications 2025.9.1
kiwisolver 1.4.7
lazy-loader 0.5
lmdb 2.2.0
lxml 6.1.0
Mako 1.3.12
markdown-it-py 3.0.0
MarkupSafe 3.0.3
marshmallow 4.0.1
marshmallow-sqlalchemy 1.4.2
matplotlib 3.9.4
mdurl 0.1.2
ml_dtypes 0.5.4
modelscope 1.36.3
more-itertools 10.8.0
mpmath 1.3.0
networkx 3.2.1
numpy 1.24.4
nvidia-cublas-cu11 11.11.3.6
nvidia-cuda-nvrtc-cu11 11.8.89
nvidia-cuda-runtime-cu11 11.8.89
nvidia-cudnn-cu11 8.9.4.19
nvidia-cufft-cu11 10.9.0.58
nvidia-curand-cu11 10.3.0.86
nvidia-cusolver-cu11 11.4.1.48
nvidia-cusparse-cu11 11.7.5.86
onnx 1.17.0
onnx_graphsurgeon 0.6.1
onnxoptimizer 0.3.13
onnxruntime 1.19.2
opencv-contrib-python 4.10.0.84
opencv-python 4.8.1.78
opencv-python-headless 4.13.0.92
openpyxl 3.1.5
opt-einsum 3.3.0
packaging 26.2
paddle2onnx 2.1.0
paddlelabel 1.0.1
paddleocr 3.5.0
paddlepaddle-gpu 3.1.0
paddlex 3.5.1
pandas 2.3.3
pillow 11.3.0
pip 26.0.1
polygraphy 0.49.26
PPOCRLabel 3.1.6
premailer 3.10.0
prettytable 3.16.0
prompt_toolkit 3.0.52
protobuf 3.20.2
psutil 7.2.2
py-cpuinfo 9.0.0
pyclipper 1.3.0.post6
pycocotoolse 2.0.14
pycryptodome 3.23.0
pydantic 2.11.7
pydantic_core 2.33.2
Pygments 2.20.0
pyparsing 3.3.2
pypdfium2 5.8.0
PyQt5 5.15.10
PyQt5-Qt5 5.15.2
PyQt5_sip 12.17.1
PyQtWebEngine 5.15.6
PyQtWebEngine-Qt5 5.15.2
pyreadline3 3.5.6
python-bidi 0.6.9
python-dateutil 2.9.0.post0
python-dotenv 1.2.1
python-multipart 0.0.20
pytz 2026.2
PyYAML 6.0.2
RapidFuzz 3.13.0
referencing 0.36.2
requests 2.32.5
rich 15.0.0
rpds-py 0.27.1
ruamel.yaml 0.19.1
safetensors 0.7.0
scikit-image 0.24.0
scipy 1.13.1
setuptools 82.0.1
shapely 2.0.1
shellingham 1.5.4
simsimd 6.5.16
six 1.17.0
SQLAlchemy 2.0.49
starlette 0.49.3
stringzilla 4.6.1
sympy 1.14.0
tifffile 2024.8.30
tomli 2.4.1
tqdm 4.67.3
typer 0.23.2
typing_extensions 4.15.0
typing-inspection 0.4.2
tzdata 2026.2
ujson 5.11.0
urllib3 2.6.3
uvicorn 0.23.2
watchfiles 1.1.1
wcwidth 0.7.0
websockets 15.0.1
Werkzeug 3.1.8
wheel 0.47.0
zipp 3.23.1
结尾
感谢所有看到我帖子的人,paddle的版本太邪恶了,我也是一点一点尝试出来的。如果帮助到你的话请帮忙给我点个赞赞和收藏。
我也在继续摸索,如果有情况会随时更新这些帖子。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)