pp-ocrv5-mobile-det / bundle.json
tomsanbear's picture
Add validated PP-OCRv5 detection bundle
47e212d verified
Raw
History Blame Contribute Delete
4.33 kB
{
"architecture_id": "ocr.ppocr-dbnet",
"bundle_id": "ocr/detector/ppocr-dbnet",
"license": "Apache-2.0",
"parity_source": {
"files": [
"det_mobile.onnx",
"det.json",
"ocr_model/ocr_det.axmodel"
],
"repo": "AXERA-TECH/PPOCR_v5",
"revision": "2a3427a63c410ee6982250769126328ad85eb24a"
},
"preprocessing": {
"known_mismatches": [
"source inference.yml uses DetResizeForTest resize_long=960, while current markers preprocessing direct-stretches to 960x960",
"source preprocessor_config.json and inference.yml list mean/std in opposite channel orders; impl-candle-ocr-detectors must resolve this against source or legacy parity fixtures before changing constants",
"source model names the main input pixel_values in Transformers and x in Paddle inference metadata"
],
"markers_legacy_compat": {
"channel_order": "bgr",
"input_shape": [
1,
3,
960,
960
],
"mean_u8": [
123.675,
116.28,
103.53
],
"output": "probability_map",
"postprocess": "decode_prob_map",
"resize": "direct-stretch-to-square",
"std_u8": [
58.395,
57.12,
57.375
]
},
"source_inference_yml": {
"dynamic_shapes": [
[
1,
3,
32,
32
],
[
1,
3,
736,
736
],
[
1,
3,
4000,
4000
]
],
"normalize_mean": [
0.485,
0.456,
0.406
],
"normalize_order": "hwc",
"normalize_scale": "1./255.",
"normalize_std": [
0.229,
0.224,
0.225
],
"paddle_input_name": "x",
"resize_long": 960,
"to_chw": true
},
"source_processor": {
"channel_first": false,
"do_normalize": true,
"do_rescale": true,
"do_resize": true,
"image_mean": [
0.406,
0.456,
0.485
],
"image_mode": "BGR",
"image_std": [
0.225,
0.224,
0.229
],
"limit_side_len": 960,
"max_side_limit": 4000,
"model_input_names": [
"pixel_values",
"original_image_size"
],
"rescale_factor": 0.00392156862745098
}
},
"provenance": {
"conversion": "native safetensors copied byte-for-byte; metadata generated",
"runtime_onnx": "false",
"source_model_class": "PPOCRv5MobileDetForObjectDetection",
"source_output": "sigmoid probability map, not logits",
"source_paddle_input_name": "x",
"source_transformers_input_name": "pixel_values",
"source_transformers_output_name": "last_hidden_state"
},
"required_files": [
{
"path": "model.safetensors",
"role": "weights"
},
{
"path": "config.json",
"role": "config"
},
{
"path": "preprocessor_config.json",
"role": "preprocessor"
},
{
"path": "inference.yml",
"role": "source-inference-config"
},
{
"path": "README.md",
"role": "source-card"
},
{
"path": "ocr_pipeline.py",
"role": "source-example"
},
{
"path": "tensor_map.json",
"role": "tensor-map"
},
{
"path": "validation.json",
"role": "validation"
}
],
"schema_version": 1,
"source": {
"files": [
"README.md",
"config.json",
"inference.yml",
"model.safetensors",
"ocr_pipeline.py",
"preprocessor_config.json"
],
"repo": "PaddlePaddle/PP-OCRv5_mobile_det_safetensors",
"revision": "c5041d225cf951ff06900ab81a3c7d543c45e2ad"
},
"tensor_contract": {
"inputs": [
{
"aliases": [
"x"
],
"dtype": "f32",
"name": "pixel_values",
"shape": [
"batch",
3,
960,
960
]
}
],
"outputs": [
{
"aliases": [
"last_hidden_state"
],
"dtype": "f32",
"name": "probability_map",
"shape": [
"batch",
1,
960,
960
]
}
]
},
"validated_runtime": [
{
"device": "cpu",
"dtype": "f32"
}
]
}