Paddle 文档模型库
官方版本核验日期:2026-10-14。范围为 OCR、版面、表格、公式;按用户要求未下载 PaddleOCR-VL。
模型来自 PaddlePaddle 官方 Hugging Face 账号;每个仓库固定到具体提交,权重使用官方 LFS SHA256 校验,配置文件使用 Git blob 哈希校验。来源与版本见 sources.lock.json,下载结果见 download_report.json。
模型选择
| 类别 | 本次下载 | 用途 |
|---|---|---|
| OCR | PP-OCRv6_tiny_det / rec | 轻量设备 |
| OCR | PP-OCRv6_small_det / rec | 速度与识别能力兼顾 |
| OCR | PP-OCRv6_medium_det / rec | 默认高精度档 |
| 版面 | PP-DocLayoutV3 | 最新版面、阅读顺序与区域掩码 |
| 版面 | PP-DocLayout-S | 轻量版面检测备选 |
| 表格 | SLANet_plus | 轻量结构识别 |
| 表格 | SLANeXt_wired / wireless | 有线 / 无线表格,按实际表格类型选择 |
| 公式 | PP-FormulaNet_plus-S / M / L | S 适合较轻量英文公式;M/L 支持更复杂中英文公式 |
共 14 个独立模型。OCR 的 det 和 rec 是配套的两个模型,必须使用同一档位及对应识别字典。
目录
PaddleDocModel/
OCR | Layout | Table | Formula/
<官方模型名称>/
paddle/ 原始 inference.json、pdiparams、yml
onnx/fp32/ 官方 ONNX 或本地导出结果
inference.onnx 保留原始 ONNX
inference.compat.onnx 部分表格/公式的兼容副本;存在时优先使用
openvino/fp32/ 默认 XML + BIN
openvino/fp16/ 权重压缩 XML + BIN,按需评估
dict/ OCR 字典、公式 tokenizer 等
preprocess_postprocess.json
conversion_report.json
deployment/<系统>/<硬件>.json
model_catalog.json 统一模型入口,路径均相对本目录
verification/ 推理、输出一致性、GPU 节点执行记录及样例
原有 openvino_ir_real 文件保持原样。四类旧 model_manifest.json 的 selectedModel/defaultStartup 保留,以兼容既有服务;新版本通过 latestModels/latestRecommendedModel 和根目录 model_catalog.json 读取。尚未修改其他项目的服务配置。
系统和硬件
| 目标 | 文件格式 | 推理后端 | 验证范围 |
|---|---|---|---|
| Windows x64,Intel/AMD CPU | ONNX FP32 | ONNX Runtime CPU | 本机 Intel CPU 已测 |
| Windows/Linux,Intel CPU | OpenVINO FP32 | OpenVINO CPU | Windows 本机已测 |
| Windows,NVIDIA GPU | ONNX FP32 | DirectML + CPU | RTX 4060 已测,记录实际 GPU 节点 |
| Windows,AMD/Intel GPU | ONNX FP32 | DirectML + CPU | 后端已在 RTX 4060 验证,目标显卡待测 |
| Linux,NVIDIA GPU | ONNX FP32 | CUDA + CPU;可选 TensorRT | 需匹配 CUDA/cuDNN,目标环境待测 |
| Linux,AMD GPU | ONNX FP32 | MIGraphX + CPU | 需兼容 ROCm/MIGraphX 构建,目标环境待测 |
| macOS,Intel/Apple CPU | ONNX FP32 | ONNX Runtime CPU | 目标机器待测 |
| macOS,Apple Silicon | ONNX FP32 | CoreML MLProgram + CPU | 需 macOS 12+,在 Mac 编译缓存,目标机器待测 |
| Intel GPU/NPU | OpenVINO | GPU/NPU 插件 | GPU/NPU 算子、静态形状兼容需在目标设备验证 |
格式相同的模型不按系统重复复制。平台配置说明如何选择执行后端;它们不表示所有算子都能在 GPU/NPU 上运行。循环、条件分支等算子可能回退 CPU。Apple CoreML、Linux CUDA/MIGraphX、Intel GPU/NPU 没有在本机验证。
FP16 是权重存储压缩,CPU 计算可仍使用 FP32;部分 OCR 检测输出与原模型偏差明显高于 FP32。默认使用 FP32,FP16 的识别精度需针对自己的文档集评估。本次没有 INT8 校准数据,因此未生成 INT8 模型。
查找可用路径
在本仓库根目录 D:\Projects\HuggingFaceModels\PaddleDocModel 中运行;本机独立 Python 环境位于上一级目录:
../.venv-paddle/Scripts/python.exe tools/select_model.py --os windows --hardware nvidia --category OCR --tier medium --component rec
../.venv-paddle/Scripts/python.exe tools/select_model.py --os windows --hardware intel --category Formula
返回模型绝对路径、原始预处理/后处理配置、执行后端及实测状态。应用应使用模型自带配置和字典完成预处理、解码;这些权重本身并非完整文档解析应用。
更新、转换与验证
以下命令均从仓库根目录运行。上一级目录的 .venv-paddle 和 .venv-directml 是本次创建的独立环境,没有改动全局 Python 包或其他项目环境。精确依赖见 tools/requirements-windows-*.lock.txt。克隆到其他位置后,创建自己的环境并相应调整 Python 路径;模型和工具均包含在本仓库中。
# 重新下载固定版本,已校验文件会复用;--refresh 才重新获取官方最新提交
../.venv-paddle/Scripts/python.exe tools/sync_paddle_models.py
../.venv-paddle/Scripts/python.exe tools/sync_paddle_models.py --refresh
# 缺少 ONNX 的模型通过现有 WSL Linux 环境导出,再在 Windows 转为 IR
../.venv-paddle/Scripts/python.exe tools/convert_paddle_models.py --converter wsl:PDFSuiteUbuntu22:/root/.venvs/pdfsuite-model-conversion/bin/paddle2onnx
# CPU 与本机 DirectML 推理验证
../.venv-paddle/Scripts/python.exe tools/verify_runtime.py
../.venv-directml/Scripts/python.exe tools/verify_runtime.py --provider DmlExecutionProvider
# 原始 Paddle 与转换输出比较
../.venv-paddle/Scripts/python.exe tools/verify_ocr_parity.py
../.venv-paddle/Scripts/python.exe tools/verify_native_parity.py
# 更新统一清单和平台配置
../.venv-paddle/Scripts/python.exe tools/publish_catalog.py
Linux/macOS 环境可用 tools/requirements-models.txt 安装转换/验证依赖;需要导出原始 Paddle 模型时,另用 Linux Python 3.10 环境安装 tools/requirements-export-linux.txt。convert_paddle_models.py --converter /path/to/paddle2onnx 可指定导出工具。本次 Windows Paddle2ONNX 2.1.0 配合稳定版 Paddle 3.3.1 存在 DLL 兼容问题,因此使用 Linux Paddle 3.0.0 + Paddle2ONNX 2.1.0 完成导出。
兼容副本包含两种有记录的修改:表格循环变量更名,公式声明为标量的 If 输出恢复为标量。这些修改保留权重和数值;原始文件不覆盖,修改数量、哈希、转换命令和原始模型输出对照都保存在报告中。公式导出请求 opset 16,工具可自动升级到 opset 18,实际值以清单为准。
TensorRT
TensorRT 引擎需要在实际部署显卡、系统和 TensorRT 版本下构建,不提供假定通用的 .engine 文件。已提供目标机器构建入口,采用模型自带的动态形状范围:
python tools/build_tensorrt.py OCR PP-OCRv6_medium_rec --fp16 --trtexec C:/TensorRT/bin/trtexec.exe
结果写入对应模型的 tensorrt/fp16/,日志包含后端对算子支持的实际结果。本次未安装 TensorRT,也未生成/验证 NVIDIA CUDA 或 TensorRT 引擎。
证据与限制
verification/CPUExecutionProvider.json、DmlExecutionProvider.json、ocr_parity.json、native_parity.json 记录每个模型的真实结果。GPU 实测使用 Windows、RTX 4060、驱动 560.94;DirectML 的逐节点统计可区分 GPU 执行与 CPU 回退。
推理检查包含模型加载、实际输出和有限数值检查;OCR 使用已知文本图像,版面使用官方文档样例。它们验证模型可执行和转换结果一致性,不替代完整文档数据集的识别精度评测,也不证明所有系统、硬件和输入尺寸都可用。
官方参考:PaddleOCR 发布记录、PaddleX ONNX 导出、CoreML 后端、DirectML 后端、TensorRT 可移植性。