File size: 2,107 Bytes
4d9b003
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
be62f78
 
4d9b003
 
 
 
 
be62f78
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 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"]