| --- |
| 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`。 |
|
|