/tmp/chandorkar_10089710
Mon May  5 08:00:23 PM CEST 2025
copying data..
load env
Mon May  5 08:00:25 PM CEST 2025
starting run..
no change     /beegfs/chandorkar/miniforge3/condabin/conda
no change     /beegfs/chandorkar/miniforge3/bin/conda
no change     /beegfs/chandorkar/miniforge3/bin/conda-env
no change     /beegfs/chandorkar/miniforge3/bin/activate
no change     /beegfs/chandorkar/miniforge3/bin/deactivate
no change     /beegfs/chandorkar/miniforge3/etc/profile.d/conda.sh
no change     /beegfs/chandorkar/miniforge3/etc/fish/conf.d/conda.fish
no change     /beegfs/chandorkar/miniforge3/shell/condabin/Conda.psm1
no change     /beegfs/chandorkar/miniforge3/shell/condabin/conda-hook.ps1
no change     /beegfs/chandorkar/miniforge3/lib/python3.10/site-packages/xontrib/conda.xsh
no change     /beegfs/chandorkar/miniforge3/etc/profile.d/conda.csh
modified      /beegfs/chandorkar/.bashrc

==> For changes to take effect, close and re-open your current shell. <==

Added mamba to /beegfs/chandorkar/.bashrc

==> For changes to take effect, close and re-open your current shell. <==

Run 'mamba init' to be able to run mamba activate/deactivate
and start a new shell session. Or use conda to activate/deactivate.

/beegfs/chandorkar/miniforge3/envs/det3d/lib/python3.8/site-packages/timm/models/layers/__init__.py:48: FutureWarning: Importing from timm.models.layers is deprecated, please import via timm.layers
  warnings.warn(f"Importing from {__name__} is deprecated, please import via timm.layers", FutureWarning)
2025-05-05 20:00:38,799   INFO  Distributed training: False
2025-05-05 20:00:38,799   INFO  torch.backends.cudnn.benchmark: False
cp: cannot stat 'tools': No such file or directory
cp: cannot stat 'det3d': No such file or directory
cp: cannot stat 'configs': No such file or directory
2025-05-05 20:00:38,815   INFO  Backup files to : ./work_dirs/nusc_centerpoint_pillarnet_flip/backup
2025-05-05 20:00:38,927   INFO  Finish RPN Initialization
2025-05-05 20:00:39,358   INFO  num_classes: [1, 2, 2, 1, 2, 2]
2025-05-05 20:00:39,389   INFO  Finish CenterHead Initialization
2025-05-05 20:00:51,167   INFO  {'car': 5, 'truck': 5, 'bus': 5, 'trailer': 5, 'construction_vehicle': 5, 'traffic_cone': 5, 'barrier': 5, 'motorcycle': 5, 'bicycle': 5, 'pedestrian': 5}
2025-05-05 20:00:51,167   INFO  [-1]
2025-05-05 20:00:54,088   INFO  load 62964 traffic_cone database infos
2025-05-05 20:00:54,088   INFO  load 65262 truck database infos
2025-05-05 20:00:54,088   INFO  load 339949 car database infos
2025-05-05 20:00:54,088   INFO  load 161928 pedestrian database infos
2025-05-05 20:00:54,088   INFO  load 26297 ignore database infos
2025-05-05 20:00:54,088   INFO  load 11050 construction_vehicle database infos
2025-05-05 20:00:54,088   INFO  load 107507 barrier database infos
2025-05-05 20:00:54,088   INFO  load 8846 motorcycle database infos
2025-05-05 20:00:54,088   INFO  load 8185 bicycle database infos
2025-05-05 20:00:54,088   INFO  load 12286 bus database infos
2025-05-05 20:00:54,088   INFO  load 19202 trailer database infos
2025-05-05 20:00:55,315   INFO  After filter database:
2025-05-05 20:00:55,316   INFO  load 55823 traffic_cone database infos
2025-05-05 20:00:55,316   INFO  load 60428 truck database infos
2025-05-05 20:00:55,316   INFO  load 294575 car database infos
2025-05-05 20:00:55,316   INFO  load 148872 pedestrian database infos
2025-05-05 20:00:55,316   INFO  load 26297 ignore database infos
2025-05-05 20:00:55,316   INFO  load 10591 construction_vehicle database infos
2025-05-05 20:00:55,316   INFO  load 102093 barrier database infos
2025-05-05 20:00:55,316   INFO  load 8055 motorcycle database infos
2025-05-05 20:00:55,316   INFO  load 7533 bicycle database infos
2025-05-05 20:00:55,316   INFO  load 11622 bus database infos
2025-05-05 20:00:55,316   INFO  load 18104 trailer database infos
2025-05-05 20:00:55,360   INFO  model structure: PillarNet(
  (reader): DynamicPillarFeatureNet(
    (pfn_layers): PillarMaxPooling(
      (groups): PillarQueryAndGroup()
      (shared_mlps): Sequential(
        (0): Linear(in_features=11, out_features=32, bias=False)
        (1): BatchNorm1d(32, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        (2): ReLU()
      )
    )
  )
  (backbone): SpMiddlePillarEncoder18(
    (conv1): SparseSequential(
      (0): Sparse2DBasicBlockV(
        (conv0): SparseSequential(
          (0): SubMConv2d(32, 32, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(32, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (conv1): SparseSequential(
          (0): SubMConv2d(32, 32, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(32, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (conv2): SparseSequential(
          (0): SubMConv2d(32, 32, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(32, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (relu): ReLU()
      )
      (1): Sparse2DBasicBlock(
        (conv1): SparseSequential(
          (0): SubMConv2d(32, 32, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(32, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (conv2): SparseSequential(
          (0): SubMConv2d(32, 32, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(32, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (relu): ReLU()
      )
    )
    (conv2): SparseSequential(
      (0): SparseConv2d(32, 64, kernel_size=[3, 3], stride=[2, 2], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], bias=False, algo=ConvAlgo.MaskImplicitGemm)
      (1): BatchNorm1d(64, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (2): ReLU()
      (3): Sparse2DBasicBlock(
        (conv1): SparseSequential(
          (0): SubMConv2d(64, 64, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(64, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (conv2): SparseSequential(
          (0): SubMConv2d(64, 64, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(64, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (relu): ReLU()
      )
      (4): Sparse2DBasicBlock(
        (conv1): SparseSequential(
          (0): SubMConv2d(64, 64, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(64, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (conv2): SparseSequential(
          (0): SubMConv2d(64, 64, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(64, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (relu): ReLU()
      )
    )
    (conv3): SparseSequential(
      (0): SparseConv2d(64, 128, kernel_size=[3, 3], stride=[2, 2], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], bias=False, algo=ConvAlgo.MaskImplicitGemm)
      (1): BatchNorm1d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (2): ReLU()
      (3): Sparse2DBasicBlock(
        (conv1): SparseSequential(
          (0): SubMConv2d(128, 128, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (conv2): SparseSequential(
          (0): SubMConv2d(128, 128, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (relu): ReLU()
      )
      (4): Sparse2DBasicBlock(
        (conv1): SparseSequential(
          (0): SubMConv2d(128, 128, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (conv2): SparseSequential(
          (0): SubMConv2d(128, 128, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (relu): ReLU()
      )
    )
    (conv4): SparseSequential(
      (0): SparseConv2d(128, 256, kernel_size=[3, 3], stride=[2, 2], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], bias=False, algo=ConvAlgo.MaskImplicitGemm)
      (1): BatchNorm1d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (2): ReLU()
      (3): Sparse2DBasicBlock(
        (conv1): SparseSequential(
          (0): SubMConv2d(256, 256, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (conv2): SparseSequential(
          (0): SubMConv2d(256, 256, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (relu): ReLU()
      )
      (4): Sparse2DBasicBlock(
        (conv1): SparseSequential(
          (0): SubMConv2d(256, 256, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (conv2): SparseSequential(
          (0): SubMConv2d(256, 256, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (relu): ReLU()
      )
    )
    (conv5): Sequential(
      (0): Conv2d(256, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
      (1): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (2): ReLU()
      (3): SparseSequential(
        (0): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
        (1): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        (2): ReLU()
      )
      (4): SparseSequential(
        (0): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
        (1): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        (2): ReLU()
      )
    )
  )
  (neck): RPNV2(
    (block_5): Sequential(
      (0): ZeroPad2d((1, 1, 1, 1))
      (1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), bias=False)
      (2): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (3): ReLU()
      (4): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (5): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (6): ReLU()
      (7): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (8): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (9): ReLU()
      (10): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (11): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (12): ReLU()
      (13): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (14): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (15): ReLU()
      (16): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (17): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (18): ReLU()
    )
    (deblock_5): Sequential(
      (0): ConvTranspose2d(256, 128, kernel_size=(2, 2), stride=(2, 2), bias=False)
      (1): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (2): ReLU()
    )
    (deblock_4): Sequential(
      (0): ZeroPad2d((1, 1, 1, 1))
      (1): Conv2d(256, 128, kernel_size=(3, 3), stride=(1, 1), bias=False)
      (2): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (3): ReLU()
    )
    (block_4): Sequential(
      (0): ZeroPad2d((1, 1, 1, 1))
      (1): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), bias=False)
      (2): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (3): ReLU()
      (4): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (5): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (6): ReLU()
      (7): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (8): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (9): ReLU()
      (10): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (11): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (12): ReLU()
      (13): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (14): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (15): ReLU()
      (16): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (17): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (18): ReLU()
    )
  )
  (bbox_head): CenterHead(
    (crit): FastFocalLoss()
    (crit_reg): RegLoss()
    (crit_iou): IouLoss()
    (crit_iou_reg): IouRegLoss()
    (shared_conv): Sequential(
      (0): Conv2d(256, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
      (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
      (2): ReLU(inplace=True)
    )
    (tasks): ModuleList(
      (0): SepHead(
        (reg): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (height): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (dim): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (rot): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (vel): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (iou): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (hm): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
      )
      (1-2): 2 x SepHead(
        (reg): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (height): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (dim): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (rot): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (vel): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (iou): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (hm): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
      )
      (3): SepHead(
        (reg): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (height): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (dim): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (rot): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (vel): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (iou): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (hm): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
      )
      (4-5): 2 x SepHead(
        (reg): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (height): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (dim): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (rot): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (vel): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (iou): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (hm): Sequential(
          (0): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU()
          (3): Conv2d(64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
      )
    )
  )
)
no apex
No Tensorflow
Use HM Bias:  -2.19
10
2025-05-05 20:01:03,314   INFO  finding looplift candidates
2025-05-05 20:01:03,334   INFO  finding looplift candidates
2025-05-05 20:01:03,341   INFO  finding looplift candidates
2025-05-05 20:01:03,345   INFO  finding looplift candidates
2025-05-05 20:01:03,371   INFO  finding looplift candidates
2025-05-05 20:01:03,386   INFO  finding looplift candidates
PillarNet(
  11.03 M, 75.754% Params, 101.643 GMac, 100.000% MACs, 
  (reader): DynamicPillarFeatureNet(
    0.0 M, 0.003% Params, 0.048 GMac, 0.048% MACs, 
    (pfn_layers): PillarMaxPooling(
      0.0 M, 0.003% Params, 0.048 GMac, 0.048% MACs, 
      (groups): PillarQueryAndGroup(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, )
      (shared_mlps): Sequential(
        0.0 M, 0.003% Params, 0.048 GMac, 0.048% MACs, 
        (0): Linear(0.0 M, 0.002% Params, 0.038 GMac, 0.037% MACs, in_features=11, out_features=32, bias=False)
        (1): BatchNorm1d(0.0 M, 0.000% Params, 0.007 GMac, 0.007% MACs, 32, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        (2): ReLU(0.0 M, 0.000% Params, 0.003 GMac, 0.003% MACs, )
      )
    )
  )
  (backbone): SpMiddlePillarEncoder18(
    1.78 M, 12.191% Params, 6.456 GMac, 6.352% MACs, 
    (conv1): SparseSequential(
      0.0 M, 0.002% Params, 0.019 GMac, 0.019% MACs, 
      (0): Sparse2DBasicBlockV(
        0.0 M, 0.001% Params, 0.012 GMac, 0.011% MACs, 
        (conv0): SparseSequential(
          0.0 M, 0.000% Params, 0.003 GMac, 0.003% MACs, 
          (0): SubMConv2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, 32, 32, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(0.0 M, 0.000% Params, 0.003 GMac, 0.003% MACs, 32, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (conv1): SparseSequential(
          0.0 M, 0.000% Params, 0.003 GMac, 0.003% MACs, 
          (0): SubMConv2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, 32, 32, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(0.0 M, 0.000% Params, 0.003 GMac, 0.003% MACs, 32, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (conv2): SparseSequential(
          0.0 M, 0.000% Params, 0.003 GMac, 0.003% MACs, 
          (0): SubMConv2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, 32, 32, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(0.0 M, 0.000% Params, 0.003 GMac, 0.003% MACs, 32, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (relu): ReLU(0.0 M, 0.000% Params, 0.004 GMac, 0.004% MACs, )
      )
      (1): Sparse2DBasicBlock(
        0.0 M, 0.001% Params, 0.008 GMac, 0.008% MACs, 
        (conv1): SparseSequential(
          0.0 M, 0.000% Params, 0.003 GMac, 0.003% MACs, 
          (0): SubMConv2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, 32, 32, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(0.0 M, 0.000% Params, 0.003 GMac, 0.003% MACs, 32, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (conv2): SparseSequential(
          0.0 M, 0.000% Params, 0.003 GMac, 0.003% MACs, 
          (0): SubMConv2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, 32, 32, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(0.0 M, 0.000% Params, 0.003 GMac, 0.003% MACs, 32, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (relu): ReLU(0.0 M, 0.000% Params, 0.003 GMac, 0.003% MACs, )
      )
    )
    (conv2): SparseSequential(
      0.0 M, 0.004% Params, 0.024 GMac, 0.024% MACs, 
      (0): SparseConv2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, 32, 64, kernel_size=[3, 3], stride=[2, 2], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], bias=False, algo=ConvAlgo.MaskImplicitGemm)
      (1): BatchNorm1d(0.0 M, 0.001% Params, 0.003 GMac, 0.003% MACs, 64, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (2): ReLU(0.0 M, 0.000% Params, 0.002 GMac, 0.002% MACs, )
      (3): Sparse2DBasicBlock(
        0.0 M, 0.002% Params, 0.01 GMac, 0.010% MACs, 
        (conv1): SparseSequential(
          0.0 M, 0.001% Params, 0.003 GMac, 0.003% MACs, 
          (0): SubMConv2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, 64, 64, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(0.0 M, 0.001% Params, 0.003 GMac, 0.003% MACs, 64, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (conv2): SparseSequential(
          0.0 M, 0.001% Params, 0.003 GMac, 0.003% MACs, 
          (0): SubMConv2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, 64, 64, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(0.0 M, 0.001% Params, 0.003 GMac, 0.003% MACs, 64, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (relu): ReLU(0.0 M, 0.000% Params, 0.003 GMac, 0.003% MACs, )
      )
      (4): Sparse2DBasicBlock(
        0.0 M, 0.002% Params, 0.01 GMac, 0.010% MACs, 
        (conv1): SparseSequential(
          0.0 M, 0.001% Params, 0.003 GMac, 0.003% MACs, 
          (0): SubMConv2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, 64, 64, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(0.0 M, 0.001% Params, 0.003 GMac, 0.003% MACs, 64, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (conv2): SparseSequential(
          0.0 M, 0.001% Params, 0.003 GMac, 0.003% MACs, 
          (0): SubMConv2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, 64, 64, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(0.0 M, 0.001% Params, 0.003 GMac, 0.003% MACs, 64, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (relu): ReLU(0.0 M, 0.000% Params, 0.003 GMac, 0.003% MACs, )
      )
    )
    (conv3): SparseSequential(
      0.0 M, 0.009% Params, 0.02 GMac, 0.019% MACs, 
      (0): SparseConv2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, 64, 128, kernel_size=[3, 3], stride=[2, 2], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], bias=False, algo=ConvAlgo.MaskImplicitGemm)
      (1): BatchNorm1d(0.0 M, 0.002% Params, 0.003 GMac, 0.003% MACs, 128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
      (3): Sparse2DBasicBlock(
        0.0 M, 0.004% Params, 0.008 GMac, 0.008% MACs, 
        (conv1): SparseSequential(
          0.0 M, 0.002% Params, 0.003 GMac, 0.003% MACs, 
          (0): SubMConv2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, 128, 128, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(0.0 M, 0.002% Params, 0.003 GMac, 0.003% MACs, 128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (conv2): SparseSequential(
          0.0 M, 0.002% Params, 0.003 GMac, 0.003% MACs, 
          (0): SubMConv2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, 128, 128, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(0.0 M, 0.002% Params, 0.003 GMac, 0.003% MACs, 128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (relu): ReLU(0.0 M, 0.000% Params, 0.003 GMac, 0.003% MACs, )
      )
      (4): Sparse2DBasicBlock(
        0.0 M, 0.004% Params, 0.008 GMac, 0.008% MACs, 
        (conv1): SparseSequential(
          0.0 M, 0.002% Params, 0.003 GMac, 0.003% MACs, 
          (0): SubMConv2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, 128, 128, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(0.0 M, 0.002% Params, 0.003 GMac, 0.003% MACs, 128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (conv2): SparseSequential(
          0.0 M, 0.002% Params, 0.003 GMac, 0.003% MACs, 
          (0): SubMConv2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, 128, 128, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(0.0 M, 0.002% Params, 0.003 GMac, 0.003% MACs, 128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (relu): ReLU(0.0 M, 0.000% Params, 0.003 GMac, 0.003% MACs, )
      )
    )
    (conv4): SparseSequential(
      0.0 M, 0.018% Params, 0.015 GMac, 0.015% MACs, 
      (0): SparseConv2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, 128, 256, kernel_size=[3, 3], stride=[2, 2], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], bias=False, algo=ConvAlgo.MaskImplicitGemm)
      (1): BatchNorm1d(0.0 M, 0.004% Params, 0.002 GMac, 0.002% MACs, 256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
      (3): Sparse2DBasicBlock(
        0.0 M, 0.007% Params, 0.006 GMac, 0.006% MACs, 
        (conv1): SparseSequential(
          0.0 M, 0.004% Params, 0.002 GMac, 0.002% MACs, 
          (0): SubMConv2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, 256, 256, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(0.0 M, 0.004% Params, 0.002 GMac, 0.002% MACs, 256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (conv2): SparseSequential(
          0.0 M, 0.004% Params, 0.002 GMac, 0.002% MACs, 
          (0): SubMConv2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, 256, 256, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(0.0 M, 0.004% Params, 0.002 GMac, 0.002% MACs, 256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (relu): ReLU(0.0 M, 0.000% Params, 0.002 GMac, 0.002% MACs, )
      )
      (4): Sparse2DBasicBlock(
        0.0 M, 0.007% Params, 0.006 GMac, 0.006% MACs, 
        (conv1): SparseSequential(
          0.0 M, 0.004% Params, 0.002 GMac, 0.002% MACs, 
          (0): SubMConv2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, 256, 256, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(0.0 M, 0.004% Params, 0.002 GMac, 0.002% MACs, 256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (conv2): SparseSequential(
          0.0 M, 0.004% Params, 0.002 GMac, 0.002% MACs, 
          (0): SubMConv2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, 256, 256, kernel_size=[3, 3], stride=[1, 1], padding=[1, 1], dilation=[1, 1], output_padding=[0, 0], algo=ConvAlgo.MaskImplicitGemm)
          (1): BatchNorm1d(0.0 M, 0.004% Params, 0.002 GMac, 0.002% MACs, 256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        )
        (relu): ReLU(0.0 M, 0.000% Params, 0.002 GMac, 0.002% MACs, )
      )
    )
    (conv5): Sequential(
      1.77 M, 12.158% Params, 6.378 GMac, 6.275% MACs, 
      (0): Conv2d(0.59 M, 4.049% Params, 2.123 GMac, 2.089% MACs, 256, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
      (1): BatchNorm2d(0.0 M, 0.004% Params, 0.002 GMac, 0.002% MACs, 256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
      (3): SparseSequential(
        0.59 M, 4.053% Params, 2.126 GMac, 2.092% MACs, 
        (0): Conv2d(0.59 M, 4.049% Params, 2.123 GMac, 2.089% MACs, 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
        (1): BatchNorm2d(0.0 M, 0.004% Params, 0.002 GMac, 0.002% MACs, 256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
      )
      (4): SparseSequential(
        0.59 M, 4.053% Params, 2.126 GMac, 2.092% MACs, 
        (0): Conv2d(0.59 M, 4.049% Params, 2.123 GMac, 2.089% MACs, 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
        (1): BatchNorm2d(0.0 M, 0.004% Params, 0.002 GMac, 0.002% MACs, 256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
        (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
      )
    )
  )
  (neck): RPNV2(
    7.51 M, 51.561% Params, 69.929 GMac, 68.799% MACs, 
    (block_5): Sequential(
      3.54 M, 24.317% Params, 12.757 GMac, 12.551% MACs, 
      (0): ZeroPad2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, (1, 1, 1, 1))
      (1): Conv2d(0.59 M, 4.049% Params, 2.123 GMac, 2.089% MACs, 256, 256, kernel_size=(3, 3), stride=(1, 1), bias=False)
      (2): BatchNorm2d(0.0 M, 0.004% Params, 0.002 GMac, 0.002% MACs, 256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (3): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
      (4): Conv2d(0.59 M, 4.049% Params, 2.123 GMac, 2.089% MACs, 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (5): BatchNorm2d(0.0 M, 0.004% Params, 0.002 GMac, 0.002% MACs, 256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (6): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
      (7): Conv2d(0.59 M, 4.049% Params, 2.123 GMac, 2.089% MACs, 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (8): BatchNorm2d(0.0 M, 0.004% Params, 0.002 GMac, 0.002% MACs, 256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (9): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
      (10): Conv2d(0.59 M, 4.049% Params, 2.123 GMac, 2.089% MACs, 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (11): BatchNorm2d(0.0 M, 0.004% Params, 0.002 GMac, 0.002% MACs, 256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (12): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
      (13): Conv2d(0.59 M, 4.049% Params, 2.123 GMac, 2.089% MACs, 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (14): BatchNorm2d(0.0 M, 0.004% Params, 0.002 GMac, 0.002% MACs, 256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (15): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
      (16): Conv2d(0.59 M, 4.049% Params, 2.123 GMac, 2.089% MACs, 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (17): BatchNorm2d(0.0 M, 0.004% Params, 0.002 GMac, 0.002% MACs, 256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (18): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
    )
    (deblock_5): Sequential(
      0.13 M, 0.902% Params, 1.893 GMac, 1.862% MACs, 
      (0): ConvTranspose2d(0.13 M, 0.900% Params, 1.887 GMac, 1.857% MACs, 256, 128, kernel_size=(2, 2), stride=(2, 2), bias=False)
      (1): BatchNorm2d(0.0 M, 0.002% Params, 0.004 GMac, 0.004% MACs, 128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (2): ReLU(0.0 M, 0.000% Params, 0.002 GMac, 0.002% MACs, )
    )
    (deblock_4): Sequential(
      0.3 M, 2.026% Params, 4.252 GMac, 4.184% MACs, 
      (0): ZeroPad2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, (1, 1, 1, 1))
      (1): Conv2d(0.29 M, 2.025% Params, 4.247 GMac, 4.178% MACs, 256, 128, kernel_size=(3, 3), stride=(1, 1), bias=False)
      (2): BatchNorm2d(0.0 M, 0.002% Params, 0.004 GMac, 0.004% MACs, 128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (3): ReLU(0.0 M, 0.000% Params, 0.002 GMac, 0.002% MACs, )
    )
    (block_4): Sequential(
      3.54 M, 24.317% Params, 51.027 GMac, 50.203% MACs, 
      (0): ZeroPad2d(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, (1, 1, 1, 1))
      (1): Conv2d(0.59 M, 4.049% Params, 8.493 GMac, 8.356% MACs, 256, 256, kernel_size=(3, 3), stride=(1, 1), bias=False)
      (2): BatchNorm2d(0.0 M, 0.004% Params, 0.007 GMac, 0.007% MACs, 256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (3): ReLU(0.0 M, 0.000% Params, 0.004 GMac, 0.004% MACs, )
      (4): Conv2d(0.59 M, 4.049% Params, 8.493 GMac, 8.356% MACs, 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (5): BatchNorm2d(0.0 M, 0.004% Params, 0.007 GMac, 0.007% MACs, 256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (6): ReLU(0.0 M, 0.000% Params, 0.004 GMac, 0.004% MACs, )
      (7): Conv2d(0.59 M, 4.049% Params, 8.493 GMac, 8.356% MACs, 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (8): BatchNorm2d(0.0 M, 0.004% Params, 0.007 GMac, 0.007% MACs, 256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (9): ReLU(0.0 M, 0.000% Params, 0.004 GMac, 0.004% MACs, )
      (10): Conv2d(0.59 M, 4.049% Params, 8.493 GMac, 8.356% MACs, 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (11): BatchNorm2d(0.0 M, 0.004% Params, 0.007 GMac, 0.007% MACs, 256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (12): ReLU(0.0 M, 0.000% Params, 0.004 GMac, 0.004% MACs, )
      (13): Conv2d(0.59 M, 4.049% Params, 8.493 GMac, 8.356% MACs, 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (14): BatchNorm2d(0.0 M, 0.004% Params, 0.007 GMac, 0.007% MACs, 256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (15): ReLU(0.0 M, 0.000% Params, 0.004 GMac, 0.004% MACs, )
      (16): Conv2d(0.59 M, 4.049% Params, 8.493 GMac, 8.356% MACs, 256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (17): BatchNorm2d(0.0 M, 0.004% Params, 0.007 GMac, 0.007% MACs, 256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True)
      (18): ReLU(0.0 M, 0.000% Params, 0.004 GMac, 0.004% MACs, )
    )
  )
  (bbox_head): CenterHead(
    1.75 M, 11.999% Params, 25.209 GMac, 24.801% MACs, 
    (crit): FastFocalLoss(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, )
    (crit_reg): RegLoss(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, )
    (crit_iou): IouLoss(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, )
    (crit_iou_reg): IouRegLoss(0.0 M, 0.000% Params, 0.0 GMac, 0.000% MACs, )
    (shared_conv): Sequential(
      0.15 M, 1.014% Params, 2.127 GMac, 2.093% MACs, 
      (0): Conv2d(0.15 M, 1.013% Params, 2.124 GMac, 2.090% MACs, 256, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
      (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
      (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, inplace=True)
    )
    (tasks): ModuleList(
      (0): SepHead(
        0.27 M, 1.828% Params, 3.841 GMac, 3.779% MACs, 
        (reg): Sequential(
          0.04 M, 0.262% Params, 0.551 GMac, 0.542% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.008% Params, 0.017 GMac, 0.016% MACs, 64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (height): Sequential(
          0.04 M, 0.258% Params, 0.543 GMac, 0.534% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.004% Params, 0.008 GMac, 0.008% MACs, 64, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (dim): Sequential(
          0.04 M, 0.266% Params, 0.559 GMac, 0.550% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.012% Params, 0.025 GMac, 0.025% MACs, 64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (rot): Sequential(
          0.04 M, 0.262% Params, 0.551 GMac, 0.542% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.008% Params, 0.017 GMac, 0.016% MACs, 64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (vel): Sequential(
          0.04 M, 0.262% Params, 0.551 GMac, 0.542% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.008% Params, 0.017 GMac, 0.016% MACs, 64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (iou): Sequential(
          0.04 M, 0.258% Params, 0.543 GMac, 0.534% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.004% Params, 0.008 GMac, 0.008% MACs, 64, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (hm): Sequential(
          0.04 M, 0.258% Params, 0.543 GMac, 0.534% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.004% Params, 0.008 GMac, 0.008% MACs, 64, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
      )
      (1-2): 2 x SepHead(
        0.27 M, 1.832% Params, 3.85 GMac, 3.787% MACs, 
        (reg): Sequential(
          0.04 M, 0.262% Params, 0.551 GMac, 0.542% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.008% Params, 0.017 GMac, 0.016% MACs, 64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (height): Sequential(
          0.04 M, 0.258% Params, 0.543 GMac, 0.534% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.004% Params, 0.008 GMac, 0.008% MACs, 64, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (dim): Sequential(
          0.04 M, 0.266% Params, 0.559 GMac, 0.550% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.012% Params, 0.025 GMac, 0.025% MACs, 64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (rot): Sequential(
          0.04 M, 0.262% Params, 0.551 GMac, 0.542% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.008% Params, 0.017 GMac, 0.016% MACs, 64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (vel): Sequential(
          0.04 M, 0.262% Params, 0.551 GMac, 0.542% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.008% Params, 0.017 GMac, 0.016% MACs, 64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (iou): Sequential(
          0.04 M, 0.258% Params, 0.543 GMac, 0.534% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.004% Params, 0.008 GMac, 0.008% MACs, 64, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (hm): Sequential(
          0.04 M, 0.262% Params, 0.551 GMac, 0.542% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.008% Params, 0.017 GMac, 0.016% MACs, 64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
      )
      (3): SepHead(
        0.27 M, 1.828% Params, 3.841 GMac, 3.779% MACs, 
        (reg): Sequential(
          0.04 M, 0.262% Params, 0.551 GMac, 0.542% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.008% Params, 0.017 GMac, 0.016% MACs, 64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (height): Sequential(
          0.04 M, 0.258% Params, 0.543 GMac, 0.534% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.004% Params, 0.008 GMac, 0.008% MACs, 64, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (dim): Sequential(
          0.04 M, 0.266% Params, 0.559 GMac, 0.550% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.012% Params, 0.025 GMac, 0.025% MACs, 64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (rot): Sequential(
          0.04 M, 0.262% Params, 0.551 GMac, 0.542% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.008% Params, 0.017 GMac, 0.016% MACs, 64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (vel): Sequential(
          0.04 M, 0.262% Params, 0.551 GMac, 0.542% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.008% Params, 0.017 GMac, 0.016% MACs, 64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (iou): Sequential(
          0.04 M, 0.258% Params, 0.543 GMac, 0.534% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.004% Params, 0.008 GMac, 0.008% MACs, 64, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (hm): Sequential(
          0.04 M, 0.258% Params, 0.543 GMac, 0.534% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.004% Params, 0.008 GMac, 0.008% MACs, 64, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
      )
      (4-5): 2 x SepHead(
        0.27 M, 1.832% Params, 3.85 GMac, 3.787% MACs, 
        (reg): Sequential(
          0.04 M, 0.262% Params, 0.551 GMac, 0.542% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.008% Params, 0.017 GMac, 0.016% MACs, 64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (height): Sequential(
          0.04 M, 0.258% Params, 0.543 GMac, 0.534% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.004% Params, 0.008 GMac, 0.008% MACs, 64, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (dim): Sequential(
          0.04 M, 0.266% Params, 0.559 GMac, 0.550% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.012% Params, 0.025 GMac, 0.025% MACs, 64, 3, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (rot): Sequential(
          0.04 M, 0.262% Params, 0.551 GMac, 0.542% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.008% Params, 0.017 GMac, 0.016% MACs, 64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (vel): Sequential(
          0.04 M, 0.262% Params, 0.551 GMac, 0.542% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.008% Params, 0.017 GMac, 0.016% MACs, 64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (iou): Sequential(
          0.04 M, 0.258% Params, 0.543 GMac, 0.534% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.004% Params, 0.008 GMac, 0.008% MACs, 64, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
        (hm): Sequential(
          0.04 M, 0.262% Params, 0.551 GMac, 0.542% MACs, 
          (0): Conv2d(0.04 M, 0.254% Params, 0.532 GMac, 0.523% MACs, 64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
          (1): BatchNorm2d(0.0 M, 0.001% Params, 0.002 GMac, 0.002% MACs, 64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
          (2): ReLU(0.0 M, 0.000% Params, 0.001 GMac, 0.001% MACs, )
          (3): Conv2d(0.0 M, 0.008% Params, 0.017 GMac, 0.016% MACs, 64, 2, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
        )
      )
    )
  )
)
==============================
Input shape: (4000, 4)
Flops: 101.64 GMac
Params: 14.57 M
==============================
/beegfs/chandorkar/miniforge3/envs/det3d/lib/python3.8/site-packages/torch/nn/modules/conv.py:459: UserWarning: Applied workaround for CuDNN issue, install nvrtc.so (Triggered internally at ../aten/src/ATen/native/cudnn/Conv_v8.cpp:80.)
  return F.conv2d(input, weight, bias, self.stride,
/beegfs/chandorkar/miniforge3/envs/det3d/lib/python3.8/site-packages/torch/functional.py:504: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3483.)
  return _VF.meshgrid(tensors, **kwargs)  # type: ignore[attr-defined]
Traceback (most recent call last):
  File "projects/PillarNet/tools/train.py", line 174, in <module>
    main()
  File "projects/PillarNet/tools/train.py", line 163, in main
    train_detector(
  File "/beegfs/chandorkar/projects/PillarNet/det3d/torchie/apis/train.py", line 340, in train_detector
    adasda
NameError: name 'adasda' is not defined
srun: error: gpu21005: task 0: Exited with exit code 1
clean up done at /tmp/chandorkar_10089710
