changh95's picture
tt-model push meteor-p150 (container)
51defdc verified
|
Raw History Blame Contribute Delete
3.82 kB

Sample inputs shipped with meteor-p150

Only REDISTRIBUTABLE data goes here (Apache-2.0 / MIT / CC-BY with attribution). Data whose license is unstated or non-commercial (the Autoware demo rosbag, nuScenes, Argoverse 2, ...) is NOT shipped: code/scripts/fetch_samples.sh downloads it (sha256-checked) for the tests and benchmarks.

Never use the .bin suffix here (or .pt, .pth, .ckpt, .safetensors): tt-model's staging silently drops those suffixes from code/ (CODE_IGNORE, tt-model-manager src/tt_kernel/build.py:328-332). Store point clouds as .npy / .npz / .pcd.

Next to each sample, <stem>.reference.json is the /predict body of the fp32 CPU reference (tt_meteor.reference, Output.to_dict()) on it; server/smoke_test.py compares the served output with it (the smoke gate for synthetic samples, which may give no detections). When the output depends on the serve profile or the model variant, store one per profile or variant as <stem>.<profile>.reference.json / <stem>.<variant>.reference.json. Regenerate it whenever the reference, the weights or the post-processing changes.

file content source license
synthetic_8cam.json the request manifest: the eight camera PNGs (all present), calibration preset synthetic_8cam, ego_speed 8.0 m/s, stream id + ego pose; tt_meteor.load_sample(path) -> model(**kwargs); server/client.py --sample / server/smoke_test.py build the /predict body from it generated by code/scripts/make_synthetic_sample.py Apache-2.0 (data generated by this repository)
synthetic_8cam/<CAM>.png eight 768x432 RGB images (lossless PNG, 1.4 MB in total): a ray-cast street (a straight two-lane road with lane lines, a stop line and a zebra crossing, kerbs, pavements, facades, box-shaped vehicles and pedestrians) seen by a generic METEOR-like rig; the pixels of the objects (only those) were then optimised against the fp32 CPU reference (gradient ascent through the image encoder, the lift, the BEV detector and the box refiner, 88 steps) until the 3D heads report six vehicles and two pedestrians with large margins (scores 0.889-0.993 against the thresholds 0.35 / 0.15) and nothing else (strongest other heatmap cell 0.179 vehicle / 0.072 VRU), so bf16 numerics cannot flip a published box. A test pattern, not a photograph: the objects carry noisy texture as above Apache-2.0
synthetic_8cam.reference.json the /predict body of the fp32 CPU reference (tt_meteor.reference.pipeline.MeteorReference, PCC 1.0 vs ONNX Runtime) on the request above as a fresh stream (timing_ms emptied): 8 boxes (6 VEHICLE, 2 VRU), 10 2D boxes, plan mode 0 (the car ahead and a red light: the selected path brakes), traffic light red; server/smoke_test.py (the container smoke, --expect VEHICLE:6,VRU:2 by default) and tests/test_e2e_device.py compare the served body with it code/scripts/make_synthetic_sample.py finalise Apache-2.0

The calibration preset ../calib/synthetic_8cam.json is the same generated rig (round numbers of our own: METEOR's slot layout, 98 deg wide cameras front and back, corner cameras pitched 25 deg down, 30.4 deg narrow cameras, fy = 0.87 fx like METEOR's vertically squashed training images, 1.9 m above the road).

A real-world sample (PandaSet 019 frame 40, CC BY 4.0 + PandaSet Dataset Terms, METEOR's 8-slot layout) is prepared but not shipped until the redistribution of PandaSet-derived samples is approved; the device tests read it from the git-ignored staging_samples_pandaset/ of the development checkout (tests/paths.py). METEOR's own demo scenes (AutowareFoundation/meteor-demo-scenes, research / demonstration use only) and nuScenes (CC BY-NC-SA 4.0) are never shipped: code/scripts/fetch_samples.sh notes where to fetch them.