{
  "schema_version": 2,
  "status": "released",
  "released_at": "2026-10-13T09:28:20.900608+00:00",
  "model": {
    "source": "resnet",
    "provider": "timm",
    "family": "resnet",
    "task": "cls",
    "size": "152-224",
    "parameter_count": 60192808,
    "gflops": 23.027253248,
    "gflops_method": "FP32 simplified ONNX static batch=1 224x224; Conv and Gemm multiply-accumulate counted as 2 FLOPs; excludes activation, pooling, additions and preprocessing"
  },
  "license": {
    "name": "Apache-2.0",
    "url": "https://huggingface.co/timm/resnet152.a1_in1k/blob/5529f135ee86e1bff01db5688add74a2c27ee16a/README.md",
    "reviewed_by": "JasperXzy"
  },
  "sample_path": "samples/vision/resnet",
  "target": {
    "platform": "s100p",
    "march": "nash-m",
    "format": "hbm"
  },
  "input": {
    "width": 224,
    "height": 224,
    "source": {
      "format": "rgb",
      "dtype": "float32",
      "layout": "NCHW",
      "shape": [
        1,
        3,
        224,
        224
      ],
      "scale": 0.00392156862745098,
      "mean": [
        0.485,
        0.456,
        0.406
      ],
      "std": [
        0.229,
        0.224,
        0.225
      ],
      "geometry": "PIL bicubic shorter=235, center crop=224"
    }
  },
  "artifact": {
    "name": "resnet152_nashm_224x224_nv12.hbm",
    "format": "hbm",
    "march": "nash-m",
    "runtime_input": "nv12",
    "input_space_and_range": "bt601_video",
    "url": "https://rdk-model-zoo.oss-cn-beijing.aliyuncs.com/models/resnet/resnet/cls/152-224/s100p/resnet152_nashm_224x224_nv12.hbm",
    "release_manifest_url": "https://archive.d-robotics.cc/downloads/rdk_model_zoo_web/assets/rdk_s100p/resnet/resnet152_nashm_224x224_nv12/release.json",
    "checksums_url": "https://archive.d-robotics.cc/downloads/rdk_model_zoo_web/assets/rdk_s100p/resnet/resnet152_nashm_224x224_nv12/SHA256SUMS",
    "size_bytes": 62127704,
    "sha256": "892b1c9849ceb10cb555c1abf8a1b0a8abfec715c09962b74b9f1feb5c80ee34"
  },
  "reports": {
    "oe_conversion_url": "https://archive.d-robotics.cc/downloads/rdk_model_zoo_web/assets/rdk_s100p/resnet/resnet152_nashm_224x224_nv12/oe_report.html",
    "oe_data_url": "https://archive.d-robotics.cc/downloads/rdk_model_zoo_web/assets/rdk_s100p/resnet/resnet152_nashm_224x224_nv12/oe_report_data.json"
  },
  "accuracy": {
    "dataset": "ImageNetV2 MatchedFrequency (not ILSVRC2012 val)",
    "task": "classification",
    "images": 10000,
    "metrics": [
      "top1",
      "top5"
    ],
    "float_onnx": {
      "top1": 0.7087,
      "top5": 0.8816
    },
    "runtime": {
      "top1": 0.6927,
      "top5": 0.8774
    },
    "drop": {
      "top1": {
        "percentage_points": 1.6000000000000014,
        "relative_percent": 2.2576548610131253
      },
      "top5": {
        "percentage_points": 0.42000000000000925,
        "relative_percent": 0.47640653357532425
      }
    },
    "acceptance": {
      "rule": "Top-1 and Top-5 loss vs FP32 ONNX under 5% (relative and absolute)",
      "relative_drop_limit_exclusive": 0.05,
      "absolute_drop_limit_exclusive": 0.05,
      "passed": true,
      "source": "owner acceptance amendment, 2026-10-10 (applied to this release in acceptance.json)"
    }
  },
  "performance": {
    "tool": "hrt_model_exec perf",
    "implementation": "native_cpp_cli",
    "timing_scope": "model_runtime",
    "thread_semantics": "runtime_submission_concurrency",
    "core_id": 0,
    "warmup_frames_per_condition": 20,
    "warmup_scope": "separate-process device warmup",
    "runs_per_condition": 3,
    "frames_per_run": 200,
    "stages": {
      "preprocess": "not_measured",
      "runtime": "measured",
      "postprocess": "not_measured",
      "end_to_end": "not_measured"
    },
    "measurements": [
      {
        "threads": 1,
        "average_latency_ms": 1.8423283333333333,
        "observed_min_latency_ms": 1.81,
        "observed_max_latency_ms": 2.196,
        "aggregate_fps": 537.8209110148413,
        "runs": [
          {
            "frames": 200,
            "mean": 1.842205,
            "max": 2.136,
            "min": 1.811,
            "wall_ms": 371.929
          },
          {
            "frames": 200,
            "mean": 1.844785,
            "max": 2.131,
            "min": 1.818,
            "wall_ms": 372.164
          },
          {
            "frames": 200,
            "mean": 1.839995,
            "max": 2.196,
            "min": 1.81,
            "wall_ms": 371.52
          }
        ]
      },
      {
        "threads": 2,
        "average_latency_ms": 3.2080616666666666,
        "observed_min_latency_ms": 2.019,
        "observed_max_latency_ms": 3.534,
        "aggregate_fps": 617.6614103680645,
        "runs": [
          {
            "frames": 200,
            "mean": 3.206955,
            "max": 3.515,
            "min": 2.019,
            "wall_ms": 323.81
          },
          {
            "frames": 200,
            "mean": 3.209105,
            "max": 3.534,
            "min": 2.044,
            "wall_ms": 323.771
          },
          {
            "frames": 200,
            "mean": 3.208125,
            "max": 3.51,
            "min": 2.034,
            "wall_ms": 323.825
          }
        ]
      }
    ],
    "end_to_end": [
      {
        "tool": "classification_benchmark",
        "implementation": "native_cpp_classification_benchmark",
        "timing_scope": "in_memory_bgr_to_topk_predictions",
        "pipeline_streams": 1,
        "runtime_submission_threads": 1,
        "cpu_thread_policy": "all_online",
        "online_cpu_threads": 6,
        "opencv_threads": 6,
        "cpu_governor": "performance",
        "cpu_frequency_mhz": 2000.0,
        "bpu_frequency_mhz": 1500.0,
        "warmup_frames_per_round": 20,
        "frames_per_round": 200,
        "frames_semantics": "per stream",
        "rounds": 3,
        "timed_frames": 600,
        "aggregate_wall_ms": 2108.666553,
        "metrics_ms": {
          "preprocess": {
            "mean": 1.4968947533333334,
            "p50": 1.4861065,
            "p95": 1.7446003,
            "min": 1.337299,
            "max": 3.787198
          },
          "runtime": {
            "mean": 2.0087918283333335,
            "p50": 1.980197,
            "p95": 2.27670785,
            "min": 1.951499,
            "max": 2.563524
          },
          "postprocess": {
            "mean": 0.005797309999999999,
            "p50": 0.00555,
            "p95": 0.0076,
            "min": 0.00455,
            "max": 0.020625
          },
          "end_to_end": {
            "mean": 3.511483891666667,
            "p50": 3.4865235,
            "p95": 3.804135199999999,
            "min": 3.311874,
            "max": 5.804897
          }
        },
        "throughput_fps": 284.54000901488195
      },
      {
        "tool": "classification_benchmark",
        "implementation": "native_cpp_classification_benchmark",
        "timing_scope": "in_memory_bgr_to_topk_predictions",
        "pipeline_streams": 2,
        "runtime_submission_threads": 2,
        "cpu_thread_policy": "all_online",
        "online_cpu_threads": 6,
        "opencv_threads": 6,
        "cpu_governor": "performance",
        "cpu_frequency_mhz": 2000.0,
        "bpu_frequency_mhz": 1500.0,
        "warmup_frames_per_round": 20,
        "frames_per_round": 200,
        "frames_semantics": "per stream",
        "rounds": 3,
        "timed_frames": 1200,
        "aggregate_wall_ms": 2202.666789,
        "metrics_ms": {
          "preprocess": {
            "mean": 1.5821115633333336,
            "p50": 1.5761875,
            "p95": 1.78222945,
            "min": 1.366615,
            "max": 6.455075
          },
          "runtime": {
            "mean": 2.0655838816666665,
            "p50": 2.045859,
            "p95": 2.2225992499999996,
            "min": 1.96281,
            "max": 2.616455
          },
          "postprocess": {
            "mean": 0.0065282633333333335,
            "p50": 0.006025,
            "p95": 0.009802499999999997,
            "min": 0.00465,
            "max": 0.019825
          },
          "end_to_end": {
            "mean": 3.6542237083333333,
            "p50": 3.610622,
            "p95": 3.8769125,
            "min": 3.347499,
            "max": 9.027605
          }
        },
        "throughput_fps": 544.7941586048039
      }
    ]
  },
  "runtime_environment": {
    "board": "RDK S100P",
    "runtime": [
      "[UCP]: UCP version = 3.13.6",
      "[BPU][[BPU_MONITOR]][281473733391648][INFO]BPULib verison(2, 2, 15)[f21ee84]!",
      "[DNN]: 3.13.6_(4.7.5 HBRT)"
    ],
    "cpu_governor": "performance",
    "cpu_frequency_mhz": 2000.0,
    "bpu_frequency_mhz": 1500.0,
    "online_cpu_threads": 6,
    "cpu_thread_policy": "all_online",
    "governor_restored": true
  },
  "validation": {
    "board_smoke": "passed",
    "cpp_functional": "passed",
    "runtime_perf": "passed",
    "cpp_e2e": "passed",
    "input_contract_review": "passed",
    "environment_review": "passed",
    "license_review": "passed",
    "full_dataset_review": "passed",
    "release_approval": "passed",
    "approved_by": "JasperXzy",
    "approved_at": "2026-10-13T09:28:20.351338+00:00",
    "approval_items": [
      "accuracy basis: ImageNetV2 MatchedFrequency 10,000 images (not ImageNet-1k val); Top-1/Top-5 loss < 5% relative and absolute vs FP32; all twenty builds pass (Top-1 relative loss 0.7-2.8%, Top-5 0.4-1.5%)",
      "scope: ResNet-18/34/50/101/152 (timm a1_in1k) at 224 on x5/s100/s100p/s600; the legacy archive ResNet assets leave the manifests (S resnet18/resnet50/resnet152 entries merge into one resnet entry) and the X5 resnet18-x5 and S resnet152-s100 benchmark records are replaced by measured records",
      "precision: INT8 for every build (default calibration), no exceptions",
      "license: Apache-2.0 (timm a1_in1k checkpoint model cards)",
      "board and performance evidence: Python sample on X5/S100/S100P/S600 (40/40 runs), C++ sample on S100/S100P/S600 (30/30 runs) plus MobileNetV2 C++ regression after the tooling rename, runtime 1/2 concurrency and C++ end-to-end 1/2 streams on all four boards, C++ logits bit-equal to Python"
    ],
    "evidence": {
      "board_smoke": [
        {
          "path": "resnet-20261013/build/boards/s100p-resnet152-model-info.json",
          "sha256": "a0892e90d68d0a22f3fc7208b6d19712182f7d1852d8d433dd30dda9d60f8ef5"
        },
        {
          "path": "resnet-20261013/build/sample-validation.json",
          "sha256": "5d96f993c4885463d06b030d39c6fc2476e8a1114d7b41a73f1c4d19541d43d5"
        },
        {
          "path": "resnet-20261013/build/sample-validation.source.json",
          "sha256": "a2ba66a6c434bd377b59fcbe835ff10cd7f59d676f031b3052f0c8bd75e6c085"
        },
        {
          "path": "resnet-20261013/build/cpp-sample-validation.json",
          "sha256": "84b21781f756888da828d4eedc0f4e41f9a3e855b480c9ebfe47204294aabe28"
        }
      ],
      "cpp_functional": [
        {
          "path": "resnet-20261013/build/boards/s100p-cpp-build.json",
          "sha256": "ab1e365b3fdd4a5d08d021f169aac0e3efe08e74cb5064d59c5cd1ef9cbec46e"
        },
        {
          "path": "resnet-20261013/build/boards/s100p-resnet152-cpp-smoke.json",
          "sha256": "246633ee52c47ace7fa3b593a28947164dcf7b79c00301b61d4ced58870327be"
        }
      ],
      "runtime_perf": [
        {
          "path": "resnet-20261013/build/boards/s100p-resnet152-benchmark.json",
          "sha256": "c04af533fc8b0b483b023939ea818889a069a08bd46a5f0a0340fb030a40d4fa"
        },
        {
          "path": "resnet-20261013/build/resnet152/s100p/benchmark-attempt-01/execution.json",
          "sha256": "6c275a43747f3fb03dababee3048810a455f2ff1f4658ee48de3baa483968aff"
        }
      ],
      "cpp_e2e": [
        {
          "path": "resnet-20261013/build/boards/s100p-resnet152-benchmark.json",
          "sha256": "c04af533fc8b0b483b023939ea818889a069a08bd46a5f0a0340fb030a40d4fa"
        },
        {
          "path": "resnet-20261013/build/resnet152/s100p/benchmark-attempt-01/execution.json",
          "sha256": "6c275a43747f3fb03dababee3048810a455f2ff1f4658ee48de3baa483968aff"
        }
      ],
      "input_contract_review": [
        {
          "path": "resnet-20261013/build/resnet152/export/export.json",
          "sha256": "b0c4b40437af1eb1b1c2b65ca1cea434342bfae7e8c5084d5ef038ddff4e421c"
        },
        {
          "path": "resnet-20261013/build/resnet152/s100p/attempt-01/config.yaml",
          "sha256": "0daeac52a2866dad6b0d088c14aa6629ab9a621a53f4bacea3d4029e7eab4f6a"
        },
        {
          "path": "resnet-20261013/build/resnet152/s100p/calibration/calibration.json",
          "sha256": "4bd0b910ffcdffce1fff5e849b3690728fa055588d594687ed32c1e0c9d361d5"
        }
      ],
      "environment_review": [
        {
          "path": "resnet-20261013/build/resnet152/s100p/benchmark-attempt-01/execution.json",
          "sha256": "6c275a43747f3fb03dababee3048810a455f2ff1f4658ee48de3baa483968aff"
        }
      ],
      "license_review": [],
      "full_dataset_review": [
        {
          "path": "resnet-20261013/build/resnet152/s100p/accuracy-attempt-01/evaluation.json",
          "sha256": "55dbe3c308a2c11eb765150d6b571f9b1d3016b386487906ae8d69e65e16d6dd"
        },
        {
          "path": "resnet-20261013/build/resnet152/evaluation/evaluation.json",
          "sha256": "740038f42e670064902af99e84e73e0275a4c8b7d9e96b0345206d0a63a21dc5"
        }
      ]
    }
  },
  "provenance": {
    "build_id": "resnet152-20261013-s100p-attempt-01",
    "repository_commit": "ae66224ce61790af5d66087d7a86e123338263e3",
    "build_snapshot_commit": "864ce8f399c8b79e20992703c44f58be7fd89283",
    "source_status": "clean committed tree (inputs/source-864ce8f3.tar.gz)",
    "precision_policy": "int8",
    "config_change": {
      "baseline": "p2 s100/attempt-03-bt601/config.yaml",
      "change": "onnx_model, march, working_dir, output prefix, cal_data_dir, input_parameters from workflow config",
      "workflow_config_receipt": "/home/zhengyi/work/rdk_model_zoo_workbench/runs/p5/resnet-20261013/build/resnet152/s100p/config/config.json"
    },
    "toolchain_image": "registry.d-robotics.cc/deliver/ai_toolchain_ubuntu_22_s100_s600_gpu:v3.7.0",
    "checkpoint": {
      "repo_id": "timm/resnet152.a1_in1k",
      "revision": "5529f135ee86e1bff01db5688add74a2c27ee16a",
      "model_safetensors_sha256": "5a3518da3d35ee04e77a5e69289cff55c3a07a732d7287f6cab20bd4d330eda9",
      "url": "https://huggingface.co/timm/resnet152.a1_in1k/resolve/5529f135ee86e1bff01db5688add74a2c27ee16a/model.safetensors"
    },
    "onnx_sha256": "ad8fe8169b6c7d210ea278da78cad3b233a9d493f465ef6c263da75eb9b6eb80",
    "config_sha256": "0daeac52a2866dad6b0d088c14aa6629ab9a621a53f4bacea3d4029e7eab4f6a",
    "campaign_sha256": "5f169592837e0420bec95b151a41c467115cd2ff46c2a0c8343380c9bb7a0de4",
    "calibration": {
      "dataset": "COCO 2017 train2017",
      "images": 200,
      "manifest_sha256": "1d50d53df79c85c9129db9b90570b0f67ef1347c5285a68f4397a4ce1a2c0921"
    },
    "evaluation": {
      "dataset": "ImageNetV2 MatchedFrequency",
      "images": 10000,
      "manifest_sha256": "9df523ab34abae87763b3c7c92662c2cddf78b4e5c66d852a724a925ba052cdc"
    },
    "evidence_prefix": "reports/resnet/resnet/cls/152-224/s100p/candidates/resnet152-20261013-s100p-attempt-01/",
    "asset_publication": {
      "layout": "archive-assets-v1",
      "source_manifest_sha256": "293eb9b453a595b67e173ff8b5e7113b9dd7c538f21b3d08ec1bef999b58cd88",
      "source_manifest_url": "https://rdk-model-zoo.oss-cn-beijing.aliyuncs.com/models/resnet/resnet/cls/152-224/s100p/release.json",
      "source_checksums_sha256": "f0985a76ec3685ae9f9ab41ad016e6d5c91f6473642319279dd49ebe0106cd42"
    }
  }
}
