changh95's picture
tt-model push meteor-p150 (container)
51defdc verified
Raw History Blame Contribute Delete
2.01 kB
# SPDX-License-Identifier: Apache-2.0
"""CPU fp32 reference of METEOR (TIER IV, AutowareFoundation/meteor v1.0, ``meteor_v157c3Z.onnx``): the ground truth
every PCC / output-agreement gate compares against (PLAN.md 0.3 item 1; research/meteor/SPEC.md section 6).
Layout (importable without ttnn; torch / onnx are imported inside the functions that need them):
- ``config.py`` the compile-time constants of the deployed graph (cameras, sizes, bins, crops, class lists) and
the load-time options (``input_norm``, ``depth_mean_bins``), each with its source.
- ``weights.py`` ``MeteorWeights``: the ONNX parsed as data with the vendored ``ttaw.weights`` (parameters
addressed by their consuming node; conv attributes from the graph; BN already folded by the
export), plus a graph check that the file is the deployed network.
- ``model.py`` ``MeteorNet``: the whole graph in torch fp32 (a node-by-node transliteration) with per-module taps.
- ``port_form.py`` the TT port's exact rewrites (input scale fold, merged heads, paint fold, tgate + tfuse merge,
traj_stem without the zero history channels, the lift from host tables) with CPU proofs.
- ``pipeline.py`` ``MeteorReference``: the end-to-end frame (network + the shared host pre / post-processing),
stateless ``run_frame`` and the API-equivalent ``__call__``.
- ``ort.py`` the ONNX Runtime oracle with any internal tensor as a named tap (research and tests only;
onnxruntime is NOT a runtime dependency of the image).
There is no Autoware package for METEOR: the pre- and post-processing reproduced in ``tt_meteor.host`` are METEOR's own
runtimes (tier4/METEOR @ dc193a81e9959de57b751e269127ae9b67e3f300, ``deploy/cpp``).
The ``to_dict()`` of this reference's output on the shipped sample is stored as
``samples/<sample stem>.reference.json``: ``server/smoke_test.py`` compares the served output with it.
"""