PP-DocLayoutV3-onnx / README.md
AlexTransformer's picture
Fix UTF-8 Chinese text in model card
504ba2b verified
---
license: apache-2.0
tags:
- paddleocr-vl
- pp-doclayoutv3
- onnxruntime
- document-layout-analysis
- rocm
- vllm
- llama-cpp
pipeline_tag: object-detection
library_name: onnxruntime
---
# PP-DocLayoutV3 ONNX for PaddleOCR-VL-ROCm
This repository hosts the verified `PP-DocLayoutV3` ONNX layout model used by the open-source project [AIwork4me/PaddleOCR-VL-ROCm](https://github.com/AIwork4me/PaddleOCR-VL-ROCm).
## 中文说明
本仓库提供已经验证过的 `PP-DocLayoutV3-onnx` 模型文件,供 [PaddleOCR-VL-ROCm](https://github.com/AIwork4me/PaddleOCR-VL-ROCm) 直接下载使用。
用户不需要再安装 Paddle、Paddle2ONNX,也不需要自己从 Paddle 模型导出 ONNX。克隆开源项目后,只需运行下载脚本即可准备 layout 模型。
## Files
- `inference.onnx`: PP-DocLayoutV3 ONNX layout detection model.
- `inference.yml`: model configuration used by the ONNXRuntime pipeline.
Verified checksums:
| File | SHA256 |
|---|---|
| `inference.onnx` | `BC307C102A52A10EEDF20F36A03DF384B8EB2224BEB2E5E716C581901A8F0B61` |
| `inference.yml` | `506FCFAC13B3B546AE40D7886B44126420F392ADB694E3F8BB6A6286A1F90FDC` |
## Open-Source Project
Recommended runtime project:
[https://github.com/AIwork4me/PaddleOCR-VL-ROCm](https://github.com/AIwork4me/PaddleOCR-VL-ROCm)
`PaddleOCR-VL-ROCm` is a lightweight No-Paddle inference implementation for PaddleOCR-VL-style document parsing:
- Layout detection runs with ONNXRuntime and this `PP-DocLayoutV3-onnx` model.
- Visual language recognition is served by an OpenAI-compatible ROCm endpoint, such as vLLM or llama.cpp server.
- The project exposes both CLI and Python APIs.
- Outputs are saved as PaddleOCR-VL-style JSON and Markdown.
- The code repository is open source and uses the MIT license.
## Why This Helps Users
This model repository removes the most painful setup step for users.
Before this model repository, users often had to:
1. Install Paddle or PaddleX dependencies.
2. Install and configure Paddle2ONNX.
3. Export PP-DocLayoutV3 by themselves.
4. Debug model file names, model config files, and ONNXRuntime input compatibility.
With this repository, users can directly download the verified ONNX model used by `PaddleOCR-VL-ROCm`:
```powershell
pip install -e .[download]
python scripts/download_ppdoclayoutv3_onnx.py
```
The script downloads from this Hugging Face repository by default and prepares:
```text
models/PP-DocLayoutV3-onnx/
inference.onnx
inference.yml
```
This gives users a simpler path:
- No PaddlePaddle runtime is required for inference.
- No Paddle2ONNX conversion is required.
- No large model files are stored in the GitHub repo.
- The same verified model artifact is shared by all users.
- The GitHub repo stays small, clean, and easy to clone.
- ROCm acceleration can be handled by the VLM server while layout remains portable through ONNXRuntime.
## Validation Result
The ONNXRuntime layout path used by `PaddleOCR-VL-ROCm` has been validated against the Paddle native pipeline on 1355 images.
| Item | Result |
|---|---:|
| Full-run success | 1355 / 1355 |
| Payload alignment | 1355 / 1355 |
| Layout, crop, request order, request payload | Strictly aligned |
This means the open-source runtime can use this ONNX layout model as a practical replacement for the Paddle layout stage in the validated inference path.
## Quick Start With PaddleOCR-VL-ROCm
```powershell
git clone https://github.com/AIwork4me/PaddleOCR-VL-ROCm.git
cd PaddleOCR-VL-ROCm
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e .[download]
python scripts/download_ppdoclayoutv3_onnx.py
```
Then run inference with your OpenAI-compatible ROCm VLM endpoint:
```powershell
paddleocr-vl-rocm `
--input examples/input/handwrite_ch_demo.png `
--output outputs/smoke `
--layout-model models/PP-DocLayoutV3-onnx `
--server-url http://127.0.0.1:8000/v1 `
--api-model-name PaddleOCR-VL-1.5-0.9B `
--vlm-backend vllm-server
```
Expected output files:
```text
outputs/smoke/handwrite_ch_demo_res.json
outputs/smoke/handwrite_ch_demo.md
```
## Python API Example
```python
from paddleocr_vl_rocm import PaddleOCRVLROCm
pipeline = PaddleOCRVLROCm(
layout_model_dir="models/PP-DocLayoutV3-onnx",
vlm_server_url="http://127.0.0.1:8000/v1",
api_model_name="PaddleOCR-VL-1.5-0.9B",
)
result = pipeline.predict("examples/input/handwrite_ch_demo.png")
result.save_to_json("outputs")
result.save_to_markdown("outputs", pretty=False)
```
## Scope
This repository only contains the layout model files for the ONNXRuntime stage. It does not include PaddleOCR-VL VLM weights. For the complete inference pipeline, use [AIwork4me/PaddleOCR-VL-ROCm](https://github.com/AIwork4me/PaddleOCR-VL-ROCm) together with a ROCm-backed OpenAI-compatible VLM service.
## 中文摘要
这个 Hugging Face 仓库的作用是给 `PaddleOCR-VL-ROCm` 提供可直接下载的、已验证的 `PP-DocLayoutV3-onnx` layout 模型。用户克隆 GitHub 项目后,只需要运行下载脚本即可准备模型,不需要安装 Paddle2ONNX,也不需要自己转换模型。
开源项目地址:[AIwork4me/PaddleOCR-VL-ROCm](https://github.com/AIwork4me/PaddleOCR-VL-ROCm)
主要好处:
- 降低安装门槛。
- 避免 Paddle2ONNX 转换差异。
- GitHub 仓库保持轻量,不提交大模型。
- ONNXRuntime 负责 layout,ROCm/vLLM 或 llama.cpp 负责 VLM 推理。
- 已在 1355 张图片上完成验证,full-run success 和 payload alignment 均为 `1355 / 1355`