JART_models / paddleocr_v5 /graph_contracts.json
Vasyanator2's picture
Add JART runtime models with Git LFS
1cc8075 verified
{
"schema_version": 1,
"source_audit": "fixtures/paddleocr_v5/source_audit.json",
"notes": [
"Paddle value ids come from inference.json.",
"paddle_block_op_index is the index accepted by paddle_reference_runner.py --fetch-op.",
"Each listed parameter key is assigned to one typed block for converter canonicalization."
],
"variants": [
{
"variant": "PP-OCRv5_mobile_det",
"model_dir": "models/PaddlePaddle/PP-OCRv5_mobile_det",
"family": "ppocr_v5_text_detection",
"input_fixture": "fixtures/paddleocr_v5/PP-OCRv5_mobile_det_input.safetensors",
"input_shape": [
1,
3,
640,
640
],
"dynamic_shape_constraints": {
"prepared_input": "NCHW fp32 with 3 channels; detector graph accepts dynamic spatial dimensions from the exported Paddle contract.",
"trt_dynamic_shapes": [
[
1,
3,
32,
32
],
[
1,
3,
736,
736
],
[
1,
3,
4000,
4000
]
],
"recommended_parity_shape": [
1,
3,
640,
640
],
"output": "raw probability map [N,1,Hout,Wout]; host postprocess owns boxes/crops."
},
"source_hashes": {
"config_json": "7ac1c33f377ba58561f4b89d3180b6add2b7c5c60a4edac90fa4e0ceccdc6665",
"inference_json": "05feef1acb00aa4cd7362b15f7f501fc4f99d7b1fa73c1c871e0c7b1504b0f5c",
"inference_pdiparams": "afa1820cb16c1fd0dad589d0f8b389139061c1ef6d68019685fd07be997dda5b"
},
"blocks": [
{
"name": "pplcnetv3.stem",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/ConvBNLayer"
],
"op_count": 2,
"op_inventory": {
"1.batch_norm_": 1,
"1.conv2d": 1
},
"parameter_keys": [
"batch_norm2d_0.b_0",
"batch_norm2d_0.w_0",
"batch_norm2d_0.w_1",
"batch_norm2d_0.w_2",
"conv2d_0.w_0"
],
"output": {
"source_op_index": 731,
"paddle_block_op_index": 236,
"op_type": "1.batch_norm_",
"value_id": 237,
"shape": [
-1,
16,
-1,
-1
],
"struct_name": "/PPLCNetV3/ConvBNLayer/BatchNorm2D/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_stem",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_det.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_det_metadata.json",
"fetch_op": {
"name": "pplcnetv3_stem",
"paddle_block_op_index": 236
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
16,
320,
320
],
"materialized_sha256": "6a54e4df2608e7f5f2f2f6020793c60b9cbf123b5f0668b7d4e30f1e2d49022c"
}
},
{
"name": "pplcnetv3.sequential",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential"
],
"op_count": 16,
"op_inventory": {
"1.add": 6,
"1.conv2d": 1,
"1.depthwise_conv2d": 1,
"1.hardswish": 2,
"1.multiply": 4,
"1.reshape": 2
},
"parameter_keys": [
"conv2d_161.b_0",
"conv2d_161.w_0",
"conv2d_162.b_0",
"conv2d_162.w_0",
"learnable_affine_block_0.w_0",
"learnable_affine_block_0.w_1",
"learnable_affine_block_1.w_0",
"learnable_affine_block_1.w_1",
"learnable_affine_block_2.w_0",
"learnable_affine_block_2.w_1",
"learnable_affine_block_3.w_0",
"learnable_affine_block_3.w_1"
],
"output": {
"source_op_index": 898,
"paddle_block_op_index": 254,
"op_type": "1.add",
"value_id": 260,
"shape": [
-1,
32,
-1,
-1
],
"struct_name": "/PPLCNetV3/Sequential/LCNetV3Block/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_det.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_det_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential",
"paddle_block_op_index": 254
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
32,
320,
320
],
"materialized_sha256": "c5e9ab59b0b19a2796e8210442e52ba98060631a7dc71e9fea4f639320cbd503"
}
},
{
"name": "pplcnetv3.sequential_1",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential_1"
],
"op_count": 29,
"op_inventory": {
"1.add": 11,
"1.conv2d": 2,
"1.depthwise_conv2d": 2,
"1.hardswish": 3,
"1.multiply": 7,
"1.reshape": 4
},
"parameter_keys": [
"conv2d_163.b_0",
"conv2d_163.w_0",
"conv2d_164.b_0",
"conv2d_164.w_0",
"conv2d_165.b_0",
"conv2d_165.w_0",
"conv2d_166.b_0",
"conv2d_166.w_0",
"learnable_affine_block_10.w_0",
"learnable_affine_block_10.w_1",
"learnable_affine_block_11.w_0",
"learnable_affine_block_11.w_1",
"learnable_affine_block_4.w_0",
"learnable_affine_block_4.w_1",
"learnable_affine_block_6.w_0",
"learnable_affine_block_6.w_1",
"learnable_affine_block_7.w_0",
"learnable_affine_block_7.w_1",
"learnable_affine_block_8.w_0",
"learnable_affine_block_8.w_1",
"learnable_affine_block_9.w_0",
"learnable_affine_block_9.w_1"
],
"output": {
"source_op_index": 1172,
"paddle_block_op_index": 287,
"op_type": "1.add",
"value_id": 293,
"shape": [
-1,
48,
-1,
-1
],
"struct_name": "/PPLCNetV3/Sequential_1/LCNetV3Block_1/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential_1",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_det.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_det_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential_1",
"paddle_block_op_index": 287
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
48,
160,
160
],
"materialized_sha256": "5757e212af17624dd19bfe8dee3b7bbd73f7b7968bc1c70fcfcbde2567c59674"
}
},
{
"name": "pplcnetv3.sequential_2",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential_2"
],
"op_count": 29,
"op_inventory": {
"1.add": 11,
"1.conv2d": 2,
"1.depthwise_conv2d": 2,
"1.hardswish": 3,
"1.multiply": 7,
"1.reshape": 4
},
"parameter_keys": [
"conv2d_167.b_0",
"conv2d_167.w_0",
"conv2d_168.b_0",
"conv2d_168.w_0",
"conv2d_169.b_0",
"conv2d_169.w_0",
"conv2d_170.b_0",
"conv2d_170.w_0",
"learnable_affine_block_12.w_0",
"learnable_affine_block_12.w_1",
"learnable_affine_block_14.w_0",
"learnable_affine_block_14.w_1",
"learnable_affine_block_15.w_0",
"learnable_affine_block_15.w_1",
"learnable_affine_block_16.w_0",
"learnable_affine_block_16.w_1",
"learnable_affine_block_17.w_0",
"learnable_affine_block_17.w_1",
"learnable_affine_block_18.w_0",
"learnable_affine_block_18.w_1",
"learnable_affine_block_19.w_0",
"learnable_affine_block_19.w_1"
],
"output": {
"source_op_index": 1446,
"paddle_block_op_index": 320,
"op_type": "1.add",
"value_id": 326,
"shape": [
-1,
96,
-1,
-1
],
"struct_name": "/PPLCNetV3/Sequential_2/LCNetV3Block_1/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential_2",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_det.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_det_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential_2",
"paddle_block_op_index": 320
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
96,
80,
80
],
"materialized_sha256": "2cbccd02b7802e47e3cf952eee4981b92d0962d6d7f07d579e5566b7f1b32835"
}
},
{
"name": "pplcnetv3.sequential_3",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential_3"
],
"op_count": 77,
"op_inventory": {
"1.add": 29,
"1.conv2d": 5,
"1.depthwise_conv2d": 5,
"1.hardswish": 9,
"1.multiply": 19,
"1.reshape": 10
},
"parameter_keys": [
"conv2d_171.b_0",
"conv2d_171.w_0",
"conv2d_172.b_0",
"conv2d_172.w_0",
"conv2d_173.b_0",
"conv2d_173.w_0",
"conv2d_174.b_0",
"conv2d_174.w_0",
"conv2d_175.b_0",
"conv2d_175.w_0",
"conv2d_176.b_0",
"conv2d_176.w_0",
"conv2d_177.b_0",
"conv2d_177.w_0",
"conv2d_178.b_0",
"conv2d_178.w_0",
"conv2d_179.b_0",
"conv2d_179.w_0",
"conv2d_180.b_0",
"conv2d_180.w_0",
"learnable_affine_block_20.w_0",
"learnable_affine_block_20.w_1",
"learnable_affine_block_22.w_0",
"learnable_affine_block_22.w_1",
"learnable_affine_block_23.w_0",
"learnable_affine_block_23.w_1",
"learnable_affine_block_24.w_0",
"learnable_affine_block_24.w_1",
"learnable_affine_block_25.w_0",
"learnable_affine_block_25.w_1",
"learnable_affine_block_26.w_0",
"learnable_affine_block_26.w_1",
"learnable_affine_block_27.w_0",
"learnable_affine_block_27.w_1",
"learnable_affine_block_28.w_0",
"learnable_affine_block_28.w_1",
"learnable_affine_block_29.w_0",
"learnable_affine_block_29.w_1",
"learnable_affine_block_30.w_0",
"learnable_affine_block_30.w_1",
"learnable_affine_block_31.w_0",
"learnable_affine_block_31.w_1",
"learnable_affine_block_32.w_0",
"learnable_affine_block_32.w_1",
"learnable_affine_block_33.w_0",
"learnable_affine_block_33.w_1",
"learnable_affine_block_34.w_0",
"learnable_affine_block_34.w_1",
"learnable_affine_block_35.w_0",
"learnable_affine_block_35.w_1",
"learnable_affine_block_36.w_0",
"learnable_affine_block_36.w_1",
"learnable_affine_block_37.w_0",
"learnable_affine_block_37.w_1",
"learnable_affine_block_38.w_0",
"learnable_affine_block_38.w_1",
"learnable_affine_block_39.w_0",
"learnable_affine_block_39.w_1"
],
"output": {
"source_op_index": 2158,
"paddle_block_op_index": 407,
"op_type": "1.add",
"value_id": 413,
"shape": [
-1,
192,
-1,
-1
],
"struct_name": "/PPLCNetV3/Sequential_3/LCNetV3Block_4/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential_3",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_det.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_det_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential_3",
"paddle_block_op_index": 407
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
192,
40,
40
],
"materialized_sha256": "7c83e7f0b7778333100076ff1e6c3b1f1e5444b4ad27d11234eb5fcbbe0df5c8"
}
},
{
"name": "pplcnetv3.sequential_4",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential_4"
],
"op_count": 81,
"op_inventory": {
"1.add": 27,
"1.conv2d": 8,
"1.depthwise_conv2d": 4,
"1.hardsigmoid": 2,
"1.hardswish": 7,
"1.multiply": 17,
"1.pool2d": 2,
"1.relu": 2,
"1.reshape": 12
},
"parameter_keys": [
"conv2d_107.b_0",
"conv2d_107.w_0",
"conv2d_108.b_0",
"conv2d_108.w_0",
"conv2d_181.b_0",
"conv2d_181.w_0",
"conv2d_182.b_0",
"conv2d_182.w_0",
"conv2d_183.b_0",
"conv2d_183.w_0",
"conv2d_184.b_0",
"conv2d_184.w_0",
"conv2d_185.b_0",
"conv2d_185.w_0",
"conv2d_186.b_0",
"conv2d_186.w_0",
"conv2d_187.b_0",
"conv2d_187.w_0",
"conv2d_188.b_0",
"conv2d_188.w_0",
"conv2d_96.b_0",
"conv2d_96.w_0",
"conv2d_97.b_0",
"conv2d_97.w_0",
"learnable_affine_block_40.w_0",
"learnable_affine_block_40.w_1",
"learnable_affine_block_42.w_0",
"learnable_affine_block_42.w_1",
"learnable_affine_block_43.w_0",
"learnable_affine_block_43.w_1",
"learnable_affine_block_44.w_0",
"learnable_affine_block_44.w_1",
"learnable_affine_block_45.w_0",
"learnable_affine_block_45.w_1",
"learnable_affine_block_46.w_0",
"learnable_affine_block_46.w_1",
"learnable_affine_block_47.w_0",
"learnable_affine_block_47.w_1",
"learnable_affine_block_48.w_0",
"learnable_affine_block_48.w_1",
"learnable_affine_block_49.w_0",
"learnable_affine_block_49.w_1",
"learnable_affine_block_50.w_0",
"learnable_affine_block_50.w_1",
"learnable_affine_block_51.w_0",
"learnable_affine_block_51.w_1",
"learnable_affine_block_52.w_0",
"learnable_affine_block_52.w_1",
"learnable_affine_block_53.w_0",
"learnable_affine_block_53.w_1",
"learnable_affine_block_54.w_0",
"learnable_affine_block_54.w_1",
"learnable_affine_block_55.w_0",
"learnable_affine_block_55.w_1"
],
"output": {
"source_op_index": 2996,
"paddle_block_op_index": 502,
"op_type": "1.add",
"value_id": 508,
"shape": [
-1,
384,
-1,
-1
],
"struct_name": "/PPLCNetV3/Sequential_4/LCNetV3Block_3/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential_4",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_det.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_det_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential_4",
"paddle_block_op_index": 502
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
384,
20,
20
],
"materialized_sha256": "9a0c0bf764ff8a4b81b946723dc259177c607b8a10690b25b533c3737d7bf053"
}
},
{
"name": "pplcnetv3.output",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Conv2D",
"PPLCNetV3/Conv2D_1",
"PPLCNetV3/Conv2D_2",
"PPLCNetV3/Conv2D_3"
],
"op_count": 12,
"op_inventory": {
"1.add": 4,
"1.conv2d": 4,
"1.reshape": 4
},
"parameter_keys": [
"conv2d_131.b_0",
"conv2d_131.w_0",
"conv2d_132.b_0",
"conv2d_132.w_0",
"conv2d_133.b_0",
"conv2d_133.w_0",
"conv2d_134.b_0",
"conv2d_134.w_0"
],
"output": {
"source_op_index": 3168,
"paddle_block_op_index": 518,
"op_type": "1.add",
"value_id": 524,
"shape": [
-1,
360,
-1,
-1
],
"struct_name": "/PPLCNetV3/Conv2D_3/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_output",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_det.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_det_metadata.json",
"fetch_op": {
"name": "pplcnetv3_output",
"paddle_block_op_index": 518
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
360,
20,
20
],
"materialized_sha256": "3b2d779606489aec3150b11c38e0667956114edd741372ff2ff5861ad84206f9"
}
},
{
"name": "rsefpn",
"kind": "rsefpn",
"source_prefixes": [
"RSEFPN/RSELayer",
"RSEFPN/RSELayer_1",
"RSEFPN/RSELayer_2",
"RSEFPN/RSELayer_3",
"RSEFPN/RSELayer_4",
"RSEFPN/RSELayer_5",
"RSEFPN/RSELayer_6",
"RSEFPN/RSELayer_7"
],
"op_count": 96,
"op_inventory": {
"1.add": 24,
"1.conv2d": 24,
"1.hardsigmoid": 8,
"1.multiply": 8,
"1.pool2d": 8,
"1.relu": 8,
"1.reshape": 16
},
"parameter_keys": [
"conv2d_135.w_0",
"conv2d_136.b_0",
"conv2d_136.w_0",
"conv2d_137.b_0",
"conv2d_137.w_0",
"conv2d_138.w_0",
"conv2d_139.b_0",
"conv2d_139.w_0",
"conv2d_140.b_0",
"conv2d_140.w_0",
"conv2d_141.w_0",
"conv2d_142.b_0",
"conv2d_142.w_0",
"conv2d_143.b_0",
"conv2d_143.w_0",
"conv2d_144.w_0",
"conv2d_145.b_0",
"conv2d_145.w_0",
"conv2d_146.b_0",
"conv2d_146.w_0",
"conv2d_147.w_0",
"conv2d_148.b_0",
"conv2d_148.w_0",
"conv2d_149.b_0",
"conv2d_149.w_0",
"conv2d_150.w_0",
"conv2d_151.b_0",
"conv2d_151.w_0",
"conv2d_152.b_0",
"conv2d_152.w_0",
"conv2d_153.w_0",
"conv2d_154.b_0",
"conv2d_154.w_0",
"conv2d_155.b_0",
"conv2d_155.w_0",
"conv2d_156.w_0",
"conv2d_157.b_0",
"conv2d_157.w_0",
"conv2d_158.b_0",
"conv2d_158.w_0"
],
"output": {
"source_op_index": 4514,
"paddle_block_op_index": 644,
"op_type": "1.add",
"value_id": 650,
"shape": [
-1,
24,
-1,
-1
],
"struct_name": "/RSEFPN/RSELayer_7/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "rsefpn",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_det.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_det_metadata.json",
"fetch_op": {
"name": "rsefpn",
"paddle_block_op_index": 644
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
24,
160,
160
],
"materialized_sha256": "5c0aecfa833981b372ebdc75c60379bf7c92316836bf37b5314669a2510e44bb"
}
},
{
"name": "db_head",
"kind": "db_head",
"source_prefixes": [
"DBHead/Head"
],
"op_count": 11,
"op_inventory": {
"1.add": 2,
"1.batch_norm_": 2,
"1.conv2d": 1,
"1.conv2d_transpose": 2,
"1.relu": 2,
"1.reshape": 2
},
"parameter_keys": [
"batch_norm_0.b_0",
"batch_norm_0.w_0",
"batch_norm_0.w_1",
"batch_norm_0.w_2",
"batch_norm_1.b_0",
"batch_norm_1.w_0",
"batch_norm_1.w_1",
"batch_norm_1.w_2",
"conv2d_159.w_0",
"conv2d_transpose_0.b_0",
"conv2d_transpose_0.w_0",
"conv2d_transpose_1.b_0",
"conv2d_transpose_1.w_0"
],
"output": {
"source_op_index": 4781,
"paddle_block_op_index": 665,
"op_type": "1.add",
"value_id": 681,
"shape": [
-1,
1,
-1,
-1
],
"struct_name": "/DBHead/Head/Conv2DTranspose_1/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "db_head",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_det.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_det_metadata.json",
"fetch_op": {
"name": "db_head",
"paddle_block_op_index": 665
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
1,
640,
640
],
"materialized_sha256": "fe54f4682f83c2103b0065472bc429b2696ff60d068d8a23555da343a19e0aae"
}
}
],
"parameter_assignment": {
"source_parameter_count": 234,
"assigned_parameter_count": 234,
"unassigned_parameter_count": 0
}
},
{
"variant": "PP-OCRv5_server_det",
"model_dir": "models/PaddlePaddle/PP-OCRv5_server_det",
"family": "ppocr_v5_text_detection",
"input_fixture": "fixtures/paddleocr_v5/PP-OCRv5_server_det_input.safetensors",
"input_shape": [
1,
3,
640,
640
],
"dynamic_shape_constraints": {
"prepared_input": "NCHW fp32 with 3 channels; detector graph accepts dynamic spatial dimensions from the exported Paddle contract.",
"trt_dynamic_shapes": [
[
1,
3,
32,
32
],
[
1,
3,
736,
736
],
[
1,
3,
4000,
4000
]
],
"recommended_parity_shape": [
1,
3,
640,
640
],
"output": "raw probability map [N,1,Hout,Wout]; host postprocess owns boxes/crops."
},
"source_hashes": {
"config_json": "436bf19010fe3879477e8599a870a0ec8ccd14ca39056805ec4ed20ab318ec04",
"inference_json": "af5876933d8806a1b50d895867e0781e135cd92ff37381992828fc8d1b842d28",
"inference_pdiparams": "183146fe9d9910352f68482f623bcbbb9fa7b9e8fa1463b9ad288cef00524d2d"
},
"blocks": [
{
"name": "pphgnetv2.stem",
"kind": "pphgnetv2_stage",
"source_prefixes": [
"PPHGNetV2/StemBlock"
],
"op_count": 17,
"op_inventory": {
"1.batch_norm_": 5,
"1.concat": 1,
"1.conv2d": 5,
"1.pool2d": 1,
"1.relu": 5
},
"parameter_keys": [
"batch_norm2d_0.b_0",
"batch_norm2d_0.w_0",
"batch_norm2d_0.w_1",
"batch_norm2d_0.w_2",
"batch_norm2d_1.b_0",
"batch_norm2d_1.w_0",
"batch_norm2d_1.w_1",
"batch_norm2d_1.w_2",
"batch_norm2d_2.b_0",
"batch_norm2d_2.w_0",
"batch_norm2d_2.w_1",
"batch_norm2d_2.w_2",
"batch_norm2d_3.b_0",
"batch_norm2d_3.w_0",
"batch_norm2d_3.w_1",
"batch_norm2d_3.w_2",
"batch_norm2d_4.b_0",
"batch_norm2d_4.w_0",
"batch_norm2d_4.w_1",
"batch_norm2d_4.w_2",
"conv2d_0.w_0",
"conv2d_1.w_0",
"conv2d_2.w_0",
"conv2d_3.w_0",
"conv2d_4.w_0"
],
"output": {
"source_op_index": 1932,
"paddle_block_op_index": 559,
"op_type": "1.relu",
"value_id": 585,
"shape": [
-1,
48,
-1,
-1
],
"struct_name": "/PPHGNetV2/StemBlock/ConvBNAct_4/ReLU/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pphgnetv2_stem",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_det.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_det_metadata.json",
"fetch_op": {
"name": "pphgnetv2_stem",
"paddle_block_op_index": 559
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
48,
160,
160
],
"materialized_sha256": "7bb8d842afcc4db226f45c7a6f48987fecf8dc95db0fbd72bee91ccae49bec19"
}
},
{
"name": "pphgnetv2.hgv2_stage",
"kind": "pphgnetv2_stage",
"source_prefixes": [
"PPHGNetV2/HGV2_Stage"
],
"op_count": 25,
"op_inventory": {
"1.batch_norm_": 8,
"1.concat": 1,
"1.conv2d": 8,
"1.relu": 8
},
"parameter_keys": [
"batch_norm2d_10.b_0",
"batch_norm2d_10.w_0",
"batch_norm2d_10.w_1",
"batch_norm2d_10.w_2",
"batch_norm2d_11.b_0",
"batch_norm2d_11.w_0",
"batch_norm2d_11.w_1",
"batch_norm2d_11.w_2",
"batch_norm2d_12.b_0",
"batch_norm2d_12.w_0",
"batch_norm2d_12.w_1",
"batch_norm2d_12.w_2",
"batch_norm2d_5.b_0",
"batch_norm2d_5.w_0",
"batch_norm2d_5.w_1",
"batch_norm2d_5.w_2",
"batch_norm2d_6.b_0",
"batch_norm2d_6.w_0",
"batch_norm2d_6.w_1",
"batch_norm2d_6.w_2",
"batch_norm2d_7.b_0",
"batch_norm2d_7.w_0",
"batch_norm2d_7.w_1",
"batch_norm2d_7.w_2",
"batch_norm2d_8.b_0",
"batch_norm2d_8.w_0",
"batch_norm2d_8.w_1",
"batch_norm2d_8.w_2",
"batch_norm2d_9.b_0",
"batch_norm2d_9.w_0",
"batch_norm2d_9.w_1",
"batch_norm2d_9.w_2",
"conv2d_10.w_0",
"conv2d_11.w_0",
"conv2d_12.w_0",
"conv2d_5.w_0",
"conv2d_6.w_0",
"conv2d_7.w_0",
"conv2d_8.w_0",
"conv2d_9.w_0"
],
"output": {
"source_op_index": 2375,
"paddle_block_op_index": 586,
"op_type": "1.relu",
"value_id": 652,
"shape": [
-1,
128,
-1,
-1
],
"struct_name": "/PPHGNetV2/HGV2_Stage/Sequential/HGV2_Block/ConvBNAct_7/ReLU/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pphgnetv2_hgv2_stage",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_det.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_det_metadata.json",
"fetch_op": {
"name": "pphgnetv2_hgv2_stage",
"paddle_block_op_index": 586
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
128,
160,
160
],
"materialized_sha256": "2468243fe8b41d2fc5c716257ca2060331ace9ac7aedd98c093f498842df64bf"
}
},
{
"name": "pphgnetv2.hgv2_stage_1",
"kind": "pphgnetv2_stage",
"source_prefixes": [
"PPHGNetV2/HGV2_Stage_1"
],
"op_count": 27,
"op_inventory": {
"1.batch_norm_": 9,
"1.concat": 1,
"1.conv2d": 8,
"1.depthwise_conv2d": 1,
"1.relu": 8
},
"parameter_keys": [
"batch_norm2d_13.b_0",
"batch_norm2d_13.w_0",
"batch_norm2d_13.w_1",
"batch_norm2d_13.w_2",
"batch_norm2d_14.b_0",
"batch_norm2d_14.w_0",
"batch_norm2d_14.w_1",
"batch_norm2d_14.w_2",
"batch_norm2d_15.b_0",
"batch_norm2d_15.w_0",
"batch_norm2d_15.w_1",
"batch_norm2d_15.w_2",
"batch_norm2d_16.b_0",
"batch_norm2d_16.w_0",
"batch_norm2d_16.w_1",
"batch_norm2d_16.w_2",
"batch_norm2d_17.b_0",
"batch_norm2d_17.w_0",
"batch_norm2d_17.w_1",
"batch_norm2d_17.w_2",
"batch_norm2d_18.b_0",
"batch_norm2d_18.w_0",
"batch_norm2d_18.w_1",
"batch_norm2d_18.w_2",
"batch_norm2d_19.b_0",
"batch_norm2d_19.w_0",
"batch_norm2d_19.w_1",
"batch_norm2d_19.w_2",
"batch_norm2d_20.b_0",
"batch_norm2d_20.w_0",
"batch_norm2d_20.w_1",
"batch_norm2d_20.w_2",
"batch_norm2d_21.b_0",
"batch_norm2d_21.w_0",
"batch_norm2d_21.w_1",
"batch_norm2d_21.w_2",
"conv2d_13.w_0",
"conv2d_14.w_0",
"conv2d_15.w_0",
"conv2d_16.w_0",
"conv2d_17.w_0",
"conv2d_18.w_0",
"conv2d_19.w_0",
"conv2d_20.w_0",
"conv2d_21.w_0"
],
"output": {
"source_op_index": 2863,
"paddle_block_op_index": 615,
"op_type": "1.relu",
"value_id": 726,
"shape": [
-1,
512,
-1,
-1
],
"struct_name": "/PPHGNetV2/HGV2_Stage_1/Sequential/HGV2_Block/ConvBNAct_7/ReLU/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pphgnetv2_hgv2_stage_1",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_det.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_det_metadata.json",
"fetch_op": {
"name": "pphgnetv2_hgv2_stage_1",
"paddle_block_op_index": 615
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
512,
80,
80
],
"materialized_sha256": "db13b315be3bf497b2d1092ccec192a6e17c13a8774118dc63039aba655b2109"
}
},
{
"name": "pphgnetv2.hgv2_stage_2",
"kind": "pphgnetv2_stage",
"source_prefixes": [
"PPHGNetV2/HGV2_Stage_2"
],
"op_count": 115,
"op_inventory": {
"1.add": 2,
"1.batch_norm_": 43,
"1.concat": 3,
"1.conv2d": 24,
"1.depthwise_conv2d": 19,
"1.relu": 24
},
"parameter_keys": [
"batch_norm2d_22.b_0",
"batch_norm2d_22.w_0",
"batch_norm2d_22.w_1",
"batch_norm2d_22.w_2",
"batch_norm2d_23.b_0",
"batch_norm2d_23.w_0",
"batch_norm2d_23.w_1",
"batch_norm2d_23.w_2",
"batch_norm2d_24.b_0",
"batch_norm2d_24.w_0",
"batch_norm2d_24.w_1",
"batch_norm2d_24.w_2",
"batch_norm2d_25.b_0",
"batch_norm2d_25.w_0",
"batch_norm2d_25.w_1",
"batch_norm2d_25.w_2",
"batch_norm2d_26.b_0",
"batch_norm2d_26.w_0",
"batch_norm2d_26.w_1",
"batch_norm2d_26.w_2",
"batch_norm2d_27.b_0",
"batch_norm2d_27.w_0",
"batch_norm2d_27.w_1",
"batch_norm2d_27.w_2",
"batch_norm2d_28.b_0",
"batch_norm2d_28.w_0",
"batch_norm2d_28.w_1",
"batch_norm2d_28.w_2",
"batch_norm2d_29.b_0",
"batch_norm2d_29.w_0",
"batch_norm2d_29.w_1",
"batch_norm2d_29.w_2",
"batch_norm2d_30.b_0",
"batch_norm2d_30.w_0",
"batch_norm2d_30.w_1",
"batch_norm2d_30.w_2",
"batch_norm2d_31.b_0",
"batch_norm2d_31.w_0",
"batch_norm2d_31.w_1",
"batch_norm2d_31.w_2",
"batch_norm2d_32.b_0",
"batch_norm2d_32.w_0",
"batch_norm2d_32.w_1",
"batch_norm2d_32.w_2",
"batch_norm2d_33.b_0",
"batch_norm2d_33.w_0",
"batch_norm2d_33.w_1",
"batch_norm2d_33.w_2",
"batch_norm2d_34.b_0",
"batch_norm2d_34.w_0",
"batch_norm2d_34.w_1",
"batch_norm2d_34.w_2",
"batch_norm2d_35.b_0",
"batch_norm2d_35.w_0",
"batch_norm2d_35.w_1",
"batch_norm2d_35.w_2",
"batch_norm2d_36.b_0",
"batch_norm2d_36.w_0",
"batch_norm2d_36.w_1",
"batch_norm2d_36.w_2",
"batch_norm2d_37.b_0",
"batch_norm2d_37.w_0",
"batch_norm2d_37.w_1",
"batch_norm2d_37.w_2",
"batch_norm2d_38.b_0",
"batch_norm2d_38.w_0",
"batch_norm2d_38.w_1",
"batch_norm2d_38.w_2",
"batch_norm2d_39.b_0",
"batch_norm2d_39.w_0",
"batch_norm2d_39.w_1",
"batch_norm2d_39.w_2",
"batch_norm2d_40.b_0",
"batch_norm2d_40.w_0",
"batch_norm2d_40.w_1",
"batch_norm2d_40.w_2",
"batch_norm2d_41.b_0",
"batch_norm2d_41.w_0",
"batch_norm2d_41.w_1",
"batch_norm2d_41.w_2",
"batch_norm2d_42.b_0",
"batch_norm2d_42.w_0",
"batch_norm2d_42.w_1",
"batch_norm2d_42.w_2",
"batch_norm2d_43.b_0",
"batch_norm2d_43.w_0",
"batch_norm2d_43.w_1",
"batch_norm2d_43.w_2",
"batch_norm2d_44.b_0",
"batch_norm2d_44.w_0",
"batch_norm2d_44.w_1",
"batch_norm2d_44.w_2",
"batch_norm2d_45.b_0",
"batch_norm2d_45.w_0",
"batch_norm2d_45.w_1",
"batch_norm2d_45.w_2",
"batch_norm2d_46.b_0",
"batch_norm2d_46.w_0",
"batch_norm2d_46.w_1",
"batch_norm2d_46.w_2",
"batch_norm2d_47.b_0",
"batch_norm2d_47.w_0",
"batch_norm2d_47.w_1",
"batch_norm2d_47.w_2",
"batch_norm2d_48.b_0",
"batch_norm2d_48.w_0",
"batch_norm2d_48.w_1",
"batch_norm2d_48.w_2",
"batch_norm2d_49.b_0",
"batch_norm2d_49.w_0",
"batch_norm2d_49.w_1",
"batch_norm2d_49.w_2",
"batch_norm2d_50.b_0",
"batch_norm2d_50.w_0",
"batch_norm2d_50.w_1",
"batch_norm2d_50.w_2",
"batch_norm2d_51.b_0",
"batch_norm2d_51.w_0",
"batch_norm2d_51.w_1",
"batch_norm2d_51.w_2",
"batch_norm2d_52.b_0",
"batch_norm2d_52.w_0",
"batch_norm2d_52.w_1",
"batch_norm2d_52.w_2",
"batch_norm2d_53.b_0",
"batch_norm2d_53.w_0",
"batch_norm2d_53.w_1",
"batch_norm2d_53.w_2",
"batch_norm2d_54.b_0",
"batch_norm2d_54.w_0",
"batch_norm2d_54.w_1",
"batch_norm2d_54.w_2",
"batch_norm2d_55.b_0",
"batch_norm2d_55.w_0",
"batch_norm2d_55.w_1",
"batch_norm2d_55.w_2",
"batch_norm2d_56.b_0",
"batch_norm2d_56.w_0",
"batch_norm2d_56.w_1",
"batch_norm2d_56.w_2",
"batch_norm2d_57.b_0",
"batch_norm2d_57.w_0",
"batch_norm2d_57.w_1",
"batch_norm2d_57.w_2",
"batch_norm2d_58.b_0",
"batch_norm2d_58.w_0",
"batch_norm2d_58.w_1",
"batch_norm2d_58.w_2",
"batch_norm2d_59.b_0",
"batch_norm2d_59.w_0",
"batch_norm2d_59.w_1",
"batch_norm2d_59.w_2",
"batch_norm2d_60.b_0",
"batch_norm2d_60.w_0",
"batch_norm2d_60.w_1",
"batch_norm2d_60.w_2",
"batch_norm2d_61.b_0",
"batch_norm2d_61.w_0",
"batch_norm2d_61.w_1",
"batch_norm2d_61.w_2",
"batch_norm2d_62.b_0",
"batch_norm2d_62.w_0",
"batch_norm2d_62.w_1",
"batch_norm2d_62.w_2",
"batch_norm2d_63.b_0",
"batch_norm2d_63.w_0",
"batch_norm2d_63.w_1",
"batch_norm2d_63.w_2",
"batch_norm2d_64.b_0",
"batch_norm2d_64.w_0",
"batch_norm2d_64.w_1",
"batch_norm2d_64.w_2",
"conv2d_22.w_0",
"conv2d_23.w_0",
"conv2d_24.w_0",
"conv2d_25.w_0",
"conv2d_26.w_0",
"conv2d_27.w_0",
"conv2d_28.w_0",
"conv2d_29.w_0",
"conv2d_30.w_0",
"conv2d_31.w_0",
"conv2d_32.w_0",
"conv2d_33.w_0",
"conv2d_34.w_0",
"conv2d_35.w_0",
"conv2d_36.w_0",
"conv2d_37.w_0",
"conv2d_38.w_0",
"conv2d_39.w_0",
"conv2d_40.w_0",
"conv2d_41.w_0",
"conv2d_42.w_0",
"conv2d_43.w_0",
"conv2d_44.w_0",
"conv2d_45.w_0",
"conv2d_46.w_0",
"conv2d_47.w_0",
"conv2d_48.w_0",
"conv2d_49.w_0",
"conv2d_50.w_0",
"conv2d_51.w_0",
"conv2d_52.w_0",
"conv2d_53.w_0",
"conv2d_54.w_0",
"conv2d_55.w_0",
"conv2d_56.w_0",
"conv2d_57.w_0",
"conv2d_58.w_0",
"conv2d_59.w_0",
"conv2d_60.w_0",
"conv2d_61.w_0",
"conv2d_62.w_0",
"conv2d_63.w_0",
"conv2d_64.w_0"
],
"output": {
"source_op_index": 5059,
"paddle_block_op_index": 736,
"op_type": "1.add",
"value_id": 1062,
"shape": [
-1,
1024,
-1,
-1
],
"struct_name": "/PPHGNetV2/HGV2_Stage_2/Sequential/HGV2_Block_2/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pphgnetv2_hgv2_stage_2",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_det.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_det_metadata.json",
"fetch_op": {
"name": "pphgnetv2_hgv2_stage_2",
"paddle_block_op_index": 736
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
1024,
40,
40
],
"materialized_sha256": "928ed41d6ea703c6e1e28fdbe09c57dd2f63852d0a443f6578a4e4d8829e52cf"
}
},
{
"name": "pphgnetv2.hgv2_stage_3",
"kind": "pphgnetv2_stage",
"source_prefixes": [
"PPHGNetV2/HGV2_Stage_3"
],
"op_count": 39,
"op_inventory": {
"1.batch_norm_": 15,
"1.concat": 1,
"1.conv2d": 8,
"1.depthwise_conv2d": 7,
"1.relu": 8
},
"parameter_keys": [
"batch_norm2d_65.b_0",
"batch_norm2d_65.w_0",
"batch_norm2d_65.w_1",
"batch_norm2d_65.w_2",
"batch_norm2d_66.b_0",
"batch_norm2d_66.w_0",
"batch_norm2d_66.w_1",
"batch_norm2d_66.w_2",
"batch_norm2d_67.b_0",
"batch_norm2d_67.w_0",
"batch_norm2d_67.w_1",
"batch_norm2d_67.w_2",
"batch_norm2d_68.b_0",
"batch_norm2d_68.w_0",
"batch_norm2d_68.w_1",
"batch_norm2d_68.w_2",
"batch_norm2d_69.b_0",
"batch_norm2d_69.w_0",
"batch_norm2d_69.w_1",
"batch_norm2d_69.w_2",
"batch_norm2d_70.b_0",
"batch_norm2d_70.w_0",
"batch_norm2d_70.w_1",
"batch_norm2d_70.w_2",
"batch_norm2d_71.b_0",
"batch_norm2d_71.w_0",
"batch_norm2d_71.w_1",
"batch_norm2d_71.w_2",
"batch_norm2d_72.b_0",
"batch_norm2d_72.w_0",
"batch_norm2d_72.w_1",
"batch_norm2d_72.w_2",
"batch_norm2d_73.b_0",
"batch_norm2d_73.w_0",
"batch_norm2d_73.w_1",
"batch_norm2d_73.w_2",
"batch_norm2d_74.b_0",
"batch_norm2d_74.w_0",
"batch_norm2d_74.w_1",
"batch_norm2d_74.w_2",
"batch_norm2d_75.b_0",
"batch_norm2d_75.w_0",
"batch_norm2d_75.w_1",
"batch_norm2d_75.w_2",
"batch_norm2d_76.b_0",
"batch_norm2d_76.w_0",
"batch_norm2d_76.w_1",
"batch_norm2d_76.w_2",
"batch_norm2d_77.b_0",
"batch_norm2d_77.w_0",
"batch_norm2d_77.w_1",
"batch_norm2d_77.w_2",
"batch_norm2d_78.b_0",
"batch_norm2d_78.w_0",
"batch_norm2d_78.w_1",
"batch_norm2d_78.w_2",
"batch_norm2d_79.b_0",
"batch_norm2d_79.w_0",
"batch_norm2d_79.w_1",
"batch_norm2d_79.w_2",
"conv2d_65.w_0",
"conv2d_66.w_0",
"conv2d_67.w_0",
"conv2d_68.w_0",
"conv2d_69.w_0",
"conv2d_70.w_0",
"conv2d_71.w_0",
"conv2d_72.w_0",
"conv2d_73.w_0",
"conv2d_74.w_0",
"conv2d_75.w_0",
"conv2d_76.w_0",
"conv2d_77.w_0",
"conv2d_78.w_0",
"conv2d_79.w_0"
],
"output": {
"source_op_index": 5817,
"paddle_block_op_index": 777,
"op_type": "1.relu",
"value_id": 1178,
"shape": [
-1,
2048,
-1,
-1
],
"struct_name": "/PPHGNetV2/HGV2_Stage_3/Sequential/HGV2_Block/ConvBNAct_1/ReLU/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pphgnetv2_hgv2_stage_3",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_det.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_det_metadata.json",
"fetch_op": {
"name": "pphgnetv2_hgv2_stage_3",
"paddle_block_op_index": 777
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
2048,
20,
20
],
"materialized_sha256": "10bcd95eb96a901d8c12bc302ee2ff0c3880a4af23e2492021b44ab4771f52c8"
}
},
{
"name": "lkpan",
"kind": "lkpan",
"source_prefixes": [
"LKPAN/Conv2D",
"LKPAN/Conv2D_1",
"LKPAN/Conv2D_10",
"LKPAN/Conv2D_11",
"LKPAN/Conv2D_12",
"LKPAN/Conv2D_13",
"LKPAN/Conv2D_14",
"LKPAN/Conv2D_2",
"LKPAN/Conv2D_3",
"LKPAN/Conv2D_4",
"LKPAN/Conv2D_5",
"LKPAN/Conv2D_6",
"LKPAN/Conv2D_7",
"LKPAN/Conv2D_8",
"LKPAN/Conv2D_9",
"LKPAN/IntraCLBlock",
"LKPAN/IntraCLBlock_1",
"LKPAN/IntraCLBlock_2",
"LKPAN/IntraCLBlock_3"
],
"op_count": 183,
"op_inventory": {
"1.add": 72,
"1.batch_norm_": 4,
"1.conv2d": 59,
"1.relu": 4,
"1.reshape": 44
},
"parameter_keys": [
"batch_norm2d_80.b_0",
"batch_norm2d_80.w_0",
"batch_norm2d_80.w_1",
"batch_norm2d_80.w_2",
"batch_norm2d_81.b_0",
"batch_norm2d_81.w_0",
"batch_norm2d_81.w_1",
"batch_norm2d_81.w_2",
"batch_norm2d_82.b_0",
"batch_norm2d_82.w_0",
"batch_norm2d_82.w_1",
"batch_norm2d_82.w_2",
"batch_norm2d_83.b_0",
"batch_norm2d_83.w_0",
"batch_norm2d_83.w_1",
"batch_norm2d_83.w_2",
"conv2d_100.b_0",
"conv2d_100.w_0",
"conv2d_101.b_0",
"conv2d_101.w_0",
"conv2d_102.b_0",
"conv2d_102.w_0",
"conv2d_103.b_0",
"conv2d_103.w_0",
"conv2d_104.b_0",
"conv2d_104.w_0",
"conv2d_105.b_0",
"conv2d_105.w_0",
"conv2d_106.b_0",
"conv2d_106.w_0",
"conv2d_107.b_0",
"conv2d_107.w_0",
"conv2d_108.b_0",
"conv2d_108.w_0",
"conv2d_109.b_0",
"conv2d_109.w_0",
"conv2d_110.b_0",
"conv2d_110.w_0",
"conv2d_111.b_0",
"conv2d_111.w_0",
"conv2d_112.b_0",
"conv2d_112.w_0",
"conv2d_113.b_0",
"conv2d_113.w_0",
"conv2d_114.b_0",
"conv2d_114.w_0",
"conv2d_115.b_0",
"conv2d_115.w_0",
"conv2d_116.b_0",
"conv2d_116.w_0",
"conv2d_117.b_0",
"conv2d_117.w_0",
"conv2d_118.b_0",
"conv2d_118.w_0",
"conv2d_119.b_0",
"conv2d_119.w_0",
"conv2d_120.b_0",
"conv2d_120.w_0",
"conv2d_121.b_0",
"conv2d_121.w_0",
"conv2d_122.b_0",
"conv2d_122.w_0",
"conv2d_123.b_0",
"conv2d_123.w_0",
"conv2d_124.b_0",
"conv2d_124.w_0",
"conv2d_125.b_0",
"conv2d_125.w_0",
"conv2d_126.b_0",
"conv2d_126.w_0",
"conv2d_127.b_0",
"conv2d_127.w_0",
"conv2d_128.b_0",
"conv2d_128.w_0",
"conv2d_129.b_0",
"conv2d_129.w_0",
"conv2d_130.b_0",
"conv2d_130.w_0",
"conv2d_131.b_0",
"conv2d_131.w_0",
"conv2d_132.b_0",
"conv2d_132.w_0",
"conv2d_133.b_0",
"conv2d_133.w_0",
"conv2d_134.b_0",
"conv2d_134.w_0",
"conv2d_135.b_0",
"conv2d_135.w_0",
"conv2d_136.b_0",
"conv2d_136.w_0",
"conv2d_137.b_0",
"conv2d_137.w_0",
"conv2d_138.b_0",
"conv2d_138.w_0",
"conv2d_139.b_0",
"conv2d_139.w_0",
"conv2d_81.w_0",
"conv2d_82.w_0",
"conv2d_83.w_0",
"conv2d_84.w_0",
"conv2d_85.w_0",
"conv2d_86.w_0",
"conv2d_87.w_0",
"conv2d_88.w_0",
"conv2d_89.w_0",
"conv2d_90.w_0",
"conv2d_91.w_0",
"conv2d_92.w_0",
"conv2d_93.w_0",
"conv2d_94.w_0",
"conv2d_95.w_0",
"conv2d_96.b_0",
"conv2d_96.w_0",
"conv2d_97.b_0",
"conv2d_97.w_0",
"conv2d_98.b_0",
"conv2d_98.w_0",
"conv2d_99.b_0",
"conv2d_99.w_0"
],
"output": {
"source_op_index": 8363,
"paddle_block_op_index": 1013,
"op_type": "1.add",
"value_id": 1434,
"shape": [
-1,
64,
-1,
-1
],
"struct_name": "/LKPAN/IntraCLBlock_3/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "lkpan",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_det.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_det_metadata.json",
"fetch_op": {
"name": "lkpan",
"paddle_block_op_index": 1013
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
64,
160,
160
],
"materialized_sha256": "9eaecb0aa6a6f9465ea8a24b1bd13b21254a14fa33b05da5cace68a16ba74547"
}
},
{
"name": "pf_head_local",
"kind": "pf_head_local",
"source_prefixes": [
"PFHeadLocal/Head",
"PFHeadLocal/LocalModule",
"PFHeadLocal/Upsample"
],
"op_count": 19,
"op_inventory": {
"1.add": 3,
"1.batch_norm_": 3,
"1.concat": 1,
"1.conv2d": 3,
"1.conv2d_transpose": 2,
"1.nearest_interp": 1,
"1.relu": 3,
"1.reshape": 3
},
"parameter_keys": [
"batch_norm_0.b_0",
"batch_norm_0.w_0",
"batch_norm_0.w_1",
"batch_norm_0.w_2",
"batch_norm_1.b_0",
"batch_norm_1.w_0",
"batch_norm_1.w_1",
"batch_norm_1.w_2",
"batch_norm_4.b_0",
"batch_norm_4.w_0",
"batch_norm_4.w_1",
"batch_norm_4.w_2",
"conv2d_140.w_0",
"conv2d_142.w_0",
"conv2d_143.b_0",
"conv2d_143.w_0",
"conv2d_transpose_0.b_0",
"conv2d_transpose_0.w_0",
"conv2d_transpose_1.b_0",
"conv2d_transpose_1.w_0"
],
"output": {
"source_op_index": 8771,
"paddle_block_op_index": 1046,
"op_type": "1.add",
"value_id": 1482,
"shape": [
-1,
1,
-1,
-1
],
"struct_name": "/PFHeadLocal/LocalModule/Conv2D/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pf_head_local",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_det.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_det_metadata.json",
"fetch_op": {
"name": "pf_head_local",
"paddle_block_op_index": 1046
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
1,
640,
640
],
"materialized_sha256": "320c5d5b9bc146bc48c2164a7f3ac4eeb5262f015e39422e9b8b24a9847b57a7"
}
}
],
"parameter_assignment": {
"source_parameter_count": 539,
"assigned_parameter_count": 539,
"unassigned_parameter_count": 0
}
},
{
"variant": "PP-OCRv5_mobile_rec",
"model_dir": "models/PaddlePaddle/PP-OCRv5_mobile_rec",
"family": "ppocr_v5_text_recognition",
"input_fixture": "fixtures/paddleocr_v5/PP-OCRv5_mobile_rec_input.safetensors",
"input_shape": [
1,
3,
48,
320
],
"dynamic_shape_constraints": {
"prepared_input": "NCHW fp32 with 3 channels and fixed recognition height 48 for checked fixtures.",
"recommended_parity_shape": [
1,
3,
48,
320
],
"sequence_length": "CTC time steps are produced by squeezing feature height 1 and transposing width to [N,T,C].",
"output": "CTC probabilities [N,T,class_count]."
},
"source_hashes": {
"config_json": "6df1587ae056f0b987125fc894b17f62ae3a12644fa2488d108f19377da9c1a8",
"inference_json": "24587345250c7332d0fc6f9a44e794d078cdaeb64c302fef906f325619de2569",
"inference_pdiparams": "2460da90875937c94db97eba74ae3d9e5d4c4c57c42f1f41531c09a26bcc771a"
},
"blocks": [
{
"name": "pplcnetv3.stem",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/ConvBNLayer"
],
"op_count": 2,
"op_inventory": {
"1.batch_norm_": 1,
"1.conv2d": 1
},
"parameter_keys": [
"batch_norm2d_0.b_0",
"batch_norm2d_0.w_0",
"batch_norm2d_0.w_1",
"batch_norm2d_0.w_2",
"conv2d_0.w_0"
],
"output": {
"source_op_index": 731,
"paddle_block_op_index": 236,
"op_type": "1.batch_norm_",
"value_id": 237,
"shape": [
-1,
16,
24,
-1
],
"struct_name": "/PPLCNetV3/ConvBNLayer/BatchNorm2D/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_stem",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_stem",
"paddle_block_op_index": 236
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
16,
24,
160
],
"materialized_sha256": "feba87bd26522d5d4671abc29c117a283733b8994ccf2a2f4216556ddfad01c7"
}
},
{
"name": "pplcnetv3.sequential",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential"
],
"op_count": 16,
"op_inventory": {
"1.add": 6,
"1.conv2d": 1,
"1.depthwise_conv2d": 1,
"1.hardswish": 2,
"1.multiply": 4,
"1.reshape": 2
},
"parameter_keys": [
"conv2d_136.b_0",
"conv2d_136.w_0",
"conv2d_137.b_0",
"conv2d_137.w_0",
"learnable_affine_block_0.w_0",
"learnable_affine_block_0.w_1",
"learnable_affine_block_1.w_0",
"learnable_affine_block_1.w_1",
"learnable_affine_block_2.w_0",
"learnable_affine_block_2.w_1",
"learnable_affine_block_3.w_0",
"learnable_affine_block_3.w_1"
],
"output": {
"source_op_index": 898,
"paddle_block_op_index": 254,
"op_type": "1.add",
"value_id": 260,
"shape": [
-1,
32,
24,
-1
],
"struct_name": "/PPLCNetV3/Sequential/LCNetV3Block/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential",
"paddle_block_op_index": 254
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
32,
24,
160
],
"materialized_sha256": "27474e9fdbd4428b9b11269b7e94941388f0bb0f508b5c34720b6c12556c8987"
}
},
{
"name": "pplcnetv3.sequential_1",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential_1"
],
"op_count": 32,
"op_inventory": {
"1.add": 12,
"1.conv2d": 2,
"1.depthwise_conv2d": 2,
"1.hardswish": 4,
"1.multiply": 8,
"1.reshape": 4
},
"parameter_keys": [
"conv2d_138.b_0",
"conv2d_138.w_0",
"conv2d_139.b_0",
"conv2d_139.w_0",
"conv2d_140.b_0",
"conv2d_140.w_0",
"conv2d_141.b_0",
"conv2d_141.w_0",
"learnable_affine_block_10.w_0",
"learnable_affine_block_10.w_1",
"learnable_affine_block_11.w_0",
"learnable_affine_block_11.w_1",
"learnable_affine_block_4.w_0",
"learnable_affine_block_4.w_1",
"learnable_affine_block_5.w_0",
"learnable_affine_block_5.w_1",
"learnable_affine_block_6.w_0",
"learnable_affine_block_6.w_1",
"learnable_affine_block_7.w_0",
"learnable_affine_block_7.w_1",
"learnable_affine_block_8.w_0",
"learnable_affine_block_8.w_1",
"learnable_affine_block_9.w_0",
"learnable_affine_block_9.w_1"
],
"output": {
"source_op_index": 1190,
"paddle_block_op_index": 290,
"op_type": "1.add",
"value_id": 296,
"shape": [
-1,
64,
24,
-1
],
"struct_name": "/PPLCNetV3/Sequential_1/LCNetV3Block_1/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential_1",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential_1",
"paddle_block_op_index": 290
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
64,
24,
160
],
"materialized_sha256": "8a56d8b2ece82714c7c057bd97dacc33c1942a3c477aca9dc3a013e348258274"
}
},
{
"name": "pplcnetv3.sequential_2",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential_2"
],
"op_count": 32,
"op_inventory": {
"1.add": 12,
"1.conv2d": 2,
"1.depthwise_conv2d": 2,
"1.hardswish": 4,
"1.multiply": 8,
"1.reshape": 4
},
"parameter_keys": [
"conv2d_142.b_0",
"conv2d_142.w_0",
"conv2d_143.b_0",
"conv2d_143.w_0",
"conv2d_144.b_0",
"conv2d_144.w_0",
"conv2d_145.b_0",
"conv2d_145.w_0",
"learnable_affine_block_12.w_0",
"learnable_affine_block_12.w_1",
"learnable_affine_block_13.w_0",
"learnable_affine_block_13.w_1",
"learnable_affine_block_14.w_0",
"learnable_affine_block_14.w_1",
"learnable_affine_block_15.w_0",
"learnable_affine_block_15.w_1",
"learnable_affine_block_16.w_0",
"learnable_affine_block_16.w_1",
"learnable_affine_block_17.w_0",
"learnable_affine_block_17.w_1",
"learnable_affine_block_18.w_0",
"learnable_affine_block_18.w_1",
"learnable_affine_block_19.w_0",
"learnable_affine_block_19.w_1"
],
"output": {
"source_op_index": 1482,
"paddle_block_op_index": 326,
"op_type": "1.add",
"value_id": 332,
"shape": [
-1,
128,
12,
-1
],
"struct_name": "/PPLCNetV3/Sequential_2/LCNetV3Block_1/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential_2",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential_2",
"paddle_block_op_index": 326
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
128,
12,
160
],
"materialized_sha256": "bfbd93158a6cc98823a2bfa3cad19d01492de3d6c3d7824ee3a11a5425742b25"
}
},
{
"name": "pplcnetv3.sequential_3",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential_3"
],
"op_count": 80,
"op_inventory": {
"1.add": 30,
"1.conv2d": 5,
"1.depthwise_conv2d": 5,
"1.hardswish": 10,
"1.multiply": 20,
"1.reshape": 10
},
"parameter_keys": [
"conv2d_146.b_0",
"conv2d_146.w_0",
"conv2d_147.b_0",
"conv2d_147.w_0",
"conv2d_148.b_0",
"conv2d_148.w_0",
"conv2d_149.b_0",
"conv2d_149.w_0",
"conv2d_150.b_0",
"conv2d_150.w_0",
"conv2d_151.b_0",
"conv2d_151.w_0",
"conv2d_152.b_0",
"conv2d_152.w_0",
"conv2d_153.b_0",
"conv2d_153.w_0",
"conv2d_154.b_0",
"conv2d_154.w_0",
"conv2d_155.b_0",
"conv2d_155.w_0",
"learnable_affine_block_20.w_0",
"learnable_affine_block_20.w_1",
"learnable_affine_block_21.w_0",
"learnable_affine_block_21.w_1",
"learnable_affine_block_22.w_0",
"learnable_affine_block_22.w_1",
"learnable_affine_block_23.w_0",
"learnable_affine_block_23.w_1",
"learnable_affine_block_24.w_0",
"learnable_affine_block_24.w_1",
"learnable_affine_block_25.w_0",
"learnable_affine_block_25.w_1",
"learnable_affine_block_26.w_0",
"learnable_affine_block_26.w_1",
"learnable_affine_block_27.w_0",
"learnable_affine_block_27.w_1",
"learnable_affine_block_28.w_0",
"learnable_affine_block_28.w_1",
"learnable_affine_block_29.w_0",
"learnable_affine_block_29.w_1",
"learnable_affine_block_30.w_0",
"learnable_affine_block_30.w_1",
"learnable_affine_block_31.w_0",
"learnable_affine_block_31.w_1",
"learnable_affine_block_32.w_0",
"learnable_affine_block_32.w_1",
"learnable_affine_block_33.w_0",
"learnable_affine_block_33.w_1",
"learnable_affine_block_34.w_0",
"learnable_affine_block_34.w_1",
"learnable_affine_block_35.w_0",
"learnable_affine_block_35.w_1",
"learnable_affine_block_36.w_0",
"learnable_affine_block_36.w_1",
"learnable_affine_block_37.w_0",
"learnable_affine_block_37.w_1",
"learnable_affine_block_38.w_0",
"learnable_affine_block_38.w_1",
"learnable_affine_block_39.w_0",
"learnable_affine_block_39.w_1"
],
"output": {
"source_op_index": 2212,
"paddle_block_op_index": 416,
"op_type": "1.add",
"value_id": 422,
"shape": [
-1,
240,
12,
-1
],
"struct_name": "/PPLCNetV3/Sequential_3/LCNetV3Block_4/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential_3",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential_3",
"paddle_block_op_index": 416
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
240,
12,
80
],
"materialized_sha256": "4d0239b2050eb09fd11fe3ee65bbc22ef6109834e72a44fe55879d605158bd58"
}
},
{
"name": "pplcnetv3.sequential_4",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential_4"
],
"op_count": 84,
"op_inventory": {
"1.add": 28,
"1.conv2d": 8,
"1.depthwise_conv2d": 4,
"1.hardsigmoid": 2,
"1.hardswish": 8,
"1.multiply": 18,
"1.pool2d": 2,
"1.relu": 2,
"1.reshape": 12
},
"parameter_keys": [
"conv2d_107.b_0",
"conv2d_107.w_0",
"conv2d_108.b_0",
"conv2d_108.w_0",
"conv2d_156.b_0",
"conv2d_156.w_0",
"conv2d_157.b_0",
"conv2d_157.w_0",
"conv2d_158.b_0",
"conv2d_158.w_0",
"conv2d_159.b_0",
"conv2d_159.w_0",
"conv2d_160.b_0",
"conv2d_160.w_0",
"conv2d_161.b_0",
"conv2d_161.w_0",
"conv2d_162.b_0",
"conv2d_162.w_0",
"conv2d_163.b_0",
"conv2d_163.w_0",
"conv2d_96.b_0",
"conv2d_96.w_0",
"conv2d_97.b_0",
"conv2d_97.w_0",
"learnable_affine_block_40.w_0",
"learnable_affine_block_40.w_1",
"learnable_affine_block_41.w_0",
"learnable_affine_block_41.w_1",
"learnable_affine_block_42.w_0",
"learnable_affine_block_42.w_1",
"learnable_affine_block_43.w_0",
"learnable_affine_block_43.w_1",
"learnable_affine_block_44.w_0",
"learnable_affine_block_44.w_1",
"learnable_affine_block_45.w_0",
"learnable_affine_block_45.w_1",
"learnable_affine_block_46.w_0",
"learnable_affine_block_46.w_1",
"learnable_affine_block_47.w_0",
"learnable_affine_block_47.w_1",
"learnable_affine_block_48.w_0",
"learnable_affine_block_48.w_1",
"learnable_affine_block_49.w_0",
"learnable_affine_block_49.w_1",
"learnable_affine_block_50.w_0",
"learnable_affine_block_50.w_1",
"learnable_affine_block_51.w_0",
"learnable_affine_block_51.w_1",
"learnable_affine_block_52.w_0",
"learnable_affine_block_52.w_1",
"learnable_affine_block_53.w_0",
"learnable_affine_block_53.w_1",
"learnable_affine_block_54.w_0",
"learnable_affine_block_54.w_1",
"learnable_affine_block_55.w_0",
"learnable_affine_block_55.w_1"
],
"output": {
"source_op_index": 3068,
"paddle_block_op_index": 514,
"op_type": "1.add",
"value_id": 520,
"shape": [
-1,
480,
3,
-1
],
"struct_name": "/PPLCNetV3/Sequential_4/LCNetV3Block_3/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential_4",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential_4",
"paddle_block_op_index": 514
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
480,
3,
80
],
"materialized_sha256": "d913dfe40591ed6b12b81183bebc67059d8cd8787c3a0cffd3321ccf2343a032"
}
},
{
"name": "svtr.projection",
"kind": "svtr_stage",
"source_prefixes": [
"MultiHead/SequenceEncoder"
],
"op_count": 16,
"op_inventory": {
"1.batch_norm_": 5,
"1.conv2d": 5,
"1.layer_norm": 1,
"1.swish": 5
},
"parameter_keys": [
"batch_norm2d_146.b_0",
"batch_norm2d_146.w_0",
"batch_norm2d_146.w_1",
"batch_norm2d_146.w_2",
"batch_norm2d_147.b_0",
"batch_norm2d_147.w_0",
"batch_norm2d_147.w_1",
"batch_norm2d_147.w_2",
"batch_norm2d_148.b_0",
"batch_norm2d_148.w_0",
"batch_norm2d_148.w_1",
"batch_norm2d_148.w_2",
"batch_norm2d_149.b_0",
"batch_norm2d_149.w_0",
"batch_norm2d_149.w_1",
"batch_norm2d_149.w_2",
"batch_norm2d_150.b_0",
"batch_norm2d_150.w_0",
"batch_norm2d_150.w_1",
"batch_norm2d_150.w_2",
"conv2d_131.w_0",
"conv2d_132.w_0",
"conv2d_133.w_0",
"conv2d_134.w_0",
"conv2d_135.w_0",
"layer_norm_4.b_0",
"layer_norm_4.w_0"
],
"output": {
"source_op_index": 4327,
"paddle_block_op_index": 633,
"op_type": "1.swish",
"value_id": 682,
"shape": [
-1,
120,
1,
-1
],
"struct_name": "/MultiHead/SequenceEncoder/EncoderWithSVTR/ConvBNLayer_4/Swish/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "svtr_projection",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "svtr_projection",
"paddle_block_op_index": 633
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
120,
1,
40
],
"materialized_sha256": "b438b082d74993cc2743aa1390a731abff611e35dd47a662099e8e170d34b98e"
}
},
{
"name": "svtr.block",
"kind": "svtr_stage",
"source_prefixes": [
"MultiHead/SequenceEncoder"
],
"op_count": 28,
"op_inventory": {
"1.add": 6,
"1.dropout": 4,
"1.layer_norm": 2,
"1.matmul": 6,
"1.reshape": 2,
"1.slice": 3,
"1.softmax": 1,
"1.swish": 1,
"1.transpose": 3
},
"parameter_keys": [
"layer_norm_0.b_0",
"layer_norm_0.w_0",
"layer_norm_1.b_0",
"layer_norm_1.w_0",
"linear_0.b_0",
"linear_0.w_0",
"linear_1.b_0",
"linear_1.w_0",
"linear_2.b_0",
"linear_2.w_0",
"linear_3.b_0",
"linear_3.w_0"
],
"output": {
"source_op_index": 3665,
"paddle_block_op_index": 571,
"op_type": "1.add",
"value_id": 595,
"shape": [
-1,
-1,
120
],
"struct_name": "/MultiHead/SequenceEncoder/EncoderWithSVTR/Block/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "svtr_block",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "svtr_block",
"paddle_block_op_index": 571
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
40,
120
],
"materialized_sha256": "240747cd4efa1bd628dcd1cecd939f74cd6a3bf473393a9a449b6b5dd4dce549"
}
},
{
"name": "svtr.block_1",
"kind": "svtr_stage",
"source_prefixes": [
"MultiHead/SequenceEncoder"
],
"op_count": 28,
"op_inventory": {
"1.add": 6,
"1.dropout": 4,
"1.layer_norm": 2,
"1.matmul": 6,
"1.reshape": 2,
"1.slice": 3,
"1.softmax": 1,
"1.swish": 1,
"1.transpose": 3
},
"parameter_keys": [
"layer_norm_2.b_0",
"layer_norm_2.w_0",
"layer_norm_3.b_0",
"layer_norm_3.w_0",
"linear_4.b_0",
"linear_4.w_0",
"linear_5.b_0",
"linear_5.w_0",
"linear_6.b_0",
"linear_6.w_0",
"linear_7.b_0",
"linear_7.w_0"
],
"output": {
"source_op_index": 4068,
"paddle_block_op_index": 613,
"op_type": "1.add",
"value_id": 645,
"shape": [
-1,
-1,
120
],
"struct_name": "/MultiHead/SequenceEncoder/EncoderWithSVTR/Block_1/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "svtr_block_1",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "svtr_block_1",
"paddle_block_op_index": 613
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
40,
120
],
"materialized_sha256": "b888aa227040254caec8921c1ea2ba1cbded69dc728cd4499974638c44fae83c"
}
},
{
"name": "sequence_encoder.im2seq",
"kind": "sequence_encoder",
"source_prefixes": [
"MultiHead/SequenceEncoder"
],
"op_count": 2,
"op_inventory": {
"1.squeeze": 1,
"1.transpose": 1
},
"parameter_keys": [],
"output": {
"source_op_index": 4349,
"paddle_block_op_index": 636,
"op_type": "1.transpose",
"value_id": 685,
"shape": [
-1,
-1,
120
],
"struct_name": "/MultiHead/SequenceEncoder/Im2Seq/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "sequence_encoder_im2seq",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "sequence_encoder_im2seq",
"paddle_block_op_index": 636
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
40,
120
],
"materialized_sha256": "533981a7645c445f180f4dc1b3ae92a04804966f2de23571950a1c354c858600"
}
},
{
"name": "ctc_head",
"kind": "ctc_head",
"source_prefixes": [
"MultiHead/CTCHead"
],
"op_count": 2,
"op_inventory": {
"1.add": 1,
"1.matmul": 1
},
"parameter_keys": [
"linear_8.b_0",
"linear_8.w_0"
],
"output": {
"source_op_index": 4367,
"paddle_block_op_index": 638,
"op_type": "1.add",
"value_id": 687,
"shape": [
-1,
-1,
18385
],
"struct_name": "/MultiHead/CTCHead/Linear/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "ctc_head",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "ctc_head",
"paddle_block_op_index": 638
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
40,
18385
],
"materialized_sha256": "795d5d129f1fdcf5ef36d70dc68e5d51c6da28eb380bc5453d09190028d95bb2"
}
}
],
"parameter_assignment": {
"source_parameter_count": 234,
"assigned_parameter_count": 234,
"unassigned_parameter_count": 0
}
},
{
"variant": "PP-OCRv5_server_rec",
"model_dir": "models/PaddlePaddle/PP-OCRv5_server_rec",
"family": "ppocr_v5_text_recognition",
"input_fixture": "fixtures/paddleocr_v5/PP-OCRv5_server_rec_input.safetensors",
"input_shape": [
1,
3,
48,
320
],
"dynamic_shape_constraints": {
"prepared_input": "NCHW fp32 with 3 channels and fixed recognition height 48 for checked fixtures.",
"recommended_parity_shape": [
1,
3,
48,
320
],
"sequence_length": "CTC time steps are produced by squeezing feature height 1 and transposing width to [N,T,C].",
"output": "CTC probabilities [N,T,class_count]."
},
"source_hashes": {
"config_json": "6a780e213d7a830058ae1b6899c62cc13ca9c1f0f04ae39a27ebb2610fae7c51",
"inference_json": "8e6e12e5d42531840310977fffb58165bf889fc5061408c5a8afdb6985f47fcb",
"inference_pdiparams": "63853f062a5f4089befc16f565a68277618e0da5cb45468b49d11079de0ada77"
},
"blocks": [
{
"name": "pphgnetv2.stem",
"kind": "pphgnetv2_stage",
"source_prefixes": [
"PPHGNetV2/StemBlock"
],
"op_count": 17,
"op_inventory": {
"1.batch_norm_": 5,
"1.concat": 1,
"1.conv2d": 5,
"1.pool2d": 1,
"1.relu": 5
},
"parameter_keys": [
"batch_norm2d_0.b_0",
"batch_norm2d_0.w_0",
"batch_norm2d_0.w_1",
"batch_norm2d_0.w_2",
"batch_norm2d_1.b_0",
"batch_norm2d_1.w_0",
"batch_norm2d_1.w_1",
"batch_norm2d_1.w_2",
"batch_norm2d_2.b_0",
"batch_norm2d_2.w_0",
"batch_norm2d_2.w_1",
"batch_norm2d_2.w_2",
"batch_norm2d_3.b_0",
"batch_norm2d_3.w_0",
"batch_norm2d_3.w_1",
"batch_norm2d_3.w_2",
"batch_norm2d_4.b_0",
"batch_norm2d_4.w_0",
"batch_norm2d_4.w_1",
"batch_norm2d_4.w_2",
"conv2d_0.w_0",
"conv2d_1.w_0",
"conv2d_2.w_0",
"conv2d_3.w_0",
"conv2d_4.w_0"
],
"output": {
"source_op_index": 1689,
"paddle_block_op_index": 478,
"op_type": "1.relu",
"value_id": 504,
"shape": [
-1,
48,
24,
-1
],
"struct_name": "/PPHGNetV2/StemBlock/ConvBNAct_4/ReLU/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pphgnetv2_stem",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_rec_metadata.json",
"fetch_op": {
"name": "pphgnetv2_stem",
"paddle_block_op_index": 478
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
48,
24,
160
],
"materialized_sha256": "a258adb1fcb5245586e9701a509b173db51c4d2b7e2e3e81492f3cfc2826d5aa"
}
},
{
"name": "pphgnetv2.hgv2_stage",
"kind": "pphgnetv2_stage",
"source_prefixes": [
"PPHGNetV2/HGV2_Stage"
],
"op_count": 27,
"op_inventory": {
"1.batch_norm_": 9,
"1.concat": 1,
"1.conv2d": 8,
"1.depthwise_conv2d": 1,
"1.relu": 8
},
"parameter_keys": [
"batch_norm2d_10.b_0",
"batch_norm2d_10.w_0",
"batch_norm2d_10.w_1",
"batch_norm2d_10.w_2",
"batch_norm2d_11.b_0",
"batch_norm2d_11.w_0",
"batch_norm2d_11.w_1",
"batch_norm2d_11.w_2",
"batch_norm2d_12.b_0",
"batch_norm2d_12.w_0",
"batch_norm2d_12.w_1",
"batch_norm2d_12.w_2",
"batch_norm2d_13.b_0",
"batch_norm2d_13.w_0",
"batch_norm2d_13.w_1",
"batch_norm2d_13.w_2",
"batch_norm2d_5.b_0",
"batch_norm2d_5.w_0",
"batch_norm2d_5.w_1",
"batch_norm2d_5.w_2",
"batch_norm2d_6.b_0",
"batch_norm2d_6.w_0",
"batch_norm2d_6.w_1",
"batch_norm2d_6.w_2",
"batch_norm2d_7.b_0",
"batch_norm2d_7.w_0",
"batch_norm2d_7.w_1",
"batch_norm2d_7.w_2",
"batch_norm2d_8.b_0",
"batch_norm2d_8.w_0",
"batch_norm2d_8.w_1",
"batch_norm2d_8.w_2",
"batch_norm2d_9.b_0",
"batch_norm2d_9.w_0",
"batch_norm2d_9.w_1",
"batch_norm2d_9.w_2",
"conv2d_10.w_0",
"conv2d_11.w_0",
"conv2d_12.w_0",
"conv2d_13.w_0",
"conv2d_5.w_0",
"conv2d_6.w_0",
"conv2d_7.w_0",
"conv2d_8.w_0",
"conv2d_9.w_0"
],
"output": {
"source_op_index": 2177,
"paddle_block_op_index": 507,
"op_type": "1.relu",
"value_id": 578,
"shape": [
-1,
128,
12,
-1
],
"struct_name": "/PPHGNetV2/HGV2_Stage/Sequential/HGV2_Block/ConvBNAct_7/ReLU/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pphgnetv2_hgv2_stage",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_rec_metadata.json",
"fetch_op": {
"name": "pphgnetv2_hgv2_stage",
"paddle_block_op_index": 507
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
128,
12,
160
],
"materialized_sha256": "a71746e6cb75ed376beb2f4402133c3342c2329f9ceecad0a69083f2880552b9"
}
},
{
"name": "pphgnetv2.hgv2_stage_1",
"kind": "pphgnetv2_stage",
"source_prefixes": [
"PPHGNetV2/HGV2_Stage_1"
],
"op_count": 27,
"op_inventory": {
"1.batch_norm_": 9,
"1.concat": 1,
"1.conv2d": 8,
"1.depthwise_conv2d": 1,
"1.relu": 8
},
"parameter_keys": [
"batch_norm2d_14.b_0",
"batch_norm2d_14.w_0",
"batch_norm2d_14.w_1",
"batch_norm2d_14.w_2",
"batch_norm2d_15.b_0",
"batch_norm2d_15.w_0",
"batch_norm2d_15.w_1",
"batch_norm2d_15.w_2",
"batch_norm2d_16.b_0",
"batch_norm2d_16.w_0",
"batch_norm2d_16.w_1",
"batch_norm2d_16.w_2",
"batch_norm2d_17.b_0",
"batch_norm2d_17.w_0",
"batch_norm2d_17.w_1",
"batch_norm2d_17.w_2",
"batch_norm2d_18.b_0",
"batch_norm2d_18.w_0",
"batch_norm2d_18.w_1",
"batch_norm2d_18.w_2",
"batch_norm2d_19.b_0",
"batch_norm2d_19.w_0",
"batch_norm2d_19.w_1",
"batch_norm2d_19.w_2",
"batch_norm2d_20.b_0",
"batch_norm2d_20.w_0",
"batch_norm2d_20.w_1",
"batch_norm2d_20.w_2",
"batch_norm2d_21.b_0",
"batch_norm2d_21.w_0",
"batch_norm2d_21.w_1",
"batch_norm2d_21.w_2",
"batch_norm2d_22.b_0",
"batch_norm2d_22.w_0",
"batch_norm2d_22.w_1",
"batch_norm2d_22.w_2",
"conv2d_14.w_0",
"conv2d_15.w_0",
"conv2d_16.w_0",
"conv2d_17.w_0",
"conv2d_18.w_0",
"conv2d_19.w_0",
"conv2d_20.w_0",
"conv2d_21.w_0",
"conv2d_22.w_0"
],
"output": {
"source_op_index": 2665,
"paddle_block_op_index": 536,
"op_type": "1.relu",
"value_id": 652,
"shape": [
-1,
512,
12,
-1
],
"struct_name": "/PPHGNetV2/HGV2_Stage_1/Sequential/HGV2_Block/ConvBNAct_7/ReLU/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pphgnetv2_hgv2_stage_1",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_rec_metadata.json",
"fetch_op": {
"name": "pphgnetv2_hgv2_stage_1",
"paddle_block_op_index": 536
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
512,
12,
80
],
"materialized_sha256": "05d6cb8fac5ccc2d75bdc55a1b23c0ac6a386858b5180ddc6c82b17e94123d07"
}
},
{
"name": "pphgnetv2.hgv2_stage_2",
"kind": "pphgnetv2_stage",
"source_prefixes": [
"PPHGNetV2/HGV2_Stage_2"
],
"op_count": 115,
"op_inventory": {
"1.add": 2,
"1.batch_norm_": 43,
"1.concat": 3,
"1.conv2d": 24,
"1.depthwise_conv2d": 19,
"1.relu": 24
},
"parameter_keys": [
"batch_norm2d_23.b_0",
"batch_norm2d_23.w_0",
"batch_norm2d_23.w_1",
"batch_norm2d_23.w_2",
"batch_norm2d_24.b_0",
"batch_norm2d_24.w_0",
"batch_norm2d_24.w_1",
"batch_norm2d_24.w_2",
"batch_norm2d_25.b_0",
"batch_norm2d_25.w_0",
"batch_norm2d_25.w_1",
"batch_norm2d_25.w_2",
"batch_norm2d_26.b_0",
"batch_norm2d_26.w_0",
"batch_norm2d_26.w_1",
"batch_norm2d_26.w_2",
"batch_norm2d_27.b_0",
"batch_norm2d_27.w_0",
"batch_norm2d_27.w_1",
"batch_norm2d_27.w_2",
"batch_norm2d_28.b_0",
"batch_norm2d_28.w_0",
"batch_norm2d_28.w_1",
"batch_norm2d_28.w_2",
"batch_norm2d_29.b_0",
"batch_norm2d_29.w_0",
"batch_norm2d_29.w_1",
"batch_norm2d_29.w_2",
"batch_norm2d_30.b_0",
"batch_norm2d_30.w_0",
"batch_norm2d_30.w_1",
"batch_norm2d_30.w_2",
"batch_norm2d_31.b_0",
"batch_norm2d_31.w_0",
"batch_norm2d_31.w_1",
"batch_norm2d_31.w_2",
"batch_norm2d_32.b_0",
"batch_norm2d_32.w_0",
"batch_norm2d_32.w_1",
"batch_norm2d_32.w_2",
"batch_norm2d_33.b_0",
"batch_norm2d_33.w_0",
"batch_norm2d_33.w_1",
"batch_norm2d_33.w_2",
"batch_norm2d_34.b_0",
"batch_norm2d_34.w_0",
"batch_norm2d_34.w_1",
"batch_norm2d_34.w_2",
"batch_norm2d_35.b_0",
"batch_norm2d_35.w_0",
"batch_norm2d_35.w_1",
"batch_norm2d_35.w_2",
"batch_norm2d_36.b_0",
"batch_norm2d_36.w_0",
"batch_norm2d_36.w_1",
"batch_norm2d_36.w_2",
"batch_norm2d_37.b_0",
"batch_norm2d_37.w_0",
"batch_norm2d_37.w_1",
"batch_norm2d_37.w_2",
"batch_norm2d_38.b_0",
"batch_norm2d_38.w_0",
"batch_norm2d_38.w_1",
"batch_norm2d_38.w_2",
"batch_norm2d_39.b_0",
"batch_norm2d_39.w_0",
"batch_norm2d_39.w_1",
"batch_norm2d_39.w_2",
"batch_norm2d_40.b_0",
"batch_norm2d_40.w_0",
"batch_norm2d_40.w_1",
"batch_norm2d_40.w_2",
"batch_norm2d_41.b_0",
"batch_norm2d_41.w_0",
"batch_norm2d_41.w_1",
"batch_norm2d_41.w_2",
"batch_norm2d_42.b_0",
"batch_norm2d_42.w_0",
"batch_norm2d_42.w_1",
"batch_norm2d_42.w_2",
"batch_norm2d_43.b_0",
"batch_norm2d_43.w_0",
"batch_norm2d_43.w_1",
"batch_norm2d_43.w_2",
"batch_norm2d_44.b_0",
"batch_norm2d_44.w_0",
"batch_norm2d_44.w_1",
"batch_norm2d_44.w_2",
"batch_norm2d_45.b_0",
"batch_norm2d_45.w_0",
"batch_norm2d_45.w_1",
"batch_norm2d_45.w_2",
"batch_norm2d_46.b_0",
"batch_norm2d_46.w_0",
"batch_norm2d_46.w_1",
"batch_norm2d_46.w_2",
"batch_norm2d_47.b_0",
"batch_norm2d_47.w_0",
"batch_norm2d_47.w_1",
"batch_norm2d_47.w_2",
"batch_norm2d_48.b_0",
"batch_norm2d_48.w_0",
"batch_norm2d_48.w_1",
"batch_norm2d_48.w_2",
"batch_norm2d_49.b_0",
"batch_norm2d_49.w_0",
"batch_norm2d_49.w_1",
"batch_norm2d_49.w_2",
"batch_norm2d_50.b_0",
"batch_norm2d_50.w_0",
"batch_norm2d_50.w_1",
"batch_norm2d_50.w_2",
"batch_norm2d_51.b_0",
"batch_norm2d_51.w_0",
"batch_norm2d_51.w_1",
"batch_norm2d_51.w_2",
"batch_norm2d_52.b_0",
"batch_norm2d_52.w_0",
"batch_norm2d_52.w_1",
"batch_norm2d_52.w_2",
"batch_norm2d_53.b_0",
"batch_norm2d_53.w_0",
"batch_norm2d_53.w_1",
"batch_norm2d_53.w_2",
"batch_norm2d_54.b_0",
"batch_norm2d_54.w_0",
"batch_norm2d_54.w_1",
"batch_norm2d_54.w_2",
"batch_norm2d_55.b_0",
"batch_norm2d_55.w_0",
"batch_norm2d_55.w_1",
"batch_norm2d_55.w_2",
"batch_norm2d_56.b_0",
"batch_norm2d_56.w_0",
"batch_norm2d_56.w_1",
"batch_norm2d_56.w_2",
"batch_norm2d_57.b_0",
"batch_norm2d_57.w_0",
"batch_norm2d_57.w_1",
"batch_norm2d_57.w_2",
"batch_norm2d_58.b_0",
"batch_norm2d_58.w_0",
"batch_norm2d_58.w_1",
"batch_norm2d_58.w_2",
"batch_norm2d_59.b_0",
"batch_norm2d_59.w_0",
"batch_norm2d_59.w_1",
"batch_norm2d_59.w_2",
"batch_norm2d_60.b_0",
"batch_norm2d_60.w_0",
"batch_norm2d_60.w_1",
"batch_norm2d_60.w_2",
"batch_norm2d_61.b_0",
"batch_norm2d_61.w_0",
"batch_norm2d_61.w_1",
"batch_norm2d_61.w_2",
"batch_norm2d_62.b_0",
"batch_norm2d_62.w_0",
"batch_norm2d_62.w_1",
"batch_norm2d_62.w_2",
"batch_norm2d_63.b_0",
"batch_norm2d_63.w_0",
"batch_norm2d_63.w_1",
"batch_norm2d_63.w_2",
"batch_norm2d_64.b_0",
"batch_norm2d_64.w_0",
"batch_norm2d_64.w_1",
"batch_norm2d_64.w_2",
"batch_norm2d_65.b_0",
"batch_norm2d_65.w_0",
"batch_norm2d_65.w_1",
"batch_norm2d_65.w_2",
"conv2d_23.w_0",
"conv2d_24.w_0",
"conv2d_25.w_0",
"conv2d_26.w_0",
"conv2d_27.w_0",
"conv2d_28.w_0",
"conv2d_29.w_0",
"conv2d_30.w_0",
"conv2d_31.w_0",
"conv2d_32.w_0",
"conv2d_33.w_0",
"conv2d_34.w_0",
"conv2d_35.w_0",
"conv2d_36.w_0",
"conv2d_37.w_0",
"conv2d_38.w_0",
"conv2d_39.w_0",
"conv2d_40.w_0",
"conv2d_41.w_0",
"conv2d_42.w_0",
"conv2d_43.w_0",
"conv2d_44.w_0",
"conv2d_45.w_0",
"conv2d_46.w_0",
"conv2d_47.w_0",
"conv2d_48.w_0",
"conv2d_49.w_0",
"conv2d_50.w_0",
"conv2d_51.w_0",
"conv2d_52.w_0",
"conv2d_53.w_0",
"conv2d_54.w_0",
"conv2d_55.w_0",
"conv2d_56.w_0",
"conv2d_57.w_0",
"conv2d_58.w_0",
"conv2d_59.w_0",
"conv2d_60.w_0",
"conv2d_61.w_0",
"conv2d_62.w_0",
"conv2d_63.w_0",
"conv2d_64.w_0",
"conv2d_65.w_0"
],
"output": {
"source_op_index": 4861,
"paddle_block_op_index": 657,
"op_type": "1.add",
"value_id": 988,
"shape": [
-1,
1024,
6,
-1
],
"struct_name": "/PPHGNetV2/HGV2_Stage_2/Sequential/HGV2_Block_2/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pphgnetv2_hgv2_stage_2",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_rec_metadata.json",
"fetch_op": {
"name": "pphgnetv2_hgv2_stage_2",
"paddle_block_op_index": 657
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
1024,
6,
80
],
"materialized_sha256": "a6f66686a461d481e38f9b168737f647227502f065b619b2390533f8a0ec76a0"
}
},
{
"name": "pphgnetv2.hgv2_stage_3",
"kind": "pphgnetv2_stage",
"source_prefixes": [
"PPHGNetV2/HGV2_Stage_3"
],
"op_count": 39,
"op_inventory": {
"1.batch_norm_": 15,
"1.concat": 1,
"1.conv2d": 8,
"1.depthwise_conv2d": 7,
"1.relu": 8
},
"parameter_keys": [
"batch_norm2d_66.b_0",
"batch_norm2d_66.w_0",
"batch_norm2d_66.w_1",
"batch_norm2d_66.w_2",
"batch_norm2d_67.b_0",
"batch_norm2d_67.w_0",
"batch_norm2d_67.w_1",
"batch_norm2d_67.w_2",
"batch_norm2d_68.b_0",
"batch_norm2d_68.w_0",
"batch_norm2d_68.w_1",
"batch_norm2d_68.w_2",
"batch_norm2d_69.b_0",
"batch_norm2d_69.w_0",
"batch_norm2d_69.w_1",
"batch_norm2d_69.w_2",
"batch_norm2d_70.b_0",
"batch_norm2d_70.w_0",
"batch_norm2d_70.w_1",
"batch_norm2d_70.w_2",
"batch_norm2d_71.b_0",
"batch_norm2d_71.w_0",
"batch_norm2d_71.w_1",
"batch_norm2d_71.w_2",
"batch_norm2d_72.b_0",
"batch_norm2d_72.w_0",
"batch_norm2d_72.w_1",
"batch_norm2d_72.w_2",
"batch_norm2d_73.b_0",
"batch_norm2d_73.w_0",
"batch_norm2d_73.w_1",
"batch_norm2d_73.w_2",
"batch_norm2d_74.b_0",
"batch_norm2d_74.w_0",
"batch_norm2d_74.w_1",
"batch_norm2d_74.w_2",
"batch_norm2d_75.b_0",
"batch_norm2d_75.w_0",
"batch_norm2d_75.w_1",
"batch_norm2d_75.w_2",
"batch_norm2d_76.b_0",
"batch_norm2d_76.w_0",
"batch_norm2d_76.w_1",
"batch_norm2d_76.w_2",
"batch_norm2d_77.b_0",
"batch_norm2d_77.w_0",
"batch_norm2d_77.w_1",
"batch_norm2d_77.w_2",
"batch_norm2d_78.b_0",
"batch_norm2d_78.w_0",
"batch_norm2d_78.w_1",
"batch_norm2d_78.w_2",
"batch_norm2d_79.b_0",
"batch_norm2d_79.w_0",
"batch_norm2d_79.w_1",
"batch_norm2d_79.w_2",
"batch_norm2d_80.b_0",
"batch_norm2d_80.w_0",
"batch_norm2d_80.w_1",
"batch_norm2d_80.w_2",
"conv2d_66.w_0",
"conv2d_67.w_0",
"conv2d_68.w_0",
"conv2d_69.w_0",
"conv2d_70.w_0",
"conv2d_71.w_0",
"conv2d_72.w_0",
"conv2d_73.w_0",
"conv2d_74.w_0",
"conv2d_75.w_0",
"conv2d_76.w_0",
"conv2d_77.w_0",
"conv2d_78.w_0",
"conv2d_79.w_0",
"conv2d_80.w_0"
],
"output": {
"source_op_index": 5619,
"paddle_block_op_index": 698,
"op_type": "1.relu",
"value_id": 1104,
"shape": [
-1,
2048,
3,
-1
],
"struct_name": "/PPHGNetV2/HGV2_Stage_3/Sequential/HGV2_Block/ConvBNAct_1/ReLU/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pphgnetv2_hgv2_stage_3",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_rec_metadata.json",
"fetch_op": {
"name": "pphgnetv2_hgv2_stage_3",
"paddle_block_op_index": 698
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
2048,
3,
80
],
"materialized_sha256": "9a0b8d357115e343c270ba84c00d032f0376ed572d7ecb2c2ec1f43a3f78dd52"
}
},
{
"name": "svtr.projection",
"kind": "svtr_stage",
"source_prefixes": [
"MultiHead/SequenceEncoder"
],
"op_count": 16,
"op_inventory": {
"1.batch_norm_": 5,
"1.conv2d": 5,
"1.layer_norm": 1,
"1.swish": 5
},
"parameter_keys": [
"batch_norm2d_81.b_0",
"batch_norm2d_81.w_0",
"batch_norm2d_81.w_1",
"batch_norm2d_81.w_2",
"batch_norm2d_82.b_0",
"batch_norm2d_82.w_0",
"batch_norm2d_82.w_1",
"batch_norm2d_82.w_2",
"batch_norm2d_83.b_0",
"batch_norm2d_83.w_0",
"batch_norm2d_83.w_1",
"batch_norm2d_83.w_2",
"batch_norm2d_84.b_0",
"batch_norm2d_84.w_0",
"batch_norm2d_84.w_1",
"batch_norm2d_84.w_2",
"batch_norm2d_85.b_0",
"batch_norm2d_85.w_0",
"batch_norm2d_85.w_1",
"batch_norm2d_85.w_2",
"conv2d_82.w_0",
"conv2d_83.w_0",
"conv2d_84.w_0",
"conv2d_85.w_0",
"conv2d_86.w_0",
"layer_norm_4.b_0",
"layer_norm_4.w_0"
],
"output": {
"source_op_index": 6878,
"paddle_block_op_index": 817,
"op_type": "1.swish",
"value_id": 1266,
"shape": [
-1,
120,
1,
-1
],
"struct_name": "/MultiHead/SequenceEncoder/EncoderWithSVTR/ConvBNLayer_4/Swish/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "svtr_projection",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_rec_metadata.json",
"fetch_op": {
"name": "svtr_projection",
"paddle_block_op_index": 817
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
120,
1,
40
],
"materialized_sha256": "c622b897ade53ecf3a82e30811b49fd03b039df3eb61c616380e55e9be21f322"
}
},
{
"name": "svtr.block",
"kind": "svtr_stage",
"source_prefixes": [
"MultiHead/SequenceEncoder"
],
"op_count": 28,
"op_inventory": {
"1.add": 6,
"1.dropout": 4,
"1.layer_norm": 2,
"1.matmul": 6,
"1.reshape": 2,
"1.slice": 3,
"1.softmax": 1,
"1.swish": 1,
"1.transpose": 3
},
"parameter_keys": [
"layer_norm_0.b_0",
"layer_norm_0.w_0",
"layer_norm_1.b_0",
"layer_norm_1.w_0",
"linear_1.b_0",
"linear_1.w_0",
"linear_2.b_0",
"linear_2.w_0",
"linear_3.b_0",
"linear_3.w_0",
"linear_4.b_0",
"linear_4.w_0"
],
"output": {
"source_op_index": 6216,
"paddle_block_op_index": 755,
"op_type": "1.add",
"value_id": 1179,
"shape": [
-1,
-1,
120
],
"struct_name": "/MultiHead/SequenceEncoder/EncoderWithSVTR/Block/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "svtr_block",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_rec_metadata.json",
"fetch_op": {
"name": "svtr_block",
"paddle_block_op_index": 755
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
40,
120
],
"materialized_sha256": "cebcebcd699a84f91cf612f0785e299222caa494d87eac425a0e05545cc35e5e"
}
},
{
"name": "svtr.block_1",
"kind": "svtr_stage",
"source_prefixes": [
"MultiHead/SequenceEncoder"
],
"op_count": 28,
"op_inventory": {
"1.add": 6,
"1.dropout": 4,
"1.layer_norm": 2,
"1.matmul": 6,
"1.reshape": 2,
"1.slice": 3,
"1.softmax": 1,
"1.swish": 1,
"1.transpose": 3
},
"parameter_keys": [
"layer_norm_2.b_0",
"layer_norm_2.w_0",
"layer_norm_3.b_0",
"layer_norm_3.w_0",
"linear_5.b_0",
"linear_5.w_0",
"linear_6.b_0",
"linear_6.w_0",
"linear_7.b_0",
"linear_7.w_0",
"linear_8.b_0",
"linear_8.w_0"
],
"output": {
"source_op_index": 6619,
"paddle_block_op_index": 797,
"op_type": "1.add",
"value_id": 1229,
"shape": [
-1,
-1,
120
],
"struct_name": "/MultiHead/SequenceEncoder/EncoderWithSVTR/Block_1/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "svtr_block_1",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_rec_metadata.json",
"fetch_op": {
"name": "svtr_block_1",
"paddle_block_op_index": 797
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
40,
120
],
"materialized_sha256": "b39a4fabc0b39cf88c9025f23328be27d113576ee91d06ff602e3ab54aac8339"
}
},
{
"name": "sequence_encoder.im2seq",
"kind": "sequence_encoder",
"source_prefixes": [
"MultiHead/SequenceEncoder"
],
"op_count": 2,
"op_inventory": {
"1.squeeze": 1,
"1.transpose": 1
},
"parameter_keys": [],
"output": {
"source_op_index": 6900,
"paddle_block_op_index": 820,
"op_type": "1.transpose",
"value_id": 1269,
"shape": [
-1,
-1,
120
],
"struct_name": "/MultiHead/SequenceEncoder/Im2Seq/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "sequence_encoder_im2seq",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_rec_metadata.json",
"fetch_op": {
"name": "sequence_encoder_im2seq",
"paddle_block_op_index": 820
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
40,
120
],
"materialized_sha256": "cf62af403824beff02f990439b2eefadaa9cf21e7b42d8c64380e3ac801f65e6"
}
},
{
"name": "ctc_head",
"kind": "ctc_head",
"source_prefixes": [
"MultiHead/CTCHead"
],
"op_count": 2,
"op_inventory": {
"1.add": 1,
"1.matmul": 1
},
"parameter_keys": [
"linear_9.b_0",
"linear_9.w_0"
],
"output": {
"source_op_index": 6918,
"paddle_block_op_index": 822,
"op_type": "1.add",
"value_id": 1271,
"shape": [
-1,
-1,
18385
],
"struct_name": "/MultiHead/CTCHead/Linear/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "ctc_head",
"path": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/PP-OCRv5_server_rec_metadata.json",
"fetch_op": {
"name": "ctc_head",
"paddle_block_op_index": 822
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
40,
18385
],
"materialized_sha256": "c375849615152f7ffd8087a19fff69f6efb7c024716692e927c7075bab51ffa3"
}
}
],
"parameter_assignment": {
"source_parameter_count": 458,
"assigned_parameter_count": 458,
"unassigned_parameter_count": 0
}
},
{
"variant": "latin_PP-OCRv5_mobile_rec",
"model_dir": "models/PaddlePaddle/latin_PP-OCRv5_mobile_rec",
"family": "ppocr_v5_text_recognition",
"input_fixture": "fixtures/paddleocr_v5/latin_PP-OCRv5_mobile_rec_input.safetensors",
"input_shape": [
1,
3,
48,
320
],
"dynamic_shape_constraints": {
"prepared_input": "NCHW fp32 with 3 channels and fixed recognition height 48 for checked fixtures.",
"recommended_parity_shape": [
1,
3,
48,
320
],
"sequence_length": "CTC time steps are produced by squeezing feature height 1 and transposing width to [N,T,C].",
"output": "CTC probabilities [N,T,class_count]."
},
"source_hashes": {
"config_json": "e0f5ccc44fe86254956f27746058bc4cf88d86145668cecf22ba5dd962483c80",
"inference_json": "820b2ee8e5072de5156c3d55124c2b03c82ef278d59f453f857c0789bacb4da1",
"inference_pdiparams": "53cdc8b481a7394bb108f96d0fb3432b0a8f392e22c7d18f06dbb2d42b8b25f9"
},
"blocks": [
{
"name": "pplcnetv3.stem",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/ConvBNLayer"
],
"op_count": 2,
"op_inventory": {
"1.batch_norm_": 1,
"1.conv2d": 1
},
"parameter_keys": [
"batch_norm2d_0.b_0",
"batch_norm2d_0.w_0",
"batch_norm2d_0.w_1",
"batch_norm2d_0.w_2",
"conv2d_0.w_0"
],
"output": {
"source_op_index": 731,
"paddle_block_op_index": 236,
"op_type": "1.batch_norm_",
"value_id": 237,
"shape": [
-1,
16,
24,
-1
],
"struct_name": "/PPLCNetV3/ConvBNLayer/BatchNorm2D/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_stem",
"path": "fixtures/paddleocr_v5/intermediate/latin_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/latin_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_stem",
"paddle_block_op_index": 236
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
16,
24,
160
],
"materialized_sha256": "472e3e1008693ac74e99518123bc0219cfa9ead8cd85581d1183af6890537100"
}
},
{
"name": "pplcnetv3.sequential",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential"
],
"op_count": 16,
"op_inventory": {
"1.add": 6,
"1.conv2d": 1,
"1.depthwise_conv2d": 1,
"1.hardswish": 2,
"1.multiply": 4,
"1.reshape": 2
},
"parameter_keys": [
"conv2d_136.b_0",
"conv2d_136.w_0",
"conv2d_137.b_0",
"conv2d_137.w_0",
"learnable_affine_block_0.w_0",
"learnable_affine_block_0.w_1",
"learnable_affine_block_1.w_0",
"learnable_affine_block_1.w_1",
"learnable_affine_block_2.w_0",
"learnable_affine_block_2.w_1",
"learnable_affine_block_3.w_0",
"learnable_affine_block_3.w_1"
],
"output": {
"source_op_index": 898,
"paddle_block_op_index": 254,
"op_type": "1.add",
"value_id": 260,
"shape": [
-1,
32,
24,
-1
],
"struct_name": "/PPLCNetV3/Sequential/LCNetV3Block/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential",
"path": "fixtures/paddleocr_v5/intermediate/latin_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/latin_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential",
"paddle_block_op_index": 254
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
32,
24,
160
],
"materialized_sha256": "434b3ed42d469e56ccb0787018fc29032a21b0191460c96c33474d4aa991e410"
}
},
{
"name": "pplcnetv3.sequential_1",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential_1"
],
"op_count": 32,
"op_inventory": {
"1.add": 12,
"1.conv2d": 2,
"1.depthwise_conv2d": 2,
"1.hardswish": 4,
"1.multiply": 8,
"1.reshape": 4
},
"parameter_keys": [
"conv2d_138.b_0",
"conv2d_138.w_0",
"conv2d_139.b_0",
"conv2d_139.w_0",
"conv2d_140.b_0",
"conv2d_140.w_0",
"conv2d_141.b_0",
"conv2d_141.w_0",
"learnable_affine_block_10.w_0",
"learnable_affine_block_10.w_1",
"learnable_affine_block_11.w_0",
"learnable_affine_block_11.w_1",
"learnable_affine_block_4.w_0",
"learnable_affine_block_4.w_1",
"learnable_affine_block_5.w_0",
"learnable_affine_block_5.w_1",
"learnable_affine_block_6.w_0",
"learnable_affine_block_6.w_1",
"learnable_affine_block_7.w_0",
"learnable_affine_block_7.w_1",
"learnable_affine_block_8.w_0",
"learnable_affine_block_8.w_1",
"learnable_affine_block_9.w_0",
"learnable_affine_block_9.w_1"
],
"output": {
"source_op_index": 1190,
"paddle_block_op_index": 290,
"op_type": "1.add",
"value_id": 296,
"shape": [
-1,
64,
24,
-1
],
"struct_name": "/PPLCNetV3/Sequential_1/LCNetV3Block_1/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential_1",
"path": "fixtures/paddleocr_v5/intermediate/latin_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/latin_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential_1",
"paddle_block_op_index": 290
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
64,
24,
160
],
"materialized_sha256": "6e64e2cf0823b32c89fef1f74c9be4ed966c78497b539df588d3e1219dbb5e07"
}
},
{
"name": "pplcnetv3.sequential_2",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential_2"
],
"op_count": 32,
"op_inventory": {
"1.add": 12,
"1.conv2d": 2,
"1.depthwise_conv2d": 2,
"1.hardswish": 4,
"1.multiply": 8,
"1.reshape": 4
},
"parameter_keys": [
"conv2d_142.b_0",
"conv2d_142.w_0",
"conv2d_143.b_0",
"conv2d_143.w_0",
"conv2d_144.b_0",
"conv2d_144.w_0",
"conv2d_145.b_0",
"conv2d_145.w_0",
"learnable_affine_block_12.w_0",
"learnable_affine_block_12.w_1",
"learnable_affine_block_13.w_0",
"learnable_affine_block_13.w_1",
"learnable_affine_block_14.w_0",
"learnable_affine_block_14.w_1",
"learnable_affine_block_15.w_0",
"learnable_affine_block_15.w_1",
"learnable_affine_block_16.w_0",
"learnable_affine_block_16.w_1",
"learnable_affine_block_17.w_0",
"learnable_affine_block_17.w_1",
"learnable_affine_block_18.w_0",
"learnable_affine_block_18.w_1",
"learnable_affine_block_19.w_0",
"learnable_affine_block_19.w_1"
],
"output": {
"source_op_index": 1482,
"paddle_block_op_index": 326,
"op_type": "1.add",
"value_id": 332,
"shape": [
-1,
128,
12,
-1
],
"struct_name": "/PPLCNetV3/Sequential_2/LCNetV3Block_1/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential_2",
"path": "fixtures/paddleocr_v5/intermediate/latin_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/latin_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential_2",
"paddle_block_op_index": 326
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
128,
12,
160
],
"materialized_sha256": "5f358368603ef1d4a96b30956e6e2caca648e99d020e3cc26c443f487e036188"
}
},
{
"name": "pplcnetv3.sequential_3",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential_3"
],
"op_count": 80,
"op_inventory": {
"1.add": 30,
"1.conv2d": 5,
"1.depthwise_conv2d": 5,
"1.hardswish": 10,
"1.multiply": 20,
"1.reshape": 10
},
"parameter_keys": [
"conv2d_146.b_0",
"conv2d_146.w_0",
"conv2d_147.b_0",
"conv2d_147.w_0",
"conv2d_148.b_0",
"conv2d_148.w_0",
"conv2d_149.b_0",
"conv2d_149.w_0",
"conv2d_150.b_0",
"conv2d_150.w_0",
"conv2d_151.b_0",
"conv2d_151.w_0",
"conv2d_152.b_0",
"conv2d_152.w_0",
"conv2d_153.b_0",
"conv2d_153.w_0",
"conv2d_154.b_0",
"conv2d_154.w_0",
"conv2d_155.b_0",
"conv2d_155.w_0",
"learnable_affine_block_20.w_0",
"learnable_affine_block_20.w_1",
"learnable_affine_block_21.w_0",
"learnable_affine_block_21.w_1",
"learnable_affine_block_22.w_0",
"learnable_affine_block_22.w_1",
"learnable_affine_block_23.w_0",
"learnable_affine_block_23.w_1",
"learnable_affine_block_24.w_0",
"learnable_affine_block_24.w_1",
"learnable_affine_block_25.w_0",
"learnable_affine_block_25.w_1",
"learnable_affine_block_26.w_0",
"learnable_affine_block_26.w_1",
"learnable_affine_block_27.w_0",
"learnable_affine_block_27.w_1",
"learnable_affine_block_28.w_0",
"learnable_affine_block_28.w_1",
"learnable_affine_block_29.w_0",
"learnable_affine_block_29.w_1",
"learnable_affine_block_30.w_0",
"learnable_affine_block_30.w_1",
"learnable_affine_block_31.w_0",
"learnable_affine_block_31.w_1",
"learnable_affine_block_32.w_0",
"learnable_affine_block_32.w_1",
"learnable_affine_block_33.w_0",
"learnable_affine_block_33.w_1",
"learnable_affine_block_34.w_0",
"learnable_affine_block_34.w_1",
"learnable_affine_block_35.w_0",
"learnable_affine_block_35.w_1",
"learnable_affine_block_36.w_0",
"learnable_affine_block_36.w_1",
"learnable_affine_block_37.w_0",
"learnable_affine_block_37.w_1",
"learnable_affine_block_38.w_0",
"learnable_affine_block_38.w_1",
"learnable_affine_block_39.w_0",
"learnable_affine_block_39.w_1"
],
"output": {
"source_op_index": 2212,
"paddle_block_op_index": 416,
"op_type": "1.add",
"value_id": 422,
"shape": [
-1,
240,
12,
-1
],
"struct_name": "/PPLCNetV3/Sequential_3/LCNetV3Block_4/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential_3",
"path": "fixtures/paddleocr_v5/intermediate/latin_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/latin_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential_3",
"paddle_block_op_index": 416
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
240,
12,
80
],
"materialized_sha256": "685e6759d35f07e148af2b2a00acbc5321cf164508009e072304dd838ce3f894"
}
},
{
"name": "pplcnetv3.sequential_4",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential_4"
],
"op_count": 84,
"op_inventory": {
"1.add": 28,
"1.conv2d": 8,
"1.depthwise_conv2d": 4,
"1.hardsigmoid": 2,
"1.hardswish": 8,
"1.multiply": 18,
"1.pool2d": 2,
"1.relu": 2,
"1.reshape": 12
},
"parameter_keys": [
"conv2d_107.b_0",
"conv2d_107.w_0",
"conv2d_108.b_0",
"conv2d_108.w_0",
"conv2d_156.b_0",
"conv2d_156.w_0",
"conv2d_157.b_0",
"conv2d_157.w_0",
"conv2d_158.b_0",
"conv2d_158.w_0",
"conv2d_159.b_0",
"conv2d_159.w_0",
"conv2d_160.b_0",
"conv2d_160.w_0",
"conv2d_161.b_0",
"conv2d_161.w_0",
"conv2d_162.b_0",
"conv2d_162.w_0",
"conv2d_163.b_0",
"conv2d_163.w_0",
"conv2d_96.b_0",
"conv2d_96.w_0",
"conv2d_97.b_0",
"conv2d_97.w_0",
"learnable_affine_block_40.w_0",
"learnable_affine_block_40.w_1",
"learnable_affine_block_41.w_0",
"learnable_affine_block_41.w_1",
"learnable_affine_block_42.w_0",
"learnable_affine_block_42.w_1",
"learnable_affine_block_43.w_0",
"learnable_affine_block_43.w_1",
"learnable_affine_block_44.w_0",
"learnable_affine_block_44.w_1",
"learnable_affine_block_45.w_0",
"learnable_affine_block_45.w_1",
"learnable_affine_block_46.w_0",
"learnable_affine_block_46.w_1",
"learnable_affine_block_47.w_0",
"learnable_affine_block_47.w_1",
"learnable_affine_block_48.w_0",
"learnable_affine_block_48.w_1",
"learnable_affine_block_49.w_0",
"learnable_affine_block_49.w_1",
"learnable_affine_block_50.w_0",
"learnable_affine_block_50.w_1",
"learnable_affine_block_51.w_0",
"learnable_affine_block_51.w_1",
"learnable_affine_block_52.w_0",
"learnable_affine_block_52.w_1",
"learnable_affine_block_53.w_0",
"learnable_affine_block_53.w_1",
"learnable_affine_block_54.w_0",
"learnable_affine_block_54.w_1",
"learnable_affine_block_55.w_0",
"learnable_affine_block_55.w_1"
],
"output": {
"source_op_index": 3068,
"paddle_block_op_index": 514,
"op_type": "1.add",
"value_id": 520,
"shape": [
-1,
480,
3,
-1
],
"struct_name": "/PPLCNetV3/Sequential_4/LCNetV3Block_3/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential_4",
"path": "fixtures/paddleocr_v5/intermediate/latin_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/latin_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential_4",
"paddle_block_op_index": 514
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
480,
3,
80
],
"materialized_sha256": "dc47126dd30d19c78e2f358cd010e68c45903319ba00b21659088eb5520430aa"
}
},
{
"name": "svtr.projection",
"kind": "svtr_stage",
"source_prefixes": [
"MultiHead/SequenceEncoder"
],
"op_count": 16,
"op_inventory": {
"1.batch_norm_": 5,
"1.conv2d": 5,
"1.layer_norm": 1,
"1.swish": 5
},
"parameter_keys": [
"batch_norm2d_146.b_0",
"batch_norm2d_146.w_0",
"batch_norm2d_146.w_1",
"batch_norm2d_146.w_2",
"batch_norm2d_147.b_0",
"batch_norm2d_147.w_0",
"batch_norm2d_147.w_1",
"batch_norm2d_147.w_2",
"batch_norm2d_148.b_0",
"batch_norm2d_148.w_0",
"batch_norm2d_148.w_1",
"batch_norm2d_148.w_2",
"batch_norm2d_149.b_0",
"batch_norm2d_149.w_0",
"batch_norm2d_149.w_1",
"batch_norm2d_149.w_2",
"batch_norm2d_150.b_0",
"batch_norm2d_150.w_0",
"batch_norm2d_150.w_1",
"batch_norm2d_150.w_2",
"conv2d_131.w_0",
"conv2d_132.w_0",
"conv2d_133.w_0",
"conv2d_134.w_0",
"conv2d_135.w_0",
"layer_norm_4.b_0",
"layer_norm_4.w_0"
],
"output": {
"source_op_index": 4327,
"paddle_block_op_index": 633,
"op_type": "1.swish",
"value_id": 682,
"shape": [
-1,
120,
1,
-1
],
"struct_name": "/MultiHead/SequenceEncoder/EncoderWithSVTR/ConvBNLayer_4/Swish/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "svtr_projection",
"path": "fixtures/paddleocr_v5/intermediate/latin_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/latin_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "svtr_projection",
"paddle_block_op_index": 633
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
120,
1,
40
],
"materialized_sha256": "4efe2a349f13f9dc256176d06576b9b71ce45b61beb61d5b354f967b3855d2af"
}
},
{
"name": "svtr.block",
"kind": "svtr_stage",
"source_prefixes": [
"MultiHead/SequenceEncoder"
],
"op_count": 28,
"op_inventory": {
"1.add": 6,
"1.dropout": 4,
"1.layer_norm": 2,
"1.matmul": 6,
"1.reshape": 2,
"1.slice": 3,
"1.softmax": 1,
"1.swish": 1,
"1.transpose": 3
},
"parameter_keys": [
"layer_norm_0.b_0",
"layer_norm_0.w_0",
"layer_norm_1.b_0",
"layer_norm_1.w_0",
"linear_0.b_0",
"linear_0.w_0",
"linear_1.b_0",
"linear_1.w_0",
"linear_2.b_0",
"linear_2.w_0",
"linear_3.b_0",
"linear_3.w_0"
],
"output": {
"source_op_index": 3665,
"paddle_block_op_index": 571,
"op_type": "1.add",
"value_id": 595,
"shape": [
-1,
-1,
120
],
"struct_name": "/MultiHead/SequenceEncoder/EncoderWithSVTR/Block/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "svtr_block",
"path": "fixtures/paddleocr_v5/intermediate/latin_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/latin_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "svtr_block",
"paddle_block_op_index": 571
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
40,
120
],
"materialized_sha256": "b65e0bab18fa63fe9b752cd95c9234311d8e6ec7c56f2a156f99fd40738c05c6"
}
},
{
"name": "svtr.block_1",
"kind": "svtr_stage",
"source_prefixes": [
"MultiHead/SequenceEncoder"
],
"op_count": 28,
"op_inventory": {
"1.add": 6,
"1.dropout": 4,
"1.layer_norm": 2,
"1.matmul": 6,
"1.reshape": 2,
"1.slice": 3,
"1.softmax": 1,
"1.swish": 1,
"1.transpose": 3
},
"parameter_keys": [
"layer_norm_2.b_0",
"layer_norm_2.w_0",
"layer_norm_3.b_0",
"layer_norm_3.w_0",
"linear_4.b_0",
"linear_4.w_0",
"linear_5.b_0",
"linear_5.w_0",
"linear_6.b_0",
"linear_6.w_0",
"linear_7.b_0",
"linear_7.w_0"
],
"output": {
"source_op_index": 4068,
"paddle_block_op_index": 613,
"op_type": "1.add",
"value_id": 645,
"shape": [
-1,
-1,
120
],
"struct_name": "/MultiHead/SequenceEncoder/EncoderWithSVTR/Block_1/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "svtr_block_1",
"path": "fixtures/paddleocr_v5/intermediate/latin_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/latin_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "svtr_block_1",
"paddle_block_op_index": 613
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
40,
120
],
"materialized_sha256": "6049724279d83cda7a5f44a32413cbcfa55718d960bcd43323081346195f3072"
}
},
{
"name": "sequence_encoder.im2seq",
"kind": "sequence_encoder",
"source_prefixes": [
"MultiHead/SequenceEncoder"
],
"op_count": 2,
"op_inventory": {
"1.squeeze": 1,
"1.transpose": 1
},
"parameter_keys": [],
"output": {
"source_op_index": 4349,
"paddle_block_op_index": 636,
"op_type": "1.transpose",
"value_id": 685,
"shape": [
-1,
-1,
120
],
"struct_name": "/MultiHead/SequenceEncoder/Im2Seq/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "sequence_encoder_im2seq",
"path": "fixtures/paddleocr_v5/intermediate/latin_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/latin_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "sequence_encoder_im2seq",
"paddle_block_op_index": 636
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
40,
120
],
"materialized_sha256": "956ac04b0a86c43b1720673719998f010a5708361d48423dc560e3edf0601642"
}
},
{
"name": "ctc_head",
"kind": "ctc_head",
"source_prefixes": [
"MultiHead/CTCHead"
],
"op_count": 2,
"op_inventory": {
"1.add": 1,
"1.matmul": 1
},
"parameter_keys": [
"linear_8.b_0",
"linear_8.w_0"
],
"output": {
"source_op_index": 4367,
"paddle_block_op_index": 638,
"op_type": "1.add",
"value_id": 687,
"shape": [
-1,
-1,
838
],
"struct_name": "/MultiHead/CTCHead/Linear/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "ctc_head",
"path": "fixtures/paddleocr_v5/intermediate/latin_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/latin_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "ctc_head",
"paddle_block_op_index": 638
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
40,
838
],
"materialized_sha256": "86629c0dd7f2f3864ba8fea34e076e1d0f69c79ac2e51b631292b54f88878d0d"
}
}
],
"parameter_assignment": {
"source_parameter_count": 234,
"assigned_parameter_count": 234,
"unassigned_parameter_count": 0
}
},
{
"variant": "eslav_PP-OCRv5_mobile_rec",
"model_dir": "models/PaddlePaddle/eslav_PP-OCRv5_mobile_rec",
"family": "ppocr_v5_text_recognition",
"input_fixture": "fixtures/paddleocr_v5/eslav_PP-OCRv5_mobile_rec_input.safetensors",
"input_shape": [
1,
3,
48,
320
],
"dynamic_shape_constraints": {
"prepared_input": "NCHW fp32 with 3 channels and fixed recognition height 48 for checked fixtures.",
"recommended_parity_shape": [
1,
3,
48,
320
],
"sequence_length": "CTC time steps are produced by squeezing feature height 1 and transposing width to [N,T,C].",
"output": "CTC probabilities [N,T,class_count]."
},
"source_hashes": {
"config_json": "f6a5103ccf8d446d96477461fca58213c0eecd3d31518dfaf5b941110a342911",
"inference_json": "3fb6e2e658f5139ff16e35260de8f0577f106a9505c902e1dfc1f4f1d03cc9cb",
"inference_pdiparams": "f11057b05d8517868bca505271278973d706600d9dcc184cbcf5c4512091c32b"
},
"blocks": [
{
"name": "pplcnetv3.stem",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/ConvBNLayer"
],
"op_count": 2,
"op_inventory": {
"1.batch_norm_": 1,
"1.conv2d": 1
},
"parameter_keys": [
"batch_norm2d_0.b_0",
"batch_norm2d_0.w_0",
"batch_norm2d_0.w_1",
"batch_norm2d_0.w_2",
"conv2d_0.w_0"
],
"output": {
"source_op_index": 731,
"paddle_block_op_index": 236,
"op_type": "1.batch_norm_",
"value_id": 237,
"shape": [
-1,
16,
24,
-1
],
"struct_name": "/PPLCNetV3/ConvBNLayer/BatchNorm2D/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_stem",
"path": "fixtures/paddleocr_v5/intermediate/eslav_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/eslav_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_stem",
"paddle_block_op_index": 236
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
16,
24,
160
],
"materialized_sha256": "33c2926ab8a8bfc694ac37bba802bb5c54d2032df53e066cc867b59d0d7485dc"
}
},
{
"name": "pplcnetv3.sequential",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential"
],
"op_count": 16,
"op_inventory": {
"1.add": 6,
"1.conv2d": 1,
"1.depthwise_conv2d": 1,
"1.hardswish": 2,
"1.multiply": 4,
"1.reshape": 2
},
"parameter_keys": [
"conv2d_136.b_0",
"conv2d_136.w_0",
"conv2d_137.b_0",
"conv2d_137.w_0",
"learnable_affine_block_0.w_0",
"learnable_affine_block_0.w_1",
"learnable_affine_block_1.w_0",
"learnable_affine_block_1.w_1",
"learnable_affine_block_2.w_0",
"learnable_affine_block_2.w_1",
"learnable_affine_block_3.w_0",
"learnable_affine_block_3.w_1"
],
"output": {
"source_op_index": 898,
"paddle_block_op_index": 254,
"op_type": "1.add",
"value_id": 260,
"shape": [
-1,
32,
24,
-1
],
"struct_name": "/PPLCNetV3/Sequential/LCNetV3Block/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential",
"path": "fixtures/paddleocr_v5/intermediate/eslav_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/eslav_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential",
"paddle_block_op_index": 254
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
32,
24,
160
],
"materialized_sha256": "07303e7b861fcf5630f5d27a52e4b5e9a4977a08c4b28b758ff34fbb912f52db"
}
},
{
"name": "pplcnetv3.sequential_1",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential_1"
],
"op_count": 32,
"op_inventory": {
"1.add": 12,
"1.conv2d": 2,
"1.depthwise_conv2d": 2,
"1.hardswish": 4,
"1.multiply": 8,
"1.reshape": 4
},
"parameter_keys": [
"conv2d_138.b_0",
"conv2d_138.w_0",
"conv2d_139.b_0",
"conv2d_139.w_0",
"conv2d_140.b_0",
"conv2d_140.w_0",
"conv2d_141.b_0",
"conv2d_141.w_0",
"learnable_affine_block_10.w_0",
"learnable_affine_block_10.w_1",
"learnable_affine_block_11.w_0",
"learnable_affine_block_11.w_1",
"learnable_affine_block_4.w_0",
"learnable_affine_block_4.w_1",
"learnable_affine_block_5.w_0",
"learnable_affine_block_5.w_1",
"learnable_affine_block_6.w_0",
"learnable_affine_block_6.w_1",
"learnable_affine_block_7.w_0",
"learnable_affine_block_7.w_1",
"learnable_affine_block_8.w_0",
"learnable_affine_block_8.w_1",
"learnable_affine_block_9.w_0",
"learnable_affine_block_9.w_1"
],
"output": {
"source_op_index": 1190,
"paddle_block_op_index": 290,
"op_type": "1.add",
"value_id": 296,
"shape": [
-1,
64,
24,
-1
],
"struct_name": "/PPLCNetV3/Sequential_1/LCNetV3Block_1/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential_1",
"path": "fixtures/paddleocr_v5/intermediate/eslav_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/eslav_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential_1",
"paddle_block_op_index": 290
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
64,
24,
160
],
"materialized_sha256": "36bec892e4bc220f6326d51ff996c034eda102950927b0c5917c4d8759054ade"
}
},
{
"name": "pplcnetv3.sequential_2",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential_2"
],
"op_count": 32,
"op_inventory": {
"1.add": 12,
"1.conv2d": 2,
"1.depthwise_conv2d": 2,
"1.hardswish": 4,
"1.multiply": 8,
"1.reshape": 4
},
"parameter_keys": [
"conv2d_142.b_0",
"conv2d_142.w_0",
"conv2d_143.b_0",
"conv2d_143.w_0",
"conv2d_144.b_0",
"conv2d_144.w_0",
"conv2d_145.b_0",
"conv2d_145.w_0",
"learnable_affine_block_12.w_0",
"learnable_affine_block_12.w_1",
"learnable_affine_block_13.w_0",
"learnable_affine_block_13.w_1",
"learnable_affine_block_14.w_0",
"learnable_affine_block_14.w_1",
"learnable_affine_block_15.w_0",
"learnable_affine_block_15.w_1",
"learnable_affine_block_16.w_0",
"learnable_affine_block_16.w_1",
"learnable_affine_block_17.w_0",
"learnable_affine_block_17.w_1",
"learnable_affine_block_18.w_0",
"learnable_affine_block_18.w_1",
"learnable_affine_block_19.w_0",
"learnable_affine_block_19.w_1"
],
"output": {
"source_op_index": 1482,
"paddle_block_op_index": 326,
"op_type": "1.add",
"value_id": 332,
"shape": [
-1,
128,
12,
-1
],
"struct_name": "/PPLCNetV3/Sequential_2/LCNetV3Block_1/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential_2",
"path": "fixtures/paddleocr_v5/intermediate/eslav_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/eslav_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential_2",
"paddle_block_op_index": 326
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
128,
12,
160
],
"materialized_sha256": "8a1cca7247e46c2615d494a5ee1627d2cfe1920b9ce1c89a68811d64b4043ea3"
}
},
{
"name": "pplcnetv3.sequential_3",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential_3"
],
"op_count": 80,
"op_inventory": {
"1.add": 30,
"1.conv2d": 5,
"1.depthwise_conv2d": 5,
"1.hardswish": 10,
"1.multiply": 20,
"1.reshape": 10
},
"parameter_keys": [
"conv2d_146.b_0",
"conv2d_146.w_0",
"conv2d_147.b_0",
"conv2d_147.w_0",
"conv2d_148.b_0",
"conv2d_148.w_0",
"conv2d_149.b_0",
"conv2d_149.w_0",
"conv2d_150.b_0",
"conv2d_150.w_0",
"conv2d_151.b_0",
"conv2d_151.w_0",
"conv2d_152.b_0",
"conv2d_152.w_0",
"conv2d_153.b_0",
"conv2d_153.w_0",
"conv2d_154.b_0",
"conv2d_154.w_0",
"conv2d_155.b_0",
"conv2d_155.w_0",
"learnable_affine_block_20.w_0",
"learnable_affine_block_20.w_1",
"learnable_affine_block_21.w_0",
"learnable_affine_block_21.w_1",
"learnable_affine_block_22.w_0",
"learnable_affine_block_22.w_1",
"learnable_affine_block_23.w_0",
"learnable_affine_block_23.w_1",
"learnable_affine_block_24.w_0",
"learnable_affine_block_24.w_1",
"learnable_affine_block_25.w_0",
"learnable_affine_block_25.w_1",
"learnable_affine_block_26.w_0",
"learnable_affine_block_26.w_1",
"learnable_affine_block_27.w_0",
"learnable_affine_block_27.w_1",
"learnable_affine_block_28.w_0",
"learnable_affine_block_28.w_1",
"learnable_affine_block_29.w_0",
"learnable_affine_block_29.w_1",
"learnable_affine_block_30.w_0",
"learnable_affine_block_30.w_1",
"learnable_affine_block_31.w_0",
"learnable_affine_block_31.w_1",
"learnable_affine_block_32.w_0",
"learnable_affine_block_32.w_1",
"learnable_affine_block_33.w_0",
"learnable_affine_block_33.w_1",
"learnable_affine_block_34.w_0",
"learnable_affine_block_34.w_1",
"learnable_affine_block_35.w_0",
"learnable_affine_block_35.w_1",
"learnable_affine_block_36.w_0",
"learnable_affine_block_36.w_1",
"learnable_affine_block_37.w_0",
"learnable_affine_block_37.w_1",
"learnable_affine_block_38.w_0",
"learnable_affine_block_38.w_1",
"learnable_affine_block_39.w_0",
"learnable_affine_block_39.w_1"
],
"output": {
"source_op_index": 2212,
"paddle_block_op_index": 416,
"op_type": "1.add",
"value_id": 422,
"shape": [
-1,
240,
12,
-1
],
"struct_name": "/PPLCNetV3/Sequential_3/LCNetV3Block_4/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential_3",
"path": "fixtures/paddleocr_v5/intermediate/eslav_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/eslav_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential_3",
"paddle_block_op_index": 416
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
240,
12,
80
],
"materialized_sha256": "8850eac46b29d2b8e49d136633df8c5bdb35b475bcb4ce8391806325b2fa8b3b"
}
},
{
"name": "pplcnetv3.sequential_4",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential_4"
],
"op_count": 84,
"op_inventory": {
"1.add": 28,
"1.conv2d": 8,
"1.depthwise_conv2d": 4,
"1.hardsigmoid": 2,
"1.hardswish": 8,
"1.multiply": 18,
"1.pool2d": 2,
"1.relu": 2,
"1.reshape": 12
},
"parameter_keys": [
"conv2d_107.b_0",
"conv2d_107.w_0",
"conv2d_108.b_0",
"conv2d_108.w_0",
"conv2d_156.b_0",
"conv2d_156.w_0",
"conv2d_157.b_0",
"conv2d_157.w_0",
"conv2d_158.b_0",
"conv2d_158.w_0",
"conv2d_159.b_0",
"conv2d_159.w_0",
"conv2d_160.b_0",
"conv2d_160.w_0",
"conv2d_161.b_0",
"conv2d_161.w_0",
"conv2d_162.b_0",
"conv2d_162.w_0",
"conv2d_163.b_0",
"conv2d_163.w_0",
"conv2d_96.b_0",
"conv2d_96.w_0",
"conv2d_97.b_0",
"conv2d_97.w_0",
"learnable_affine_block_40.w_0",
"learnable_affine_block_40.w_1",
"learnable_affine_block_41.w_0",
"learnable_affine_block_41.w_1",
"learnable_affine_block_42.w_0",
"learnable_affine_block_42.w_1",
"learnable_affine_block_43.w_0",
"learnable_affine_block_43.w_1",
"learnable_affine_block_44.w_0",
"learnable_affine_block_44.w_1",
"learnable_affine_block_45.w_0",
"learnable_affine_block_45.w_1",
"learnable_affine_block_46.w_0",
"learnable_affine_block_46.w_1",
"learnable_affine_block_47.w_0",
"learnable_affine_block_47.w_1",
"learnable_affine_block_48.w_0",
"learnable_affine_block_48.w_1",
"learnable_affine_block_49.w_0",
"learnable_affine_block_49.w_1",
"learnable_affine_block_50.w_0",
"learnable_affine_block_50.w_1",
"learnable_affine_block_51.w_0",
"learnable_affine_block_51.w_1",
"learnable_affine_block_52.w_0",
"learnable_affine_block_52.w_1",
"learnable_affine_block_53.w_0",
"learnable_affine_block_53.w_1",
"learnable_affine_block_54.w_0",
"learnable_affine_block_54.w_1",
"learnable_affine_block_55.w_0",
"learnable_affine_block_55.w_1"
],
"output": {
"source_op_index": 3068,
"paddle_block_op_index": 514,
"op_type": "1.add",
"value_id": 520,
"shape": [
-1,
480,
3,
-1
],
"struct_name": "/PPLCNetV3/Sequential_4/LCNetV3Block_3/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential_4",
"path": "fixtures/paddleocr_v5/intermediate/eslav_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/eslav_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential_4",
"paddle_block_op_index": 514
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
480,
3,
80
],
"materialized_sha256": "15b291432192e6b93c290a8dabf85b23f5a75c3b35b96a42f5f12e0d28c13fb9"
}
},
{
"name": "svtr.projection",
"kind": "svtr_stage",
"source_prefixes": [
"MultiHead/SequenceEncoder"
],
"op_count": 16,
"op_inventory": {
"1.batch_norm_": 5,
"1.conv2d": 5,
"1.layer_norm": 1,
"1.swish": 5
},
"parameter_keys": [
"batch_norm2d_146.b_0",
"batch_norm2d_146.w_0",
"batch_norm2d_146.w_1",
"batch_norm2d_146.w_2",
"batch_norm2d_147.b_0",
"batch_norm2d_147.w_0",
"batch_norm2d_147.w_1",
"batch_norm2d_147.w_2",
"batch_norm2d_148.b_0",
"batch_norm2d_148.w_0",
"batch_norm2d_148.w_1",
"batch_norm2d_148.w_2",
"batch_norm2d_149.b_0",
"batch_norm2d_149.w_0",
"batch_norm2d_149.w_1",
"batch_norm2d_149.w_2",
"batch_norm2d_150.b_0",
"batch_norm2d_150.w_0",
"batch_norm2d_150.w_1",
"batch_norm2d_150.w_2",
"conv2d_131.w_0",
"conv2d_132.w_0",
"conv2d_133.w_0",
"conv2d_134.w_0",
"conv2d_135.w_0",
"layer_norm_4.b_0",
"layer_norm_4.w_0"
],
"output": {
"source_op_index": 4327,
"paddle_block_op_index": 633,
"op_type": "1.swish",
"value_id": 682,
"shape": [
-1,
120,
1,
-1
],
"struct_name": "/MultiHead/SequenceEncoder/EncoderWithSVTR/ConvBNLayer_4/Swish/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "svtr_projection",
"path": "fixtures/paddleocr_v5/intermediate/eslav_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/eslav_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "svtr_projection",
"paddle_block_op_index": 633
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
120,
1,
40
],
"materialized_sha256": "bc13030540165935be76fcff563eb39ef6df55a9c99e70d62a803bd3f9be052e"
}
},
{
"name": "svtr.block",
"kind": "svtr_stage",
"source_prefixes": [
"MultiHead/SequenceEncoder"
],
"op_count": 28,
"op_inventory": {
"1.add": 6,
"1.dropout": 4,
"1.layer_norm": 2,
"1.matmul": 6,
"1.reshape": 2,
"1.slice": 3,
"1.softmax": 1,
"1.swish": 1,
"1.transpose": 3
},
"parameter_keys": [
"layer_norm_0.b_0",
"layer_norm_0.w_0",
"layer_norm_1.b_0",
"layer_norm_1.w_0",
"linear_0.b_0",
"linear_0.w_0",
"linear_1.b_0",
"linear_1.w_0",
"linear_2.b_0",
"linear_2.w_0",
"linear_3.b_0",
"linear_3.w_0"
],
"output": {
"source_op_index": 3665,
"paddle_block_op_index": 571,
"op_type": "1.add",
"value_id": 595,
"shape": [
-1,
-1,
120
],
"struct_name": "/MultiHead/SequenceEncoder/EncoderWithSVTR/Block/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "svtr_block",
"path": "fixtures/paddleocr_v5/intermediate/eslav_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/eslav_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "svtr_block",
"paddle_block_op_index": 571
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
40,
120
],
"materialized_sha256": "8e090fd6dbde273fb7a1462213ca905cfe26d8d2d16869eed5f831315505b3bf"
}
},
{
"name": "svtr.block_1",
"kind": "svtr_stage",
"source_prefixes": [
"MultiHead/SequenceEncoder"
],
"op_count": 28,
"op_inventory": {
"1.add": 6,
"1.dropout": 4,
"1.layer_norm": 2,
"1.matmul": 6,
"1.reshape": 2,
"1.slice": 3,
"1.softmax": 1,
"1.swish": 1,
"1.transpose": 3
},
"parameter_keys": [
"layer_norm_2.b_0",
"layer_norm_2.w_0",
"layer_norm_3.b_0",
"layer_norm_3.w_0",
"linear_4.b_0",
"linear_4.w_0",
"linear_5.b_0",
"linear_5.w_0",
"linear_6.b_0",
"linear_6.w_0",
"linear_7.b_0",
"linear_7.w_0"
],
"output": {
"source_op_index": 4068,
"paddle_block_op_index": 613,
"op_type": "1.add",
"value_id": 645,
"shape": [
-1,
-1,
120
],
"struct_name": "/MultiHead/SequenceEncoder/EncoderWithSVTR/Block_1/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "svtr_block_1",
"path": "fixtures/paddleocr_v5/intermediate/eslav_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/eslav_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "svtr_block_1",
"paddle_block_op_index": 613
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
40,
120
],
"materialized_sha256": "58ce38e3d10286ebde8d0d627790aa536139915a80b3f64363834a69ff679416"
}
},
{
"name": "sequence_encoder.im2seq",
"kind": "sequence_encoder",
"source_prefixes": [
"MultiHead/SequenceEncoder"
],
"op_count": 2,
"op_inventory": {
"1.squeeze": 1,
"1.transpose": 1
},
"parameter_keys": [],
"output": {
"source_op_index": 4349,
"paddle_block_op_index": 636,
"op_type": "1.transpose",
"value_id": 685,
"shape": [
-1,
-1,
120
],
"struct_name": "/MultiHead/SequenceEncoder/Im2Seq/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "sequence_encoder_im2seq",
"path": "fixtures/paddleocr_v5/intermediate/eslav_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/eslav_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "sequence_encoder_im2seq",
"paddle_block_op_index": 636
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
40,
120
],
"materialized_sha256": "6fc48ebff559c0bcdb091fe851a7b65a63da6dc525df21a3e9e3675d741e93b4"
}
},
{
"name": "ctc_head",
"kind": "ctc_head",
"source_prefixes": [
"MultiHead/CTCHead"
],
"op_count": 2,
"op_inventory": {
"1.add": 1,
"1.matmul": 1
},
"parameter_keys": [
"linear_8.b_0",
"linear_8.w_0"
],
"output": {
"source_op_index": 4367,
"paddle_block_op_index": 638,
"op_type": "1.add",
"value_id": 687,
"shape": [
-1,
-1,
519
],
"struct_name": "/MultiHead/CTCHead/Linear/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "ctc_head",
"path": "fixtures/paddleocr_v5/intermediate/eslav_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/eslav_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "ctc_head",
"paddle_block_op_index": 638
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
40,
519
],
"materialized_sha256": "617eac95213ac76ab8fb974c76c6b55090ec60bdc01e7080a119af4ec2b595a0"
}
}
],
"parameter_assignment": {
"source_parameter_count": 234,
"assigned_parameter_count": 234,
"unassigned_parameter_count": 0
}
},
{
"variant": "korean_PP-OCRv5_mobile_rec",
"model_dir": "models/PaddlePaddle/korean_PP-OCRv5_mobile_rec",
"family": "ppocr_v5_text_recognition",
"input_fixture": "fixtures/paddleocr_v5/korean_PP-OCRv5_mobile_rec_input.safetensors",
"input_shape": [
1,
3,
48,
320
],
"dynamic_shape_constraints": {
"prepared_input": "NCHW fp32 with 3 channels and fixed recognition height 48 for checked fixtures.",
"recommended_parity_shape": [
1,
3,
48,
320
],
"sequence_length": "CTC time steps are produced by squeezing feature height 1 and transposing width to [N,T,C].",
"output": "CTC probabilities [N,T,class_count]."
},
"source_hashes": {
"config_json": "c86a49d6301e6c4ff3398a87a2a1926b3521a46e90042833e18bbfa8ba6165c2",
"inference_json": "562404e3c590c50c93778d5f0a94df21b47b5ab8f3ea6d47c7f8a7930c3bc844",
"inference_pdiparams": "cac3e5f12cf04aaa77f6a5bc704e4e736ef2908476551891d84b41b4e9090462"
},
"blocks": [
{
"name": "pplcnetv3.stem",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/ConvBNLayer"
],
"op_count": 2,
"op_inventory": {
"1.batch_norm_": 1,
"1.conv2d": 1
},
"parameter_keys": [
"batch_norm2d_0.b_0",
"batch_norm2d_0.w_0",
"batch_norm2d_0.w_1",
"batch_norm2d_0.w_2",
"conv2d_0.w_0"
],
"output": {
"source_op_index": 731,
"paddle_block_op_index": 236,
"op_type": "1.batch_norm_",
"value_id": 237,
"shape": [
-1,
16,
24,
-1
],
"struct_name": "/PPLCNetV3/ConvBNLayer/BatchNorm2D/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_stem",
"path": "fixtures/paddleocr_v5/intermediate/korean_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/korean_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_stem",
"paddle_block_op_index": 236
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
16,
24,
160
],
"materialized_sha256": "d93e069f1a41f273bf6d31273204ef1abc85093fc25eef81a9bd52c39896ef3e"
}
},
{
"name": "pplcnetv3.sequential",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential"
],
"op_count": 16,
"op_inventory": {
"1.add": 6,
"1.conv2d": 1,
"1.depthwise_conv2d": 1,
"1.hardswish": 2,
"1.multiply": 4,
"1.reshape": 2
},
"parameter_keys": [
"conv2d_136.b_0",
"conv2d_136.w_0",
"conv2d_137.b_0",
"conv2d_137.w_0",
"learnable_affine_block_0.w_0",
"learnable_affine_block_0.w_1",
"learnable_affine_block_1.w_0",
"learnable_affine_block_1.w_1",
"learnable_affine_block_2.w_0",
"learnable_affine_block_2.w_1",
"learnable_affine_block_3.w_0",
"learnable_affine_block_3.w_1"
],
"output": {
"source_op_index": 898,
"paddle_block_op_index": 254,
"op_type": "1.add",
"value_id": 260,
"shape": [
-1,
32,
24,
-1
],
"struct_name": "/PPLCNetV3/Sequential/LCNetV3Block/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential",
"path": "fixtures/paddleocr_v5/intermediate/korean_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/korean_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential",
"paddle_block_op_index": 254
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
32,
24,
160
],
"materialized_sha256": "29b8d025ea3ce8ee1187bdfc97efac513190dd618290122fcde713a7d47aeef2"
}
},
{
"name": "pplcnetv3.sequential_1",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential_1"
],
"op_count": 32,
"op_inventory": {
"1.add": 12,
"1.conv2d": 2,
"1.depthwise_conv2d": 2,
"1.hardswish": 4,
"1.multiply": 8,
"1.reshape": 4
},
"parameter_keys": [
"conv2d_138.b_0",
"conv2d_138.w_0",
"conv2d_139.b_0",
"conv2d_139.w_0",
"conv2d_140.b_0",
"conv2d_140.w_0",
"conv2d_141.b_0",
"conv2d_141.w_0",
"learnable_affine_block_10.w_0",
"learnable_affine_block_10.w_1",
"learnable_affine_block_11.w_0",
"learnable_affine_block_11.w_1",
"learnable_affine_block_4.w_0",
"learnable_affine_block_4.w_1",
"learnable_affine_block_5.w_0",
"learnable_affine_block_5.w_1",
"learnable_affine_block_6.w_0",
"learnable_affine_block_6.w_1",
"learnable_affine_block_7.w_0",
"learnable_affine_block_7.w_1",
"learnable_affine_block_8.w_0",
"learnable_affine_block_8.w_1",
"learnable_affine_block_9.w_0",
"learnable_affine_block_9.w_1"
],
"output": {
"source_op_index": 1190,
"paddle_block_op_index": 290,
"op_type": "1.add",
"value_id": 296,
"shape": [
-1,
64,
24,
-1
],
"struct_name": "/PPLCNetV3/Sequential_1/LCNetV3Block_1/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential_1",
"path": "fixtures/paddleocr_v5/intermediate/korean_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/korean_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential_1",
"paddle_block_op_index": 290
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
64,
24,
160
],
"materialized_sha256": "4e6bda6ee19e1c8900388b337ee64a8e422a6481babf372904d5d2022dd29971"
}
},
{
"name": "pplcnetv3.sequential_2",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential_2"
],
"op_count": 32,
"op_inventory": {
"1.add": 12,
"1.conv2d": 2,
"1.depthwise_conv2d": 2,
"1.hardswish": 4,
"1.multiply": 8,
"1.reshape": 4
},
"parameter_keys": [
"conv2d_142.b_0",
"conv2d_142.w_0",
"conv2d_143.b_0",
"conv2d_143.w_0",
"conv2d_144.b_0",
"conv2d_144.w_0",
"conv2d_145.b_0",
"conv2d_145.w_0",
"learnable_affine_block_12.w_0",
"learnable_affine_block_12.w_1",
"learnable_affine_block_13.w_0",
"learnable_affine_block_13.w_1",
"learnable_affine_block_14.w_0",
"learnable_affine_block_14.w_1",
"learnable_affine_block_15.w_0",
"learnable_affine_block_15.w_1",
"learnable_affine_block_16.w_0",
"learnable_affine_block_16.w_1",
"learnable_affine_block_17.w_0",
"learnable_affine_block_17.w_1",
"learnable_affine_block_18.w_0",
"learnable_affine_block_18.w_1",
"learnable_affine_block_19.w_0",
"learnable_affine_block_19.w_1"
],
"output": {
"source_op_index": 1482,
"paddle_block_op_index": 326,
"op_type": "1.add",
"value_id": 332,
"shape": [
-1,
128,
12,
-1
],
"struct_name": "/PPLCNetV3/Sequential_2/LCNetV3Block_1/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential_2",
"path": "fixtures/paddleocr_v5/intermediate/korean_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/korean_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential_2",
"paddle_block_op_index": 326
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
128,
12,
160
],
"materialized_sha256": "67a7eb439c1ec1f811d3e4ae1a73866c79c5b01026c1b2d69da7d245453adffd"
}
},
{
"name": "pplcnetv3.sequential_3",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential_3"
],
"op_count": 80,
"op_inventory": {
"1.add": 30,
"1.conv2d": 5,
"1.depthwise_conv2d": 5,
"1.hardswish": 10,
"1.multiply": 20,
"1.reshape": 10
},
"parameter_keys": [
"conv2d_146.b_0",
"conv2d_146.w_0",
"conv2d_147.b_0",
"conv2d_147.w_0",
"conv2d_148.b_0",
"conv2d_148.w_0",
"conv2d_149.b_0",
"conv2d_149.w_0",
"conv2d_150.b_0",
"conv2d_150.w_0",
"conv2d_151.b_0",
"conv2d_151.w_0",
"conv2d_152.b_0",
"conv2d_152.w_0",
"conv2d_153.b_0",
"conv2d_153.w_0",
"conv2d_154.b_0",
"conv2d_154.w_0",
"conv2d_155.b_0",
"conv2d_155.w_0",
"learnable_affine_block_20.w_0",
"learnable_affine_block_20.w_1",
"learnable_affine_block_21.w_0",
"learnable_affine_block_21.w_1",
"learnable_affine_block_22.w_0",
"learnable_affine_block_22.w_1",
"learnable_affine_block_23.w_0",
"learnable_affine_block_23.w_1",
"learnable_affine_block_24.w_0",
"learnable_affine_block_24.w_1",
"learnable_affine_block_25.w_0",
"learnable_affine_block_25.w_1",
"learnable_affine_block_26.w_0",
"learnable_affine_block_26.w_1",
"learnable_affine_block_27.w_0",
"learnable_affine_block_27.w_1",
"learnable_affine_block_28.w_0",
"learnable_affine_block_28.w_1",
"learnable_affine_block_29.w_0",
"learnable_affine_block_29.w_1",
"learnable_affine_block_30.w_0",
"learnable_affine_block_30.w_1",
"learnable_affine_block_31.w_0",
"learnable_affine_block_31.w_1",
"learnable_affine_block_32.w_0",
"learnable_affine_block_32.w_1",
"learnable_affine_block_33.w_0",
"learnable_affine_block_33.w_1",
"learnable_affine_block_34.w_0",
"learnable_affine_block_34.w_1",
"learnable_affine_block_35.w_0",
"learnable_affine_block_35.w_1",
"learnable_affine_block_36.w_0",
"learnable_affine_block_36.w_1",
"learnable_affine_block_37.w_0",
"learnable_affine_block_37.w_1",
"learnable_affine_block_38.w_0",
"learnable_affine_block_38.w_1",
"learnable_affine_block_39.w_0",
"learnable_affine_block_39.w_1"
],
"output": {
"source_op_index": 2212,
"paddle_block_op_index": 416,
"op_type": "1.add",
"value_id": 422,
"shape": [
-1,
240,
12,
-1
],
"struct_name": "/PPLCNetV3/Sequential_3/LCNetV3Block_4/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential_3",
"path": "fixtures/paddleocr_v5/intermediate/korean_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/korean_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential_3",
"paddle_block_op_index": 416
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
240,
12,
80
],
"materialized_sha256": "ba007a5d29ee8ab4b9bfdd9bbe804a3037bfa9810de8b031c45ca711cfdccf62"
}
},
{
"name": "pplcnetv3.sequential_4",
"kind": "pplcnetv3_stage",
"source_prefixes": [
"PPLCNetV3/Sequential_4"
],
"op_count": 84,
"op_inventory": {
"1.add": 28,
"1.conv2d": 8,
"1.depthwise_conv2d": 4,
"1.hardsigmoid": 2,
"1.hardswish": 8,
"1.multiply": 18,
"1.pool2d": 2,
"1.relu": 2,
"1.reshape": 12
},
"parameter_keys": [
"conv2d_107.b_0",
"conv2d_107.w_0",
"conv2d_108.b_0",
"conv2d_108.w_0",
"conv2d_156.b_0",
"conv2d_156.w_0",
"conv2d_157.b_0",
"conv2d_157.w_0",
"conv2d_158.b_0",
"conv2d_158.w_0",
"conv2d_159.b_0",
"conv2d_159.w_0",
"conv2d_160.b_0",
"conv2d_160.w_0",
"conv2d_161.b_0",
"conv2d_161.w_0",
"conv2d_162.b_0",
"conv2d_162.w_0",
"conv2d_163.b_0",
"conv2d_163.w_0",
"conv2d_96.b_0",
"conv2d_96.w_0",
"conv2d_97.b_0",
"conv2d_97.w_0",
"learnable_affine_block_40.w_0",
"learnable_affine_block_40.w_1",
"learnable_affine_block_41.w_0",
"learnable_affine_block_41.w_1",
"learnable_affine_block_42.w_0",
"learnable_affine_block_42.w_1",
"learnable_affine_block_43.w_0",
"learnable_affine_block_43.w_1",
"learnable_affine_block_44.w_0",
"learnable_affine_block_44.w_1",
"learnable_affine_block_45.w_0",
"learnable_affine_block_45.w_1",
"learnable_affine_block_46.w_0",
"learnable_affine_block_46.w_1",
"learnable_affine_block_47.w_0",
"learnable_affine_block_47.w_1",
"learnable_affine_block_48.w_0",
"learnable_affine_block_48.w_1",
"learnable_affine_block_49.w_0",
"learnable_affine_block_49.w_1",
"learnable_affine_block_50.w_0",
"learnable_affine_block_50.w_1",
"learnable_affine_block_51.w_0",
"learnable_affine_block_51.w_1",
"learnable_affine_block_52.w_0",
"learnable_affine_block_52.w_1",
"learnable_affine_block_53.w_0",
"learnable_affine_block_53.w_1",
"learnable_affine_block_54.w_0",
"learnable_affine_block_54.w_1",
"learnable_affine_block_55.w_0",
"learnable_affine_block_55.w_1"
],
"output": {
"source_op_index": 3068,
"paddle_block_op_index": 514,
"op_type": "1.add",
"value_id": 520,
"shape": [
-1,
480,
3,
-1
],
"struct_name": "/PPLCNetV3/Sequential_4/LCNetV3Block_3/LearnableRepLayer_1/Act/LearnableAffineBlock/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "pplcnetv3_sequential_4",
"path": "fixtures/paddleocr_v5/intermediate/korean_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/korean_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "pplcnetv3_sequential_4",
"paddle_block_op_index": 514
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
480,
3,
80
],
"materialized_sha256": "0319445a65a5c43bfdf8a1738b663288dcafb12a73f1008a9f1c7216cb2fc986"
}
},
{
"name": "svtr.projection",
"kind": "svtr_stage",
"source_prefixes": [
"MultiHead/SequenceEncoder"
],
"op_count": 16,
"op_inventory": {
"1.batch_norm_": 5,
"1.conv2d": 5,
"1.layer_norm": 1,
"1.swish": 5
},
"parameter_keys": [
"batch_norm2d_146.b_0",
"batch_norm2d_146.w_0",
"batch_norm2d_146.w_1",
"batch_norm2d_146.w_2",
"batch_norm2d_147.b_0",
"batch_norm2d_147.w_0",
"batch_norm2d_147.w_1",
"batch_norm2d_147.w_2",
"batch_norm2d_148.b_0",
"batch_norm2d_148.w_0",
"batch_norm2d_148.w_1",
"batch_norm2d_148.w_2",
"batch_norm2d_149.b_0",
"batch_norm2d_149.w_0",
"batch_norm2d_149.w_1",
"batch_norm2d_149.w_2",
"batch_norm2d_150.b_0",
"batch_norm2d_150.w_0",
"batch_norm2d_150.w_1",
"batch_norm2d_150.w_2",
"conv2d_131.w_0",
"conv2d_132.w_0",
"conv2d_133.w_0",
"conv2d_134.w_0",
"conv2d_135.w_0",
"layer_norm_4.b_0",
"layer_norm_4.w_0"
],
"output": {
"source_op_index": 4327,
"paddle_block_op_index": 633,
"op_type": "1.swish",
"value_id": 682,
"shape": [
-1,
120,
1,
-1
],
"struct_name": "/MultiHead/SequenceEncoder/EncoderWithSVTR/ConvBNLayer_4/Swish/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "svtr_projection",
"path": "fixtures/paddleocr_v5/intermediate/korean_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/korean_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "svtr_projection",
"paddle_block_op_index": 633
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
120,
1,
40
],
"materialized_sha256": "c9a919eb557e0eeee206d55a25db8f0c0dca45cc9e62b57bc93b40da169eb8c7"
}
},
{
"name": "svtr.block",
"kind": "svtr_stage",
"source_prefixes": [
"MultiHead/SequenceEncoder"
],
"op_count": 28,
"op_inventory": {
"1.add": 6,
"1.dropout": 4,
"1.layer_norm": 2,
"1.matmul": 6,
"1.reshape": 2,
"1.slice": 3,
"1.softmax": 1,
"1.swish": 1,
"1.transpose": 3
},
"parameter_keys": [
"layer_norm_0.b_0",
"layer_norm_0.w_0",
"layer_norm_1.b_0",
"layer_norm_1.w_0",
"linear_0.b_0",
"linear_0.w_0",
"linear_1.b_0",
"linear_1.w_0",
"linear_2.b_0",
"linear_2.w_0",
"linear_3.b_0",
"linear_3.w_0"
],
"output": {
"source_op_index": 3665,
"paddle_block_op_index": 571,
"op_type": "1.add",
"value_id": 595,
"shape": [
-1,
-1,
120
],
"struct_name": "/MultiHead/SequenceEncoder/EncoderWithSVTR/Block/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "svtr_block",
"path": "fixtures/paddleocr_v5/intermediate/korean_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/korean_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "svtr_block",
"paddle_block_op_index": 571
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
40,
120
],
"materialized_sha256": "711747a13d454e6eb3b5fe3f32c1f2629aa1f0b5f7f7326cfb3f5c6984c1216b"
}
},
{
"name": "svtr.block_1",
"kind": "svtr_stage",
"source_prefixes": [
"MultiHead/SequenceEncoder"
],
"op_count": 28,
"op_inventory": {
"1.add": 6,
"1.dropout": 4,
"1.layer_norm": 2,
"1.matmul": 6,
"1.reshape": 2,
"1.slice": 3,
"1.softmax": 1,
"1.swish": 1,
"1.transpose": 3
},
"parameter_keys": [
"layer_norm_2.b_0",
"layer_norm_2.w_0",
"layer_norm_3.b_0",
"layer_norm_3.w_0",
"linear_4.b_0",
"linear_4.w_0",
"linear_5.b_0",
"linear_5.w_0",
"linear_6.b_0",
"linear_6.w_0",
"linear_7.b_0",
"linear_7.w_0"
],
"output": {
"source_op_index": 4068,
"paddle_block_op_index": 613,
"op_type": "1.add",
"value_id": 645,
"shape": [
-1,
-1,
120
],
"struct_name": "/MultiHead/SequenceEncoder/EncoderWithSVTR/Block_1/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "svtr_block_1",
"path": "fixtures/paddleocr_v5/intermediate/korean_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/korean_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "svtr_block_1",
"paddle_block_op_index": 613
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
40,
120
],
"materialized_sha256": "00d4b394ab2e69cdd13d054459648bc986c57970d235f3ed677a3b0a3a8e4ad2"
}
},
{
"name": "sequence_encoder.im2seq",
"kind": "sequence_encoder",
"source_prefixes": [
"MultiHead/SequenceEncoder"
],
"op_count": 2,
"op_inventory": {
"1.squeeze": 1,
"1.transpose": 1
},
"parameter_keys": [],
"output": {
"source_op_index": 4349,
"paddle_block_op_index": 636,
"op_type": "1.transpose",
"value_id": 685,
"shape": [
-1,
-1,
120
],
"struct_name": "/MultiHead/SequenceEncoder/Im2Seq/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "sequence_encoder_im2seq",
"path": "fixtures/paddleocr_v5/intermediate/korean_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/korean_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "sequence_encoder_im2seq",
"paddle_block_op_index": 636
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
40,
120
],
"materialized_sha256": "fdbf6cc6b1b6b604a9f36c1e557a1d97496a5425b00b72949d41039c47ed572c"
}
},
{
"name": "ctc_head",
"kind": "ctc_head",
"source_prefixes": [
"MultiHead/CTCHead"
],
"op_count": 2,
"op_inventory": {
"1.add": 1,
"1.matmul": 1
},
"parameter_keys": [
"linear_8.b_0",
"linear_8.w_0"
],
"output": {
"source_op_index": 4367,
"paddle_block_op_index": 638,
"op_type": "1.add",
"value_id": 687,
"shape": [
-1,
-1,
11947
],
"struct_name": "/MultiHead/CTCHead/Linear/"
},
"intermediate_fixture": {
"status": "materialized",
"tensor_name": "ctc_head",
"path": "fixtures/paddleocr_v5/intermediate/korean_PP-OCRv5_mobile_rec.safetensors",
"metadata": "fixtures/paddleocr_v5/intermediate/korean_PP-OCRv5_mobile_rec_metadata.json",
"fetch_op": {
"name": "ctc_head",
"paddle_block_op_index": 638
},
"tolerance": {
"atol": 1e-05,
"rtol": 0.0001
},
"materialized_shape": [
1,
40,
11947
],
"materialized_sha256": "88bc3c36012f6568bf6225b8876b0f8330171bd1735064ed3e37472eccfa9a19"
}
}
],
"parameter_assignment": {
"source_parameter_count": 234,
"assigned_parameter_count": 234,
"unassigned_parameter_count": 0
}
}
]
}