{ "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 } } ] }