changh95's picture
tt-model push diffusion-planner-p150 (container)
be62f78 verified
Raw History Blame Contribute Delete
2.11 kB
# SPDX-License-Identifier: Apache-2.0
"""Shared device sub-networks of the Autoware ports (PLAN.md section 1.2), built from host (numpy) weights with
BatchNorm already folded, on the C17 builders (``ttaw.ops.conv``: ``FeatureMap``, ``Conv2d``, ``KSplitConv``,
``ConvTranspose2d``); every op traceable, weights prepared by the first (eager) call.
================== ====== =========================================================================
module id what it provides
================== ====== =========================================================================
``second`` C24 SECOND backbone and SECONDFPN neck (CenterPoint, PointPainting, TransFusion,
BEVFusion); ``RowLinear`` (1x1 convs as ``ttnn.linear`` on NHWC rows)
``centerhead`` C25 CenterPoint dense head: K-split shared conv, merged sibling heads, one packed
fp32 output
``pillars`` C24 PillarFeatureNet of the pillar detectors (CenterPoint, PointPainting, TransFusion):
identity-folded split PFN on 32-slot pillar tiles, input packing, ``FrameStaging``
``resnet`` C27 ResNet bottleneck / basic-block builders from a parameter provider, cameras as
batch (BEVDet image backbone + CustomResNet; BEVFormer, METEOR)
``transfusion_head`` C26 TransFusion query head (TransFusion, BEVFusion, PTv3): C21 selection, query init
with QPE / KPE tables, one decoder layer on C20, merged prediction heads
``sparse_encoder`` C28 gather-GEMM sparse-conv encoder (BEVFusion, PTv3): one tile-ordered TILE + PADDED
gather + one matmul per layer on C13 rulebooks, residual blocks, two-term tables
================== ====== =========================================================================
Importing a module never imports ttnn / torch (rule of the package): device work happens in the layer calls.
"""
__all__ = ["second", "centerhead", "pillars", "resnet", "transfusion_head", "sparse_encoder"]