Download tt_kernel_manifest.json from changh95/meteor-p150: direct link, hf CLI and curl.
- Browser
- Download file 12.4 kB
-
https://huggingface.co/changh95/meteor-p150/resolve/51defdc5e77accf7915fe8badd29688c7cb7abe5/tt_kernel_manifest.json
- Command line
-
hf download hf://changh95/meteor-p150@51defdc5e77accf7915fe8badd29688c7cb7abe5/tt_kernel_manifest.json
-
curl -L -o tt_kernel_manifest.json https://huggingface.co/changh95/meteor-p150/resolve/51defdc5e77accf7915fe8badd29688c7cb7abe5/tt_kernel_manifest.json
12.4 kB
| { | |
| "schema_version": "5.1", | |
| "name": "meteor-p150", | |
| "tt_metal_version": "0.65.2.dev11169+g44d66500520", | |
| "arch": "blackhole", | |
| "device_count": 1, | |
| "producer": { | |
| "tt_kernel_version": "0.1.0", | |
| "created_at": "2026-10-10T17:14:28.653511+00:00", | |
| "hostname": "hchang-bh" | |
| }, | |
| "weights": { | |
| "repo_id": "AutowareFoundation/meteor", | |
| "revision": "01a5f6d71df5ecbbb5853ec600825481d57b9c6b", | |
| "allow_patterns": [ | |
| "meteor_v157c3Z.onnx", | |
| "meteor_v157.param.yaml", | |
| "LICENSE", | |
| "SHA256SUMS" | |
| ], | |
| "ignore_patterns": null, | |
| "repo_type": "model" | |
| }, | |
| "mesh": null, | |
| "entrypoint": null, | |
| "resources": null, | |
| "capabilities": null, | |
| "env": {}, | |
| "bundled": null, | |
| "deps": null, | |
| "container": { | |
| "image": { | |
| "registry": "hf", | |
| "repository": "meteor-p150", | |
| "tag": "tt-model/meteor-p150:823dc1fbd4c7", | |
| "digest": "sha256:823dc1fbd4c7ec836a6e74486495d2801a71d6fa4e18d41011fa873749962afc" | |
| }, | |
| "kind": "tt-dit-server", | |
| "runtime": { | |
| "app": "tt_meteor.server.app:app", | |
| "mesh_shape_env": "TT_MESH_SHAPE", | |
| "packages": [ | |
| "numpy>=1.24.4,<2", | |
| "huggingface_hub", | |
| "safetensors", | |
| "pyyaml", | |
| "onnx>=1.17,<2", | |
| "opencv-python-headless>=4.8,<4.12" | |
| ], | |
| "lock": "requirements.lock" | |
| }, | |
| "serve": { | |
| "hardware": "p150", | |
| "mesh_device": "P150", | |
| "port": 20000, | |
| "max_model_len": null, | |
| "max_num_seqs": null, | |
| "block_size": null, | |
| "server_timeout": null, | |
| "capabilities": null, | |
| "additional_config": {}, | |
| "args": [], | |
| "env": { | |
| "TT_WEIGHTS_REVISION": "01a5f6d71df5ecbbb5853ec600825481d57b9c6b", | |
| "TT_METAL_VISIBLE_DEVICES": "0", | |
| "HF_HUB_DISABLE_IMPLICIT_TOKEN": "1", | |
| "METEOR_DISPATCH": "eth", | |
| "METEOR_NUM_CQS": "1", | |
| "METEOR_VARIANT": "default" | |
| } | |
| }, | |
| "serve_profiles": [ | |
| { | |
| "hardware": null, | |
| "mesh_device": null, | |
| "port": null, | |
| "max_model_len": null, | |
| "max_num_seqs": null, | |
| "block_size": null, | |
| "server_timeout": null, | |
| "capabilities": null, | |
| "additional_config": {}, | |
| "args": [], | |
| "env": {}, | |
| "name": "default", | |
| "description": null | |
| } | |
| ], | |
| "default_profile": null, | |
| "code_dir": "code", | |
| "verify": [ | |
| "assert 'single_chip_arch_1cq_no_dispatch_s' in open('/opt/tt-metal/tt_metal/impl/dispatch/topology.cpp').read()", | |
| "from tt_meteor.ttaw.device import eth_dispatch_patch_present as p; assert p(), 'ttaw does not see the ETH patch'", | |
| "assert 'dual_kernel_min_dram_dest_page_bytes' in open('/opt/tt-metal/ttnn/cpp/ttnn/operations/data_movement/reshape_view/device/reshape_rm_program_factory.cpp').read()", | |
| "import tt_meteor.server.app as a; assert a.app", | |
| "from tt_meteor.server.app import parse_mesh_shape as p; assert p('1x1') == p('(1, 1)') == p('1,1') == (1, 1)", | |
| "import numpy; assert int(numpy.__version__.split('.')[0]) < 2, numpy.__version__", | |
| "import onnx, yaml, huggingface_hub, safetensors, PIL, cv2", | |
| "from tt_meteor.api import METEOR; assert METEOR.DEFAULT_REVISION == '01a5f6d71df5ecbbb5853ec600825481d57b9c6b'", | |
| "import ttnn; assert hasattr(ttnn, 'DispatchCoreConfig') and hasattr(ttnn, 'begin_trace_capture') and hasattr(ttnn, 'execute_trace') and hasattr(ttnn, 'release_trace')", | |
| "from pathlib import Path; assert Path('/opt/tt-metal/tt_meteor/samples/synthetic_8cam.json').is_file() and Path('/opt/tt-metal/tt_meteor/calib/synthetic_8cam.json').is_file()" | |
| ], | |
| "built": { | |
| "image": "tt-model/meteor-p150:823dc1fbd4c7", | |
| "repo": "changh95/meteor-p150", | |
| "tt_model_version": "0.1.0", | |
| "created_at": "2026-10-10T17:04:30+00:00", | |
| "tt_metal": { | |
| "sha": "44d66500520fda9f2c7060c0f6b41ec48f7ab37e", | |
| "describe": "v0.80.0-dev20261006-78-g44d6650052-dirty", | |
| "dirty": true, | |
| "scm_version": "0.65.2.dev11169+g44d66500520", | |
| "mode": "local", | |
| "remote": "https://github.com/tenstorrent/tt-metal.git", | |
| "branch": "main", | |
| "pushed": true | |
| }, | |
| "code_sha256": "40de720599c6b5b9be0687f81b391539cf3e57dfb5614eab5a7bc721791748fc", | |
| "image_digest": "sha256:823dc1fbd4c7ec836a6e74486495d2801a71d6fa4e18d41011fa873749962afc" | |
| }, | |
| "card": { | |
| "description": "METEOR (TIER IV; AutowareFoundation/meteor v1.0, meteor_v157c3Z.onnx), the surround-view multi-task driving network released by the Autoware Foundation, running on one Tenstorrent Blackhole p150 via tt-nn as one metal trace per frame: eight surround-view camera images (768x432 RGB, raw and unrectified) with intrinsics, camera extrinsics and the ego speed in; a BEV lane map, 3D boxes (vehicle / VRU) with stationary flags and agent futures, per-camera 2D boxes, 2D segmentation and depth, 3D occupancy, the ego-relevant traffic light, a risk field and three ego paths with steer / accel / brake out. There is no Autoware package for METEOR: pre- and post-processing follow METEOR's own runtimes (tier4/METEOR deploy/cpp).\n", | |
| "quickstart": "The first start compiles the kernels and captures the trace (minutes on a cold cache, about 45-50 s later); the\nserver is ready when its log shows `Application startup complete`. Build a request from the shipped sample with\n`python3 code/tt_meteor/server/client.py --sample code/tt_meteor/samples/synthetic_8cam.json --out req.json`\n(your own frame: `--image NAME=PATH` x 8, `--calib rig.json`, `--ego-speed <m/s>`), then\n`curl -s localhost:20000/predict -H 'Content-Type: application/json' -d @req.json`.\n", | |
| "architecture": "DepthSegIPMNetV52 (v157): ResNet-34 + FPN image encoder (8 cameras as batch), image heads (21-class seg2d, 64-bin depth, 10-class det2d at strides 4/8/16, traffic light), PointPainting context, a depth-gated IPM lift to one 96-channel 800x500 BEV at 0.2 m, BEV heads (lane decoder, 3D centre-heatmap detector, occupancy, agent forecasting, stationary, risk), an ego planner (MLP + 2 attention pools + risk-aware logits + decoupled decoder) and 3 residual refiners; one static ONNX graph (opset 17, 2,021 nodes, 48.25 M parameters, 2.58 TFLOP per 8-camera frame)", | |
| "status": "Community port (first release; optimization pending), validated against the fp32 CPU reference on public sample data", | |
| "intended_use": "Camera-only multi-task perception and end-to-end planning research for eight-camera rigs laid out like TIER IV's DRS, on one Blackhole p150: a drop-in for METEOR's TensorRT runtimes on the released meteor_v157c3Z.onnx.\n", | |
| "out_of_scope_use": "Safety-critical driving decisions (METEOR is a research model; this is not a certified Autoware component and there is no Autoware node); multi-chip meshes; batch > 1; rigs far from the training rig without re-validation (other cameras run, since K and T are inputs, but lose accuracy); rectified-only camera pipelines (METEOR was trained on raw, unrectified frames).\n", | |
| "usage": "`POST /predict` (JSON): `images` (all eight cameras CAM_FRONT_WIDE, CAM_FRONT_LEFT, CAM_FRONT_RIGHT, CAM_BACK_WIDE,\nCAM_BACK_LEFT, CAM_BACK_RIGHT, CAM_FRONT_NARROW, CAM_BACK_NARROW as base64 JPEG / PNG / .npy; an absent narrow camera\nas an all-zero image), `calibration` (per camera intrinsics and T_ref_from_camera, or `{\"preset\": name}`),\n`ego_speed` (m/s, required); optional `stream` (id, reset, T_world_from_ego: METEOR's host temporal state),\n`params` (host post-processing thresholds), `output_format`. Response: 3D BEV boxes with stationary flags and\nfutures, the selected ego path and the plan (3 modes, steer / accel / brake), 2D boxes per camera, unknown\nobstacles, the traffic light, the BEV lane map (PNG), `timing_ms`. `GET /health`, `GET /info`, `GET /v1/models`\n(stub). Full request / response contract: `SERVING.md` section 3.\n", | |
| "performance": "One p150, ETH dispatch, 1 CQ, 12x10 grid, AICLK 1350 MHz, warm, batch 1, eight cameras (2026-10-10).\n\n| Metric | Performance |\n|---|---:|\n| Device, one frame (one metal trace, 4,678 programs) | 556.85 ms; back to back 556.75 ms (1.80 frames/s) |\n| Python `model()` p50, PandaSet 019 frame / shipped sample | 918.2 / 871.6 ms (upload 66.5, readback + conversion 82, host decode 124-131) |\n| Served `/predict` `timing_ms.total`, shipped sample | 904-909 ms; client round trip 0.92-0.93 s |\n| Stage PCC vs the fp32 CPU reference (26 teacher-forced gates) | >= 0.999989; lane / seg2d / depth argmax agreement 0.9984 / 0.9965 / 0.9936 |\n| 38 public frames (PandaSet 019 / 090, nuScenes scene-0103) vs the CPU reference | argmax agreement >= 0.9925; same plan mode and traffic light on all; path within 0.11 m; 3D boxes precision 1.0, recall 0.976 (misses at the class threshold) |\n| 3D boxes, gated frames (strict recall / precision) | 1.0 / 1.0 on PandaSet and nuScenes; 0.971 / 0.971 on an in-domain METEOR frame (gate 0.95) |\n| Shipped sample vs its stored CPU reference | 8 / 8 boxes, max score difference 0.0020, lane agreement 0.9987, path ADE 0.018 m |\n| ETH-dispatch stress (rig change every frame, bit-compared reads) | 2,000 + 200 frames clean |\n\nNo GPU comparison (no GPU on the build host); upstream reports 67.4 ms on a Jetson AGX Orin (INT8, 2:4 sparse,\nnot like-for-like). First release: optimization pending (OPT_REPORT.md).\n", | |
| "limitations": "- No Autoware package exists for METEOR; this is not a ROS node or a certified Autoware component.\n- First release: no optimization round yet (one frame replays in 556.8 ms; `model()` 0.88-0.92 s).\n- Needs tt-metal 44d66500520 with BOTH patches in `patches/` (ETH dispatch, and the SYS-1419 row-major reshape fix\n that ended an intermittent ETH-dispatch hang of this model); the image carries both.\n- bf16 / fp32 numerics on the chip (three-term fp32 image branch and 3D detection path, bf16 BEV trunk): outputs\n differ slightly from the fp32 reference; near-threshold boxes and plan modes can flip.\n- Released-graph behaviour kept for parity: the `/255` input normalisation (the trained ImageNet normalisation is\n the `input_norm=\"imagenet\"` option) and the log-spaced `depth_mean` bins (`depth_mean_bins=\"linear\"`).\n- Trained on TIER IV's eight-camera rig in Japan only: other rigs lose accuracy (depth head first).\n- Fixed shapes (eight 768x432 slots, 800x500 BEV), batch 1, requests serialised; one p150, no multi-chip mesh\n (ETH dispatch); a new calibration costs about 0.2 s once.\n- Validated by agreement with the fp32 CPU reference on public frames (PandaSet, nuScenes), an in-domain METEOR\n demo frame and the synthetic sample; no dataset-level metric (METEOR has no paper or public split).\n", | |
| "risks": "bf16 / fp32 on device: scores, boxes and plan logits differ slightly from the fp32 reference (see the agreement figures); near-threshold objects and plan modes can flip. Validated by agreement on public sample data only, not on a dataset. A research model: it must not control a vehicle.\n", | |
| "licensing": "- Weights: [AutowareFoundation/meteor](https://huggingface.co/AutowareFoundation/meteor) at tag `v1.0` (commit `01a5f6d71df5ecbbb5853ec600825481d57b9c6b`), Apache-2.0 per its model card; not redistributed here. Trained by TIER IV on its own Co-MLOps DRS recordings with auto-generated ground truth (no public training data); the AutowareFoundation/meteor-demo-scenes frames are for research and demonstration use only and are never redistributed here.\n- Pre-/post-processing ported from METEOR's own runtimes, tier4/METEOR `deploy/cpp` @ `dc193a81e9959de57b751e269127ae9b67e3f300` (Apache-2.0); there is no Autoware package.\n- Port and serving code (`code/`): Apache-2.0.\n- Sample data: `code/tt_meteor/samples/synthetic_8cam*` and `calib/synthetic_8cam.json`, generated by this repository, Apache-2.0. Demo media: PandaSet renders (CC BY 4.0 + PandaSet Dataset Terms, attribution in media/ATTRIBUTION.md) and nuScenes renders (CC BY-NC-SA 4.0, non-commercial, marked _NC).\n", | |
| "related": "Other Autoware models on Blackhole: the \"Autoware\" collection of https://huggingface.co/changh95\n", | |
| "license": { | |
| "id": "apache-2.0", | |
| "name": null, | |
| "link": null | |
| }, | |
| "pipeline_tag": "robotics", | |
| "base_model": [ | |
| "AutowareFoundation/meteor" | |
| ] | |
| } | |
| } | |
| } |