zStupan commited on
Commit
8e02e4d
·
verified ·
1 Parent(s): 30c4906

2026-09-25: PP-DocLayoutV3_fp32_batchable.onnx, PP-OCRv6_medium_det.onnx, PP-OCRv6_small_det.onnx, PP-OCRv6_tiny_det.onnx, PP-OCRv6_tiny_rec_ctc.onnx, PP-OCRv6_medium_rec_ctc.onnx, PP-OCRv6_small_rec_ctc.onnx, PP-FormulaNet_plus-M_encoder.onnx, PP-FormulaNet_plus-M_prep.onnx, PP-FormulaNet_plus-M_decoder_step.onnx, PP-FormulaNet_plus-M_tokenizer.json, PP-FormulaNet_plus-S_encoder.onnx, PP-FormulaNet_plus-S_prep.onnx, PP-FormulaNet_plus-S_decoder_step.onnx, PP-FormulaNet_plus-S_tokenizer.json, SLANet_plus_encoder.onnx, SLANet_plus_decoder.bin

Browse files
MANIFEST.txt CHANGED
@@ -1,14 +1,10 @@
1
- 45bf71750b00739a41fc209f132eb104a4d6b5bb29483c9078164d8b87cf28ba PP-DocLayoutV3_fp32.onnx
2
- 1ca9480da1b2ac3bd374fd4e0f9145808d0916246b656bd139045bd0ccbf852d PP-DocLayoutV3_fp16_batchable.onnx
3
  eb13b44b25bb36f89528b68720af8a61d9cf381176107f465db1757b65d086e1 PP-OCRv6_medium_det.onnx
4
  d73e0058b7a8086bbd57f3d10b8bcd4ff95363f67e06e2762b5e814fe9c9410e PP-OCRv6_small_det.onnx
5
  193bab7a04fca699a6c82e6abb5b81bdb28177f0abd4062552b04908dafb19f8 PP-OCRv6_tiny_det.onnx
6
- 9ef676d6ed3c88256a2d92c640c44f25b0c40947e111b14b8be8f594091563e6 PP-OCRv6_tiny_rec_fp32.onnx
7
- 4831ab3e84fc176b8a0839da81076a550301a7468f3c3eb3e9b3cdb8e8721cad PP-OCRv6_tiny_rec_fp16.onnx
8
- 9c09abf0957f7968c7586464b7397b84ad2387a0497a351af40e9acc71b673ba PP-OCRv6_medium_rec_fp32.onnx
9
- a9bfe969471bedda06bc0135938aec308798fcef795d0161cd45908df6235970 PP-OCRv6_medium_rec_fp16.onnx
10
- 5435fd747c9e0efe15a96d0b378d5bd157e9492ed8fd80edf08f30d02fa24634 PP-OCRv6_small_rec_fp32.onnx
11
- 3d994c22285b8dba95d3e92add80191640054e92c316bb04b6b303a562947743 PP-OCRv6_small_rec_fp16.onnx
12
  e15dc1f333c680ba2b9eef5a8be713391ad9b587c074ff5120254063ea7a1244 PP-FormulaNet_plus-M_encoder.onnx
13
  6fd37a4dc090b28c1a2a62516ec863786f8033dca14638400c0f7e3ce71d061f PP-FormulaNet_plus-M_prep.onnx
14
  28b622239781155ab646917ac5cc0b15d32f24cebb59a7cd7a996bd6c7fdf789 PP-FormulaNet_plus-M_decoder_step.onnx
 
1
+ 5c5a84a8e70353caacbca4f25888c6b6a911b3347f7e8775afcd336650aeece0 PP-DocLayoutV3_fp32_batchable.onnx
 
2
  eb13b44b25bb36f89528b68720af8a61d9cf381176107f465db1757b65d086e1 PP-OCRv6_medium_det.onnx
3
  d73e0058b7a8086bbd57f3d10b8bcd4ff95363f67e06e2762b5e814fe9c9410e PP-OCRv6_small_det.onnx
4
  193bab7a04fca699a6c82e6abb5b81bdb28177f0abd4062552b04908dafb19f8 PP-OCRv6_tiny_det.onnx
5
+ b9f7b60ef5bb0cb51824d16cb5d9c33f2e10c3c825a060e11ddf5c836ae46527 PP-OCRv6_tiny_rec_ctc.onnx
6
+ f81aebe4dcc25be084e46e4ccffaee5ce0fd92e9e4e2c5443c655639a70b3ad2 PP-OCRv6_medium_rec_ctc.onnx
7
+ ed513aba775144c855d5864cc52137a767f186124e23db5945dd41ca518f69ac PP-OCRv6_small_rec_ctc.onnx
 
 
 
8
  e15dc1f333c680ba2b9eef5a8be713391ad9b587c074ff5120254063ea7a1244 PP-FormulaNet_plus-M_encoder.onnx
9
  6fd37a4dc090b28c1a2a62516ec863786f8033dca14638400c0f7e3ce71d061f PP-FormulaNet_plus-M_prep.onnx
10
  28b622239781155ab646917ac5cc0b15d32f24cebb59a7cd7a996bd6c7fdf789 PP-FormulaNet_plus-M_decoder_step.onnx
PP-DocLayoutV3_fp32.onnx → PP-DocLayoutV3_fp32_batchable.onnx RENAMED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:45bf71750b00739a41fc209f132eb104a4d6b5bb29483c9078164d8b87cf28ba
3
- size 130502049
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5c5a84a8e70353caacbca4f25888c6b6a911b3347f7e8775afcd336650aeece0
3
+ size 130493566
PP-DocLayoutV3_fp16_batchable.onnx → PP-OCRv6_medium_rec_ctc.onnx RENAMED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:1ca9480da1b2ac3bd374fd4e0f9145808d0916246b656bd139045bd0ccbf852d
3
- size 65503251
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f81aebe4dcc25be084e46e4ccffaee5ce0fd92e9e4e2c5443c655639a70b3ad2
3
+ size 76555275
PP-OCRv6_medium_rec_fp16.onnx DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:a9bfe969471bedda06bc0135938aec308798fcef795d0161cd45908df6235970
3
- size 38324861
 
 
 
 
PP-OCRv6_medium_rec_fp32.onnx DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:9c09abf0957f7968c7586464b7397b84ad2387a0497a351af40e9acc71b673ba
3
- size 76554979
 
 
 
 
PP-OCRv6_small_rec_fp16.onnx → PP-OCRv6_small_rec_ctc.onnx RENAMED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:3d994c22285b8dba95d3e92add80191640054e92c316bb04b6b303a562947743
3
- size 10624362
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ed513aba775144c855d5864cc52137a767f186124e23db5945dd41ca518f69ac
3
+ size 21159674
PP-OCRv6_small_rec_fp32.onnx DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:5435fd747c9e0efe15a96d0b378d5bd157e9492ed8fd80edf08f30d02fa24634
3
- size 21159378
 
 
 
 
PP-OCRv6_tiny_rec_fp16.onnx → PP-OCRv6_tiny_rec_ctc.onnx RENAMED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:4831ab3e84fc176b8a0839da81076a550301a7468f3c3eb3e9b3cdb8e8721cad
3
- size 2253959
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b9f7b60ef5bb0cb51824d16cb5d9c33f2e10c3c825a060e11ddf5c836ae46527
3
+ size 4463021
PP-OCRv6_tiny_rec_fp32.onnx DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:9ef676d6ed3c88256a2d92c640c44f25b0c40947e111b14b8be8f594091563e6
3
- size 4462639
 
 
 
 
README.md CHANGED
@@ -1,7 +1,5 @@
1
  ---
2
- license: other
3
- license_name: apache-2.0-and-agpl-3.0
4
- license_link: https://www.apache.org/licenses/LICENSE-2.0
5
  tags:
6
  - onnx
7
  - document-parsing
@@ -13,45 +11,15 @@ tags:
13
 
14
  # docparser-models
15
 
16
- Every model file [DocParser](https://github.com/docparser-rs) (a Rust
17
- document-parsing engine: Triton serving + an in-process ONNX Runtime
18
- backend) loads, flat, one commit per deployment. The checkout's
19
- `models/MANIFEST.toml` pins a commit and maps each file to its place in
20
- the Triton model repository; `scripts/fetch-models.sh` downloads and
21
- verifies them against `MANIFEST.txt` here (sha256 per file). Nothing is
22
- trained here: the files are PaddlePaddle's own ONNX exports and scripted
23
- derivations of them, all Apache-2.0.
24
 
25
- Each file is named `<official PaddlePaddle model name>_<part>`, so the name
26
- says which published checkpoint it came from.
 
 
 
 
 
27
 
28
- | File | What | Provenance | Licence |
29
- | --- | --- | --- | --- |
30
- | `PP-DocLayoutV3_fp32.onnx` | PP-DocLayoutV3 (RT-DETR-L, 25 classes + reading order), FP32 | bit-identical copy of [`PaddlePaddle/PP-DocLayoutV3_onnx`](https://huggingface.co/PaddlePaddle/PP-DocLayoutV3_onnx) `inference.onnx` @ `46bbdf18` (sha256 `45bf7175…`) | Apache-2.0 |
31
- | `PP-DocLayoutV3_fp16_batchable.onnx` | the same, output reshaped to `[B,300,7]` and converted to FP16 (GridSample / NMS kept FP32) for Triton batching on TensorRT | `scripts/models/batchable_layout.py` + `convert_fp16.py` over the file above (onnx 1.21, onnxconverter-common 1.16) | Apache-2.0 |
32
- | `PP-OCRv6_medium_det.onnx` | PP-OCRv6 text detection, medium tier (`OCR_DET_MODEL=medium`) | bit-identical copy of [`PaddlePaddle/PP-OCRv6_medium_det_onnx`](https://huggingface.co/PaddlePaddle/PP-OCRv6_medium_det_onnx) `inference.onnx` @ `61323801` (`eb13b44b…`) | Apache-2.0 |
33
- | `PP-OCRv6_small_det.onnx` | PP-OCRv6 text detection, small tier — **the tier served by default** (`OCR_DET_MODEL`) | bit-identical copy of [`PaddlePaddle/PP-OCRv6_small_det_onnx`](https://huggingface.co/PaddlePaddle/PP-OCRv6_small_det_onnx) `inference.onnx` @ `28fe5895` (`d73e0058…`) | Apache-2.0 |
34
- | `PP-OCRv6_tiny_det.onnx` | PP-OCRv6 text detection, tiny tier (0.43 M parameters) | bit-identical copy of [`PaddlePaddle/PP-OCRv6_tiny_det_onnx`](https://huggingface.co/PaddlePaddle/PP-OCRv6_tiny_det_onnx) `inference.onnx` @ `2ba1506c` (`193bab7a…`) | Apache-2.0 |
35
- | `PP-OCRv6_tiny_rec_fp32.onnx` | PP-OCRv6 text recognition, tiny tier (6906-way CTC) | bit-identical copy of [`PaddlePaddle/PP-OCRv6_tiny_rec_onnx`](https://huggingface.co/PaddlePaddle/PP-OCRv6_tiny_rec_onnx) `inference.onnx` @ `2612ab37` (`9ef676d6…`) | Apache-2.0 |
36
- | `PP-OCRv6_tiny_rec_fp16.onnx` | the same in FP16 | `convert_fp16.py` over the file above | Apache-2.0 |
37
- | `PP-OCRv6_small_rec_fp32.onnx` | PP-OCRv6 text recognition, small tier (18710-way CTC) — **the tier served by default** (`OCR_REC_MODEL`) | bit-identical copy of [`PaddlePaddle/PP-OCRv6_small_rec_onnx`](https://huggingface.co/PaddlePaddle/PP-OCRv6_small_rec_onnx) `inference.onnx` @ `b8f84f0b` (`5435fd74…`) | Apache-2.0 |
38
- | `PP-OCRv6_small_rec_fp16.onnx` | the same in FP16 | `convert_fp16.py` over the file above | Apache-2.0 |
39
- | `PP-OCRv6_medium_rec_fp32.onnx` | PP-OCRv6 text recognition, medium tier (18710-way CTC, the same dictionary as small) | bit-identical copy of [`PaddlePaddle/PP-OCRv6_medium_rec_onnx`](https://huggingface.co/PaddlePaddle/PP-OCRv6_medium_rec_onnx) `inference.onnx` @ `50c7eaca` (`9c09abf0…`) | Apache-2.0 |
40
- | `PP-OCRv6_medium_rec_fp16.onnx` | the same in FP16 | `convert_fp16.py` over the file above | Apache-2.0 |
41
- | `SLANet_plus_encoder.onnx` | SLANet-Plus encoder (PP-LCNet), the official graph up to the GRU loop's feature input | `onnx.utils.extract_model` over [`PaddlePaddle/SLANet_plus_onnx`](https://huggingface.co/PaddlePaddle/SLANet_plus_onnx) `inference.onnx` @ `7dbe640e` (`7790c0c1…`) — `scripts/models/export_slanet_plus.py::extract_encoder` | Apache-2.0 |
42
- | `SLANet_plus_decoder.bin` | the GRU decoder's 16 parameter tensors as float32 (DocParser's host decoder) | `export_slanet_plus.py::dump_decoder` over the same file; byte-identical to TurboOCR's `slanet_plus_decoder.bin` (`f4b9f9b2…`), and 16 of 16 tensors bit-equal to the named `head.` subtree of `SLANet_plus_pretrained.pdparams` (`--verify-decoder`) | Apache-2.0 |
43
- | `PP-FormulaNet_plus-M_encoder.onnx`, `_prep.onnx`, `_decoder_step.onnx`, `_tokenizer.json` | PP-FormulaNet_plus-M split for a host decode loop: vision encoder, the cross-attention K/V computed once per crop, and one greedy step against a static KV cache | `scripts/models/export_ppformulanet.py --model plus_m` over [`PaddlePaddle/PP-FormulaNet_plus-M`](https://huggingface.co/PaddlePaddle/PP-FormulaNet_plus-M) — the encoder cut from the paddle2onnx graph, the decoder's 165 tensors read by name from the official training checkpoint (`PP-FormulaNet_plus-M_pretrained.pdparams`, 165 of 165 bit-equal to the conversion's own numbering); gated at 12/12 identical tokens against PaddleX's own runtime | Apache-2.0 |
44
- | `PP-FormulaNet_plus-S_encoder.onnx`, `_prep.onnx`, `_decoder_step.onnx`, `_tokenizer.json` | the same split for plus-S, which decodes **three tokens per step** (`parallel_step: 3`) — the throughput tier | `scripts/models/export_ppformulanet.py --model plus_s`; decoder weights by name likewise (61 of 61); same gate, 12/12 | Apache-2.0 |
45
-
46
- Contracts (inputs, normalisation, post-processing) follow each source's
47
- `inference.yml`; the pre/post-processing code is in the DocParser checkout
48
- (`crates/docparser-inference/src/preprocess/`,
49
- `deploy/triton_model_repository/`). The CTC dictionary of the recogniser is
50
- a text file in that checkout, not here. Why these models and not their
51
- siblings is measured in `docparser-bench/docs/BENCH-2026-09.md` (OmniDocBench
52
- v1.6 §8, the per-slot ablations §1–7).
53
-
54
- Redistribution: all files are Apache-2.0, under that licence with this
55
- attribution. (Texo, an AGPL-3.0 checkpoint, served the formula slot's
56
- throughput tier until Stage 14 and was replaced by PP-FormulaNet_plus-S;
57
- nothing here is copyleft any more.)
 
1
  ---
2
+ license: apache-2.0
 
 
3
  tags:
4
  - onnx
5
  - document-parsing
 
11
 
12
  # docparser-models
13
 
14
+ ONNX exports of PaddlePaddle document models, one flat file per model.
15
+ `MANIFEST.txt` lists the sha256 of every file. All files are Apache-2.0.
 
 
 
 
 
 
16
 
17
+ | File | Model | Source |
18
+ | --- | --- | --- |
19
+ | `PP-DocLayoutV3_fp32_batchable.onnx` | layout detection | [`PaddlePaddle/PP-DocLayoutV3_onnx`](https://huggingface.co/PaddlePaddle/PP-DocLayoutV3_onnx), output reshaped to `[B,300,7]` |
20
+ | `PP-OCRv6_{tiny,small,medium}_det.onnx` | text detection | [`PaddlePaddle/PP-OCRv6_*_det_onnx`](https://huggingface.co/PaddlePaddle), unchanged |
21
+ | `PP-OCRv6_{tiny,small,medium}_rec_ctc.onnx` | text recognition | [`PaddlePaddle/PP-OCRv6_*_rec_onnx`](https://huggingface.co/PaddlePaddle), plus `ctc_idx` / `ctc_prob` outputs (argmax and max over the class axis) |
22
+ | `SLANet_plus_encoder.onnx`, `SLANet_plus_decoder.bin` | table structure | [`PaddlePaddle/SLANet_plus_onnx`](https://huggingface.co/PaddlePaddle/SLANet_plus_onnx): the encoder graph, and the GRU decoder's weights as raw float32 |
23
+ | `PP-FormulaNet_plus-{M,S}_{encoder,prep,decoder_step}.onnx`, `_tokenizer.json` | formula recognition | [`PaddlePaddle/PP-FormulaNet_plus-M`](https://huggingface.co/PaddlePaddle/PP-FormulaNet_plus-M) / [`-S`](https://huggingface.co/PaddlePaddle/PP-FormulaNet_plus-S), split into encoder, cross-attention precompute and one greedy decoder step over a static KV cache |
24
 
25
+ Pre- and post-processing follow each source model's `inference.yml`.