---
title: PP-DocLayoutV2_safetensors
canonical_url: "https://www.modelscope.cn/models/PaddlePaddle/PP-DocLayoutV2_safetensors"
md_url: "https://www.modelscope.cn/models/PaddlePaddle/PP-DocLayoutV2_safetensors.md"
repository: PaddlePaddle/PP-DocLayoutV2_safetensors
last_updated: 2026-04-15
license: apache-2.0
model_type:
  - pp_doclayout_v2
architectures:
  - PPDocLayoutV2ForObjectDetection
parameters: 53.7M
tensor_type:
  - F32
library_name:
  - transformer
  - safetensors
language:
  - en
  - zh
  - multilingual
downloads: 554
stars: 0
tags:
  - PaddleOCR
  - PaddlePaddle
  - ocr
  - layout
  - layout_detection
---

# PP-DocLayoutV2_safetensors

> PP-DocLayoutV2_safetensors - PaddlePaddle 在 ModelScope 开源的模型。PP-DocLayoutV2 is a dedicated lightweight model for layout analysis, focusing specifically on element detection, classification, and reading order prediction.

PaddlePaddle/PP-DocLayoutV2_safetensors 是 ModelScope 魔搭社区上的 53.7M 参数机器学习模型，采用 apache-2.0 许可。

- **Repository**: PaddlePaddle/PP-DocLayoutV2_safetensors
- **License**: apache-2.0
- **Parameters**: 53.7M
- **Tags**: PaddleOCR, PaddlePaddle, ocr, layout, layout_detection
- **Downloads**: 554
- **Stars**: 0
- **Last updated**: 2026-04-15

Source: https://www.modelscope.cn/models/PaddlePaddle/PP-DocLayoutV2_safetensors

---

## Introduction

**PP-DocLayoutV2** is a dedicated lightweight model for layout analysis, focusing specifically on element detection, classification, and reading order
prediction. 


## **Model Architecture** 

PP-DocLayoutV2 is composed of two sequentially connected networks. The first is an RT-DETR-based detection model that performs layout element detection and classification. The detected bounding boxes and class labels are then passed to a subsequent pointer network, which is responsible for ordering these layout elements.

<div align="center">
<img src="https://huggingface.co/datasets/PaddlePaddle/PaddleOCR-VL_demo/resolve/main/imgs/PP-DocLayoutV2.png" width="800"/>
</div>


## Model Usage

```python
import requests
from PIL import Image
from transformers import AutoImageProcessor, AutoModelForObjectDetection

model_path = "PaddlePaddle/PP-DocLayoutV2_safetensors"
model = AutoModelForObjectDetection.from_pretrained(model_path)
image_processor = AutoImageProcessor.from_pretrained(model_path)
image = Image.open(requests.get("https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/layout_demo.jpg", stream=True).raw)
inputs = image_processor(images=image, return_tensors="pt")

outputs = model(**inputs)
results = image_processor.post_process_object_detection(outputs, target_sizes=[image.size[::-1]])
for result in results:
    print(result["scores"])
    print(result["labels"])
    print(result["boxes"])
    for idx, (score, label_id, box) in enumerate(zip(result["scores"], result["labels"], result["boxes"])):
        score, label = score.item(), label_id.item()
        box = [round(i, 2) for i in box.tolist()]
        print(f"Order {idx + 1}: {model.config.id2label[label]}: {score:.2f} {box}")
```
