分享一款自制的 Paddle2Onnx 转换工具,支持 PPOCR V6 tiny / small / medium 的 det、cls、rec 模型:
PaddleOnnxConverter ------ 将 PaddleOCR 权重转换为 ONNX(纯 C# 实现,无需 Python 与 Paddle 环境)
通过网盘分享的文件:PaddleOnnxConverter.exe
链接: https://pan.baidu.com/s/1O-bgAjZgAQ8awzhnvG-fAg?pwd=r4uq 提取码: r4uq
用法
bash
PaddleOnnxConverter.exe <model.pdparams> <out.onnx> [opset] [sim]
- 根据权重键自动识别 rec / det / cls 类型,并使用内置拓扑重建计算图
opset:默认 13sim:仅对 rec 有效,取1/true/sim时输出简化结果[N,T,2](通道 0 为 confidence,通道 1 为 index float,可直接走引擎快速解码)
PIR 图翻译
bash
PaddleOnnxConverter.exe <PIR目录> <out.onnx> [opset] [shapeInfo]
- 读取
<目录>\inference.json与inference.pdiparams shapeInfo:on(默认)/off------ rec 建议开启on,det 建议关闭off
cls + rec 合并
bash
PaddleOnnxConverter.exe --merge <rec.pdparams> <cls.pdparams> <out.onnx> [clsH] [clsW] [sim]
- 将 cls 与 rec 合并为单个 onnx 模型(图内预处理 + 条件 180° 翻转)
- 输入裁剪图
[N,3,H,W],输出cls_probs[N,2]与rec_probs[N,T,V](sim 模式下为[N,T,2]) clsH/clsW默认 80/160(mobile cls 使用 48/192);仅支持 K=2 的 textline ori cls
示例
bash
PaddleOnnxConverter.exe PP-OCRv6_tiny_rec.pdparams PP-OCRv6_tiny_rec_sim.onnx 13 sim
PaddleOnnxConverter.exe ..\PP-OCRv6_tiny_rec out.onnx 13 on
PaddleOnnxConverter.exe --merge rec.pdparams cls.pdparams merged.onnx 80 160
帮助
bash
PaddleOnnxConverter.exe --help
PaddleOnnxConverter.exe -h
PaddleOnnxConverter.exe -?