Implementation of "Bidirectional Projection Network for Cross Dimension Scene Understanding" CVPR 2021 (Oral)

Overview

Bidirectional Projection Network for Cross Dimension Scene Understanding

CVPR 2021 (Oral)

[ Project Webpage ] [ arXiv ] [ Video ]

Existing segmentation methods are mostly unidirectional, i.e. utilizing 3D for 2D segmentation or vice versa. Obviously 2D and 3D information can nicely complement each other in both directions, during the segmentation. This is the goal of bidirectional projection network.

bpnet

Environment

  • Main
# Torch
$ pip install torch==1.4.0+cu100 torchvision==0.5.0+cu100 -f https://download.pytorch.org/whl/torch_stable.html
# MinkowskiEngine 0.4.1
$ conda install numpy openblas
$ git clone https://github.com/StanfordVL/MinkowskiEngine.git
$ cd MinkowskiEngine
$ git checkout f1a419cc5792562a06df9e1da686b7ce8f3bb5ad
$ python setup.py install
# Others
$ pip install imageio==2.8.0 opencv-python==4.2.0.32 pillow==7.0.0 pyyaml==5.3 scipy==1.4.1 sharedarray==3.2.0 tensorboardx==2.0 tqdm==4.42.1
  • Others

    Please refer to env.yml for details.

Prepare data

  • Download the dataset from official website.

  • 2D: The scripts is from 3DMV repo, it is based on python2, other code in this repo is based on python3 python prepare_2d_data.py --scannet_path data/scannetv2 --output_path data/scannetv2_images --export_label_images

  • 3D: dataset/preprocess_3d_scannet.py

Config

  • BPNet_5cm: config/scannet/bpnet_5cm.yaml

Training

  • Download pretrained 2D ResNets on ImageNet from PyTorch website, and put them into the initmodel folder.
model_urls = {
    'resnet18': 'https://download.pytorch.org/models/resnet18-5c106cde.pth',
    'resnet34': 'https://download.pytorch.org/models/resnet34-333f7ec4.pth',
    'resnet50': 'https://download.pytorch.org/models/resnet50-19c8e357.pth',
    'resnet101': 'https://download.pytorch.org/models/resnet101-5d3b4d8f.pth',
    'resnet152': 'https://download.pytorch.org/models/resnet152-b121ed2d.pth',
}
  • Start training: sh tool/train.sh EXP_NAME /PATH/TO/CONFIG NUMBER_OF_THREADS

  • Resume: sh tool/resume.sh EXP_NAME /PATH/TO/CONFIG(copied one) NUMBER_OF_THREADS

NUMBER_OF_THREADS is the threads to use per process (gpu), so optimally, it should be Total_threads / gpu_number_used

Testing

  • Testing using your trained model or our pre-trained model (voxel_size: 5cm): sh tool/test.sh EXP_NAME /PATH/TO/CONFIG(copied one) NUMBER_OF_THREADS)

Copyright and License

You are granted with the LICENSE for both academic and commercial usages.

Acknowledgment

Our code is based on MinkowskiEngine. We also referred to SparseConvNet and semseg.

Citation

@inproceedings{hu-2021-bidirectional,
        author      = {Wenbo Hu, Hengshuang Zhao, Li Jiang, Jiaya Jia and Tien-Tsin Wong},
        title       = {Bidirectional Projection Network for Cross Dimensional Scene Understanding},
        booktitle   = {CVPR},
        year        = {2021}
    }
Comments
  • Impossible to run

    Impossible to run

    I do not want to train, but only want to test. I download pretrained "bpnet_5cm.pth.tar" and Set my config

    DATA:
      data_name: scannet_cross
      data_root: /home/aaa/BPNet/ScanNet
      classes: 20
      aug: True
      voxelSize: 0.05
    
    
    
    TRAIN:
      viewNum: 3
      weight_2d: 0.1
      arch: bpnet
      layers_2d: 34
      arch_3d: MinkUNet18A
    
      sync_bn_2d: True
      ignore_label: 255
      train_gpu: [0,1,2,3]
      workers: 16  # data loader workers
      batch_size: 16  # batch size for training
      batch_size_val: 16  # batch size for validation during training, memory and speed tradeoff
      base_lr: 0.01
      loop: 5
      epochs: 100
      start_epoch: 0
      power: 0.9
      momentum: 0.9
      weight_decay: 0.0001
      manual_seed: 1463
      print_freq: 10
      save_freq: 1
      save_path:
      weight:  # path to initial weight (default: none)
      resume:
      evaluate: True  # evaluate on validation set, extra gpu memory needed and small batch_size_val is recommend
      eval_freq: 1
    #  zoom_factor: 8  # zoom factor for final prediction during training, be in [1, 2, 4, 8]
    #  train_h: 241
    #  train_w: 321
    #  viewNum: 3
    
    Distributed:
      dist_url: tcp://127.0.0.1:6787
      dist_backend: 'nccl'
      multiprocessing_distributed: True
      world_size: 1
      rank: 0
    
    
    TEST:
      split: val  # split in [train, val and test]
      val_benchmark: True
      test_workers: 4
      test_gpu: [0]
      test_batch_size: 16
      model_path: /home/aaa/BPNet/Exp/scannet/EXP1/model/model_best.pth.tar
      save_folder: /home/aaa/BPNet/Exp/scannet/EXP1/result
      test_repeats: 7
    

    And $ sh tool/test.sh EXP1 ./config/scannet/bpnet_5cm.yaml 8

    And get

    RuntimeError: Error(s) in loading state_dict for BPNet:
            Missing key(s) in state_dict: "layer0_2d.0.weight", "layer0_2d.1.weight", "layer0_2d.1.bias", "layer0_2d.1.running_mean", "layer0_2d.1.running_var", "layer1_2d.0.conv1.weight", "layer1_2d.0.bn1.weight", "layer1_2d.0.bn1.bias", "layer1_2d.0.bn1.running_mean", "layer1_2d.0.bn1.running_var", "layer1_2d.0.conv2.weight", "layer1_2d.0.bn2.weight", "layer1_2d.0.bn2.bias", "layer1_2d.0.bn2.running_mean", "layer1_2d.0.bn2.running_var", "layer1_2d.1.conv1.weight", "layer1_2d.1.bn1.weight", "layer1_2d.1.bn1.bias", "layer1_2d.1.bn1.running_mean", "layer1_2d.1.bn1.running_var", "layer1_2d.1.conv2.weight", "layer1_2d.1.bn2.weight", "layer1_2d.1.bn2.bias", "layer1_2d.1.bn2.running_mean", "layer1_2d.1.bn2.running_var", "layer1_2d.2.conv1.weight", "layer1_2d.2.bn1.weight", "layer1_2d.2.bn1.bias", "layer1_2d.2.bn1.running_mean", "layer1_2d.2.bn1.running_var", "layer1_2d.2.conv2.weight", "layer1_2d.2.bn2.weight", "layer1_2d.2.bn2.bias", "layer1_2d.2.bn2.running_mean", "layer1_2d.2.bn2.running_var", "layer2_2d.0.conv1.weight", "layer2_2d.0.bn1.weight", "layer2_2d.0.bn1.bias", "layer2_2d.0.bn1.running_mean", "layer2_2d.0.bn1.running_var", "layer2_2d.0.conv2.weight", "layer2_2d.0.bn2.weight", "layer2_2d.0.bn2.bias", "layer2_2d.0.bn2.running_mean", "layer2_2d.0.bn2.running_var", "layer2_2d.0.downsample.0.weight", "layer2_2d.0.downsample.1.weight", "layer2_2d.0.downsample.1.bias", "layer2_2d.0.downsample.1.running_mean", "layer2_2d.0.downsample.1.running_var", "layer2_2d.1.conv1.weight", "layer2_2d.1.bn1.weight", "layer2_2d.1.bn1.bias", "layer2_2d.1.bn1.running_mean", "layer2_2d.1.bn1.running_var", "layer2_2d.1.conv2.weight", "layer2_2d.1.bn2.weight", "layer2_2d.1.bn2.bias", "layer2_2d.1.bn2.running_mean", "layer2_2d.1.bn2.running_var", "layer2_2d.2.conv1.weight", "layer2_2d.2.bn1.weight", "layer2_2d.2.bn1.bias", "layer2_2d.2.bn1.running_mean", "layer2_2d.2.bn1.running_var", "layer2_2d.2.conv2.weight", "layer2_2d.2.bn2.weight", "layer2_2d.2.bn2.bias", "layer2_2d.2.bn2.running_mean", "layer2_2d.2.bn2.running_var", "layer2_2d.3.conv1.weight", "layer2_2d.3.bn1.weight", "layer2_2d.3.bn1.bias", "layer2_2d.3.bn1.running_mean", "layer2_2d.3.bn1.running_var", "layer2_2d.3.conv2.weight", "layer2_2d.3.bn2.weight", "layer2_2d.3.bn2.bias", "layer2_2d.3.bn2.running_mean", "layer2_2d.3.bn2.running_var", "layer3_2d.0.conv1.weight", "layer3_2d.0.bn1.weight", "layer3_2d.0.bn1.bias", "layer3_2d.0.bn1.running_mean", "layer3_2d.0.bn1.running_var", "layer3_2d.0.conv2.weight", "layer3_2d.0.bn2.weight", "layer3_2d.0.bn2.bias", "layer3_2d.0.bn2.running_mean", "layer3_2d.0.bn2.running_var", "layer3_2d.0.downsample.0.weight", "layer3_2d.0.downsample.1.weight", "layer3_2d.0.downsample.1.bias", "layer3_2d.0.downsample.1.running_mean", "layer3_2d.0.downsample.1.running_var", "layer3_2d.1.conv1.weight", "layer3_2d.1.bn1.weight", "layer3_2d.1.bn1.bias", "layer3_2d.1.bn1.running_mean", "layer3_2d.1.bn1.running_var", "layer3_2d.1.conv2.weight", "layer3_2d.1.bn2.weight", "layer3_2d.1.bn2.bias", "layer3_2d.1.bn2.running_mean", "layer3_2d.1.bn2.running_var", "layer3_2d.2.conv1.weight", "layer3_2d.2.bn1.weight", "layer3_2d.2.bn1.bias", "layer3_2d.2.bn1.running_mean", "layer3_2d.2.bn1.running_var", "layer3_2d.2.conv2.weight", "layer3_2d.2.bn2.weight", "layer3_2d.2.bn2.bias", "layer3_2d.2.bn2.running_mean", "layer3_2d.2.bn2.running_var", "layer3_2d.3.conv1.weight", "layer3_2d.3.bn1.weight", "layer3_2d.3.bn1.bias", "layer3_2d.3.bn1.running_mean", "layer3_2d.3.bn1.running_var", "layer3_2d.3.conv2.weight", "layer3_2d.3.bn2.weight", "layer3_2d.3.bn2.bias", "layer3_2d.3.bn2.running_mean", "layer3_2d.3.bn2.running_var", "layer3_2d.4.conv1.weight", "layer3_2d.4.bn1.weight", "layer3_2d.4.bn1.bias", "layer3_2d.4.bn1.running_mean", "layer3_2d.4.bn1.running_var", "layer3_2d.4.conv2.weight", "layer3_2d.4.bn2.weight", "layer3_2d.4.bn2.bias", "layer3_2d.4.bn2.running_mean", "layer3_2d.4.bn2.running_var", "layer3_2d.5.conv1.weight", "layer3_2d.5.bn1.weight", "layer3_2d.5.bn1.bias", "layer3_2d.5.bn1.running_mean", "layer3_2d.5.bn1.running_var", "layer3_2d.5.conv2.weight", "layer3_2d.5.bn2.weight", "layer3_2d.5.bn2.bias", "layer3_2d.5.bn2.running_mean", "layer3_2d.5.bn2.running_var", "layer4_2d.0.conv1.weight", "layer4_2d.0.bn1.weight", "layer4_2d.0.bn1.bias", "layer4_2d.0.bn1.running_mean", "layer4_2d.0.bn1.running_var", "layer4_2d.0.conv2.weight", "layer4_2d.0.bn2.weight", "layer4_2d.0.bn2.bias", "layer4_2d.0.bn2.running_mean", "layer4_2d.0.bn2.running_var", "layer4_2d.0.downsample.0.weight", "layer4_2d.0.downsample.1.weight", "layer4_2d.0.downsample.1.bias", "layer4_2d.0.downsample.1.running_mean", "layer4_2d.0.downsample.1.running_var", "layer4_2d.1.conv1.weight", "layer4_2d.1.bn1.weight", "layer4_2d.1.bn1.bias", "layer4_2d.1.bn1.running_mean", "layer4_2d.1.bn1.running_var", "layer4_2d.1.conv2.weight", "layer4_2d.1.bn2.weight", "layer4_2d.1.bn2.bias", "layer4_2d.1.bn2.running_mean", "layer4_2d.1.bn2.running_var", "layer4_2d.2.conv1.weight", "layer4_2d.2.bn1.weight", "layer4_2d.2.bn1.bias", "layer4_2d.2.bn1.running_mean", "layer4_2d.2.bn1.running_var", "layer4_2d.2.conv2.weight", "layer4_2d.2.bn2.weight", "layer4_2d.2.bn2.bias", "layer4_2d.2.bn2.running_mean", "layer4_2d.2.bn2.running_var", "up4_2d.0.weight", "up4_2d.0.bias", "up4_2d.1.weight", "up4_2d.1.bias", "up4_2d.1.running_mean", "up4_2d.1.running_var", "delayer4_2d.0.conv1.weight", "delayer4_2d.0.bn1.weight", "delayer4_2d.0.bn1.bias", "delayer4_2d.0.bn1.running_mean", "delayer4_2d.0.bn1.running_var", "delayer4_2d.0.conv2.weight", "delayer4_2d.0.bn2.weight", "delayer4_2d.0.bn2.bias", "delayer4_2d.0.bn2.running_mean", "delayer4_2d.0.bn2.running_var", "delayer4_2d.0.downsample.0.weight", "delayer4_2d.0.downsample.1.weight", "delayer4_2d.0.downsample.1.bias", "delayer4_2d.0.downsample.1.running_mean", "delayer4_2d.0.downsample.1.running_var", "delayer4_2d.1.conv1.weight", "delayer4_2d.1.bn1.weight", "delayer4_2d.1.bn1.bias", "delayer4_2d.1.bn1.running_mean", "delayer4_2d.1.bn1.running_var", "delayer4_2d.1.conv2.weight", "delayer4_2d.1.bn2.weight", "delayer4_2d.1.bn2.bias", "delayer4_2d.1.bn2.running_mean", "delayer4_2d.1.bn2.running_var", "delayer4_2d.2.conv1.weight", "delayer4_2d.2.bn1.weight", "delayer4_2d.2.bn1.bias", "delayer4_2d.2.bn1.running_mean", "delayer4_2d.2.bn1.running_var", "delayer4_2d.2.conv2.weight", "delayer4_2d.2.bn2.weight", "delayer4_2d.2.bn2.bias", "delayer4_2d.2.bn2.running_mean", "delayer4_2d.2.bn2.running_var", "up3_2d.0.weight", "up3_2d.0.bias", "up3_2d.1.weight", "up3_2d.1.bias", "up3_2d.1.running_mean", "up3_2d.1.running_var", "delayer3_2d.0.conv1.weight", "delayer3_2d.0.bn1.weight", "delayer3_2d.0.bn1.bias", "delayer3_2d.0.bn1.running_mean", "delayer3_2d.0.bn1.running_var", "delayer3_2d.0.conv2.weight", "delayer3_2d.0.bn2.weight", "delayer3_2d.0.bn2.bias", "delayer3_2d.0.bn2.running_mean", "delayer3_2d.0.bn2.running_var", "delayer3_2d.0.downsample.0.weight", "delayer3_2d.0.downsample.1.weight", "delayer3_2d.0.downsample.1.bias", "delayer3_2d.0.downsample.1.running_mean", "delayer3_2d.0.downsample.1.running_var", "delayer3_2d.1.conv1.weight", "delayer3_2d.1.bn1.weight", "delayer3_2d.1.bn1.bias", "delayer3_2d.1.bn1.running_mean", "delayer3_2d.1.bn1.running_var", "delayer3_2d.1.conv2.weight", "delayer3_2d.1.bn2.weight", "delayer3_2d.1.bn2.bias", "delayer3_2d.1.bn2.running_mean", "delayer3_2d.1.bn2.running_var", "delayer3_2d.2.conv1.weight", "delayer3_2d.2.bn1.weight", "delayer3_2d.2.bn1.bias", "delayer3_2d.2.bn1.running_mean", "delayer3_2d.2.bn1.running_var", "delayer3_2d.2.conv2.weight", "delayer3_2d.2.bn2.weight", "delayer3_2d.2.bn2.bias", "delayer3_2d.2.bn2.running_mean", "delayer3_2d.2.bn2.running_var", "delayer3_2d.3.conv1.weight", "delayer3_2d.3.bn1.weight", "delayer3_2d.3.bn1.bias", "delayer3_2d.3.bn1.running_mean", "delayer3_2d.3.bn1.running_var", "delayer3_2d.3.conv2.weight", "delayer3_2d.3.bn2.weight", "delayer3_2d.3.bn2.bias", "delayer3_2d.3.bn2.running_mean", "delayer3_2d.3.bn2.running_var", "delayer3_2d.4.conv1.weight", "delayer3_2d.4.bn1.weight", "delayer3_2d.4.bn1.bias", "delayer3_2d.4.bn1.running_mean", "delayer3_2d.4.bn1.running_var", "delayer3_2d.4.conv2.weight", "delayer3_2d.4.bn2.weight", "delayer3_2d.4.bn2.bias", "delayer3_2d.4.bn2.running_mean", "delayer3_2d.4.bn2.running_var", "delayer3_2d.5.conv1.weight", "delayer3_2d.5.bn1.weight", "delayer3_2d.5.bn1.bias", "delayer3_2d.5.bn1.running_mean", "delayer3_2d.5.bn1.running_var", "delayer3_2d.5.conv2.weight", "delayer3_2d.5.bn2.weight", "delayer3_2d.5.bn2.bias", "delayer3_2d.5.bn2.running_mean", "delayer3_2d.5.bn2.running_var", "up2_2d.0.weight", "up2_2d.0.bias", "up2_2d.1.weight", "up2_2d.1.bias", "up2_2d.1.running_mean", "up2_2d.1.running_var", "delayer2_2d.0.conv1.weight", "delayer2_2d.0.bn1.weight", "delayer2_2d.0.bn1.bias", "delayer2_2d.0.bn1.running_mean", "delayer2_2d.0.bn1.running_var", "delayer2_2d.0.conv2.weight", "delayer2_2d.0.bn2.weight", "delayer2_2d.0.bn2.bias", "delayer2_2d.0.bn2.running_mean", "delayer2_2d.0.bn2.running_var", "delayer2_2d.0.downsample.0.weight", "delayer2_2d.0.downsample.1.weight", "delayer2_2d.0.downsample.1.bias", "delayer2_2d.0.downsample.1.running_mean", "delayer2_2d.0.downsample.1.running_var", "delayer2_2d.1.conv1.weight", "delayer2_2d.1.bn1.weight", "delayer2_2d.1.bn1.bias", "delayer2_2d.1.bn1.running_mean", "delayer2_2d.1.bn1.running_var", "delayer2_2d.1.conv2.weight", "delayer2_2d.1.bn2.weight", "delayer2_2d.1.bn2.bias", "delayer2_2d.1.bn2.running_mean", "delayer2_2d.1.bn2.running_var", "delayer2_2d.2.conv1.weight", "delayer2_2d.2.bn1.weight", "delayer2_2d.2.bn1.bias", "delayer2_2d.2.bn1.running_mean", "delayer2_2d.2.bn1.running_var", "delayer2_2d.2.conv2.weight", "delayer2_2d.2.bn2.weight", "delayer2_2d.2.bn2.bias", "delayer2_2d.2.bn2.running_mean", "delayer2_2d.2.bn2.running_var", "delayer2_2d.3.conv1.weight", "delayer2_2d.3.bn1.weight", "delayer2_2d.3.bn1.bias", "delayer2_2d.3.bn1.running_mean", "delayer2_2d.3.bn1.running_var", "delayer2_2d.3.conv2.weight", "delayer2_2d.3.bn2.weight", "delayer2_2d.3.bn2.bias", "delayer2_2d.3.bn2.running_mean", "delayer2_2d.3.bn2.running_var", "cls_2d.0.weight", "cls_2d.1.weight", "cls_2d.1.bias", "cls_2d.1.running_mean", "cls_2d.1.running_var", "cls_2d.3.weight", "cls_2d.3.bias", "layer0_3d.0.kernel", "layer0_3d.1.bn.weight", "layer0_3d.1.bn.bias", "layer0_3d.1.bn.running_mean", "layer0_3d.1.bn.running_var", "layer1_3d.0.kernel", "layer1_3d.1.bn.weight", "layer1_3d.1.bn.bias", "layer1_3d.1.bn.running_mean", "layer1_3d.1.bn.running_var", "layer1_3d.3.0.conv1.kernel", "layer1_3d.3.0.norm1.bn.weight", "layer1_3d.3.0.norm1.bn.bias", "layer1_3d.3.0.norm1.bn.running_mean", "layer1_3d.3.0.norm1.bn.running_var", "layer1_3d.3.0.conv2.kernel", "layer1_3d.3.0.norm2.bn.weight", "layer1_3d.3.0.norm2.bn.bias", "layer1_3d.3.0.norm2.bn.running_mean", "layer1_3d.3.0.norm2.bn.running_var", "layer1_3d.3.1.conv1.kernel", "layer1_3d.3.1.norm1.bn.weight", "layer1_3d.3.1.norm1.bn.bias", "layer1_3d.3.1.norm1.bn.running_mean", "layer1_3d.3.1.norm1.bn.running_var", "layer1_3d.3.1.conv2.kernel", "layer1_3d.3.1.norm2.bn.weight", "layer1_3d.3.1.norm2.bn.bias", "layer1_3d.3.1.norm2.bn.running_mean", "layer1_3d.3.1.norm2.bn.running_var", "layer2_3d.0.kernel", "layer2_3d.1.bn.weight", "layer2_3d.1.bn.bias", "layer2_3d.1.bn.running_mean", "layer2_3d.1.bn.running_var", "layer2_3d.3.0.conv1.kernel", "layer2_3d.3.0.norm1.bn.weight", "layer2_3d.3.0.norm1.bn.bias", "layer2_3d.3.0.norm1.bn.running_mean", "layer2_3d.3.0.norm1.bn.running_var", "layer2_3d.3.0.conv2.kernel", "layer2_3d.3.0.norm2.bn.weight", "layer2_3d.3.0.norm2.bn.bias", "layer2_3d.3.0.norm2.bn.running_mean", "layer2_3d.3.0.norm2.bn.running_var", "layer2_3d.3.0.downsample.0.kernel", "layer2_3d.3.0.downsample.1.bn.weight", "layer2_3d.3.0.downsample.1.bn.bias", "layer2_3d.3.0.downsample.1.bn.running_mean", "layer2_3d.3.0.downsample.1.bn.running_var", "layer2_3d.3.1.conv1.kernel", "layer2_3d.3.1.norm1.bn.weight", "layer2_3d.3.1.norm1.bn.bias", "layer2_3d.3.1.norm1.bn.running_mean", "layer2_3d.3.1.norm1.bn.running_var", "layer2_3d.3.1.conv2.kernel", "layer2_3d.3.1.norm2.bn.weight", "layer2_3d.3.1.norm2.bn.bias", "layer2_3d.3.1.norm2.bn.running_mean", "layer2_3d.3.1.norm2.bn.running_var", "layer3_3d.0.kernel", "layer3_3d.1.bn.weight", "layer3_3d.1.bn.bias", "layer3_3d.1.bn.running_mean", "layer3_3d.1.bn.running_var", "layer3_3d.3.0.conv1.kernel", "layer3_3d.3.0.norm1.bn.weight", "layer3_3d.3.0.norm1.bn.bias", "layer3_3d.3.0.norm1.bn.running_mean", "layer3_3d.3.0.norm1.bn.running_var", "layer3_3d.3.0.conv2.kernel", "layer3_3d.3.0.norm2.bn.weight", "layer3_3d.3.0.norm2.bn.bias", "layer3_3d.3.0.norm2.bn.running_mean", "layer3_3d.3.0.norm2.bn.running_var", "layer3_3d.3.0.downsample.0.kernel", "layer3_3d.3.0.downsample.1.bn.weight", "layer3_3d.3.0.downsample.1.bn.bias", "layer3_3d.3.0.downsample.1.bn.running_mean", "layer3_3d.3.0.downsample.1.bn.running_var", "layer3_3d.3.1.conv1.kernel", "layer3_3d.3.1.norm1.bn.weight", "layer3_3d.3.1.norm1.bn.bias", "layer3_3d.3.1.norm1.bn.running_mean", "layer3_3d.3.1.norm1.bn.running_var", "layer3_3d.3.1.conv2.kernel", "layer3_3d.3.1.norm2.bn.weight", "layer3_3d.3.1.norm2.bn.bias", "layer3_3d.3.1.norm2.bn.running_mean", "layer3_3d.3.1.norm2.bn.running_var", "layer4_3d.0.kernel", "layer4_3d.1.bn.weight", "layer4_3d.1.bn.bias", "layer4_3d.1.bn.running_mean", "layer4_3d.1.bn.running_var", "layer4_3d.3.0.conv1.kernel", "layer4_3d.3.0.norm1.bn.weight", "layer4_3d.3.0.norm1.bn.bias", "layer4_3d.3.0.norm1.bn.running_mean", "layer4_3d.3.0.norm1.bn.running_var", "layer4_3d.3.0.conv2.kernel", "layer4_3d.3.0.norm2.bn.weight", "layer4_3d.3.0.norm2.bn.bias", "layer4_3d.3.0.norm2.bn.running_mean", "layer4_3d.3.0.norm2.bn.running_var", "layer4_3d.3.0.downsample.0.kernel", "layer4_3d.3.0.downsample.1.bn.weight", "layer4_3d.3.0.downsample.1.bn.bias", "layer4_3d.3.0.downsample.1.bn.running_mean", "layer4_3d.3.0.downsample.1.bn.running_var", "layer4_3d.3.1.conv1.kernel", "layer4_3d.3.1.norm1.bn.weight", "layer4_3d.3.1.norm1.bn.bias", "layer4_3d.3.1.norm1.bn.running_mean", "layer4_3d.3.1.norm1.bn.running_var", "layer4_3d.3.1.conv2.kernel", "layer4_3d.3.1.norm2.bn.weight", "layer4_3d.3.1.norm2.bn.bias", "layer4_3d.3.1.norm2.bn.running_mean", "layer4_3d.3.1.norm2.bn.running_var", "layer5_3d.0.kernel", "layer5_3d.1.bn.weight", "layer5_3d.1.bn.bias", "layer5_3d.1.bn.running_mean", "layer5_3d.1.bn.running_var", "layer6_3d.0.0.conv1.kernel", "layer6_3d.0.0.norm1.bn.weight", "layer6_3d.0.0.norm1.bn.bias", "layer6_3d.0.0.norm1.bn.running_mean", "layer6_3d.0.0.norm1.bn.running_var", "layer6_3d.0.0.conv2.kernel", "layer6_3d.0.0.norm2.bn.weight", "layer6_3d.0.0.norm2.bn.bias", "layer6_3d.0.0.norm2.bn.running_mean", "layer6_3d.0.0.norm2.bn.running_var", "layer6_3d.0.0.downsample.0.kernel", "layer6_3d.0.0.downsample.1.bn.weight", "layer6_3d.0.0.downsample.1.bn.bias", "layer6_3d.0.0.downsample.1.bn.running_mean", "layer6_3d.0.0.downsample.1.bn.running_var", "layer6_3d.0.1.conv1.kernel", "layer6_3d.0.1.norm1.bn.weight", "layer6_3d.0.1.norm1.bn.bias", "layer6_3d.0.1.norm1.bn.running_mean", "layer6_3d.0.1.norm1.bn.running_var", "layer6_3d.0.1.conv2.kernel", "layer6_3d.0.1.norm2.bn.weight", "layer6_3d.0.1.norm2.bn.bias", "layer6_3d.0.1.norm2.bn.running_mean", "layer6_3d.0.1.norm2.bn.running_var", "layer6_3d.1.kernel", "layer6_3d.2.bn.weight", "layer6_3d.2.bn.bias", "layer6_3d.2.bn.running_mean", "layer6_3d.2.bn.running_var", "layer7_3d.0.0.conv1.kernel", "layer7_3d.0.0.norm1.bn.weight", "layer7_3d.0.0.norm1.bn.bias", "layer7_3d.0.0.norm1.bn.running_mean", "layer7_3d.0.0.norm1.bn.running_var", "layer7_3d.0.0.conv2.kernel", "layer7_3d.0.0.norm2.bn.weight", "layer7_3d.0.0.norm2.bn.bias", "layer7_3d.0.0.norm2.bn.running_mean", "layer7_3d.0.0.norm2.bn.running_var", "layer7_3d.0.0.downsample.0.kernel", "layer7_3d.0.0.downsample.1.bn.weight", "layer7_3d.0.0.downsample.1.bn.bias", "layer7_3d.0.0.downsample.1.bn.running_mean", "layer7_3d.0.0.downsample.1.bn.running_var", "layer7_3d.0.1.conv1.kernel", "layer7_3d.0.1.norm1.bn.weight", "layer7_3d.0.1.norm1.bn.bias", "layer7_3d.0.1.norm1.bn.running_mean", "layer7_3d.0.1.norm1.bn.running_var", "layer7_3d.0.1.conv2.kernel", "layer7_3d.0.1.norm2.bn.weight", "layer7_3d.0.1.norm2.bn.bias", "layer7_3d.0.1.norm2.bn.running_mean", "layer7_3d.0.1.norm2.bn.running_var", "layer7_3d.1.kernel", "layer7_3d.2.bn.weight", "layer7_3d.2.bn.bias", "layer7_3d.2.bn.running_mean", "layer7_3d.2.bn.running_var", "layer8_3d.0.0.conv1.kernel", "layer8_3d.0.0.norm1.bn.weight", "layer8_3d.0.0.norm1.bn.bias", "layer8_3d.0.0.norm1.bn.running_mean", "layer8_3d.0.0.norm1.bn.running_var", "layer8_3d.0.0.conv2.kernel", "layer8_3d.0.0.norm2.bn.weight", "layer8_3d.0.0.norm2.bn.bias", "layer8_3d.0.0.norm2.bn.running_mean", "layer8_3d.0.0.norm2.bn.running_var", "layer8_3d.0.0.downsample.0.kernel", "layer8_3d.0.0.downsample.1.bn.weight", "layer8_3d.0.0.downsample.1.bn.bias", "layer8_3d.0.0.downsample.1.bn.running_mean", "layer8_3d.0.0.downsample.1.bn.running_var", "layer8_3d.0.1.conv1.kernel", "layer8_3d.0.1.norm1.bn.weight", "layer8_3d.0.1.norm1.bn.bias", "layer8_3d.0.1.norm1.bn.running_mean", "layer8_3d.0.1.norm1.bn.running_var", "layer8_3d.0.1.conv2.kernel", "layer8_3d.0.1.norm2.bn.weight", "layer8_3d.0.1.norm2.bn.bias", "layer8_3d.0.1.norm2.bn.running_mean", "layer8_3d.0.1.norm2.bn.running_var", "layer8_3d.1.kernel", "layer8_3d.2.bn.weight", "layer8_3d.2.bn.bias", "layer8_3d.2.bn.running_mean", "layer8_3d.2.bn.running_var", "layer9_3d.0.conv1.kernel", "layer9_3d.0.norm1.bn.weight", "layer9_3d.0.norm1.bn.bias", "layer9_3d.0.norm1.bn.running_mean", "layer9_3d.0.norm1.bn.running_var", "layer9_3d.0.conv2.kernel", "layer9_3d.0.norm2.bn.weight", "layer9_3d.0.norm2.bn.bias", "layer9_3d.0.norm2.bn.running_mean", "layer9_3d.0.norm2.bn.running_var", "layer9_3d.0.downsample.0.kernel", "layer9_3d.0.downsample.1.bn.weight", "layer9_3d.0.downsample.1.bn.bias", "layer9_3d.0.downsample.1.bn.running_mean", "layer9_3d.0.downsample.1.bn.running_var", "layer9_3d.1.conv1.kernel", "layer9_3d.1.norm1.bn.weight", "layer9_3d.1.norm1.bn.bias", "layer9_3d.1.norm1.bn.running_mean", "layer9_3d.1.norm1.bn.running_var", "layer9_3d.1.conv2.kernel", "layer9_3d.1.norm2.bn.weight", "layer9_3d.1.norm2.bn.bias", "layer9_3d.1.norm2.bn.running_mean", "layer9_3d.1.norm2.bn.running_var", "cls_3d.kernel", "cls_3d.bias", "linker_p2.view_fusion.0.kernel", "linker_p2.view_fusion.1.bn.weight", "linker_p2.view_fusion.1.bn.bias", "linker_p2.view_fusion.1.bn.running_mean", "linker_p2.view_fusion.1.bn.running_var", "linker_p2.view_fusion.3.kernel", "linker_p2.view_fusion.4.bn.weight", "linker_p2.view_fusion.4.bn.bias", "linker_p2.view_fusion.4.bn.running_mean", "linker_p2.view_fusion.4.bn.running_var", "linker_p2.fuseTo3d.0.kernel", "linker_p2.fuseTo3d.1.bn.weight", "linker_p2.fuseTo3d.1.bn.bias", "linker_p2.fuseTo3d.1.bn.running_mean", "linker_p2.fuseTo3d.1.bn.running_var", "linker_p2.view_sep.0.kernel", "linker_p2.view_sep.1.bn.weight", "linker_p2.view_sep.1.bn.bias", "linker_p2.view_sep.1.bn.running_mean", "linker_p2.view_sep.1.bn.running_var", "linker_p2.fuseTo2d.0.weight", "linker_p2.fuseTo2d.1.weight", "linker_p2.fuseTo2d.1.bias", "linker_p2.fuseTo2d.1.running_mean", "linker_p2.fuseTo2d.1.running_var", "linker_p3.view_fusion.0.kernel", "linker_p3.view_fusion.1.bn.weight", "linker_p3.view_fusion.1.bn.bias", "linker_p3.view_fusion.1.bn.running_mean", "linker_p3.view_fusion.1.bn.running_var", "linker_p3.view_fusion.3.kernel", "linker_p3.view_fusion.4.bn.weight", "linker_p3.view_fusion.4.bn.bias", "linker_p3.view_fusion.4.bn.running_mean", "linker_p3.view_fusion.4.bn.running_var", "linker_p3.fuseTo3d.0.kernel", "linker_p3.fuseTo3d.1.bn.weight", "linker_p3.fuseTo3d.1.bn.bias", "linker_p3.fuseTo3d.1.bn.running_mean", "linker_p3.fuseTo3d.1.bn.running_var", "linker_p3.view_sep.0.kernel", "linker_p3.view_sep.1.bn.weight", "linker_p3.view_sep.1.bn.bias", "linker_p3.view_sep.1.bn.running_mean", "linker_p3.view_sep.1.bn.running_var", "linker_p3.fuseTo2d.0.weight", "linker_p3.fuseTo2d.1.weight", "linker_p3.fuseTo2d.1.bias", "linker_p3.fuseTo2d.1.running_mean", "linker_p3.fuseTo2d.1.running_var", "linker_p4.view_fusion.0.kernel", "linker_p4.view_fusion.1.bn.weight", "linker_p4.view_fusion.1.bn.bias", "linker_p4.view_fusion.1.bn.running_mean", "linker_p4.view_fusion.1.bn.running_var", "linker_p4.view_fusion.3.kernel", "linker_p4.view_fusion.4.bn.weight", "linker_p4.view_fusion.4.bn.bias", "linker_p4.view_fusion.4.bn.running_mean", "linker_p4.view_fusion.4.bn.running_var", "linker_p4.fuseTo3d.0.kernel", "linker_p4.fuseTo3d.1.bn.weight", "linker_p4.fuseTo3d.1.bn.bias", "linker_p4.fuseTo3d.1.bn.running_mean", "linker_p4.fuseTo3d.1.bn.running_var", "linker_p4.view_sep.0.kernel", "linker_p4.view_sep.1.bn.weight", "linker_p4.view_sep.1.bn.bias", "linker_p4.view_sep.1.bn.running_mean", "linker_p4.view_sep.1.bn.running_var", "linker_p4.fuseTo2d.0.weight", "linker_p4.fuseTo2d.1.weight", "linker_p4.fuseTo2d.1.bias", "linker_p4.fuseTo2d.1.running_mean", "linker_p4.fuseTo2d.1.running_var", "linker_p5.view_fusion.0.kernel", "linker_p5.view_fusion.1.bn.weight", "linker_p5.view_fusion.1.bn.bias", "linker_p5.view_fusion.1.bn.running_mean", "linker_p5.view_fusion.1.bn.running_var", "linker_p5.view_fusion.3.kernel", "linker_p5.view_fusion.4.bn.weight", "linker_p5.view_fusion.4.bn.bias", "linker_p5.view_fusion.4.bn.running_mean", "linker_p5.view_fusion.4.bn.running_var", "linker_p5.fuseTo3d.0.kernel", "linker_p5.fuseTo3d.1.bn.weight", "linker_p5.fuseTo3d.1.bn.bias", "linker_p5.fuseTo3d.1.bn.running_mean", "linker_p5.fuseTo3d.1.bn.running_var", "linker_p5.view_sep.0.kernel", "linker_p5.view_sep.1.bn.weight", "linker_p5.view_sep.1.bn.bias", "linker_p5.view_sep.1.bn.running_mean", "linker_p5.view_sep.1.bn.running_var", "linker_p5.fuseTo2d.0.weight", "linker_p5.fuseTo2d.1.weight", "linker_p5.fuseTo2d.1.bias", "linker_p5.fuseTo2d.1.running_mean", "linker_p5.fuseTo2d.1.running_var". 
            Unexpected key(s) in state_dict: "module.layer0_2d.0.weight", "module.layer0_2d.1.weight", "module.layer0_2d.1.bias", "module.layer0_2d.1.running_mean", "module.layer0_2d.1.running_var", "module.layer0_2d.1.num_batches_tracked", "module.layer1_2d.0.conv1.weight", "module.layer1_2d.0.bn1.weight", "module.layer1_2d.0.bn1.bias", "module.layer1_2d.0.bn1.running_mean", "module.layer1_2d.0.bn1.running_var", "module.layer1_2d.0.bn1.num_batches_tracked", "module.layer1_2d.0.conv2.weight", "module.layer1_2d.0.bn2.weight", "module.layer1_2d.0.bn2.bias", "module.layer1_2d.0.bn2.running_mean", "module.layer1_2d.0.bn2.running_var", "module.layer1_2d.0.bn2.num_batches_tracked", "module.layer1_2d.1.conv1.weight", "module.layer1_2d.1.bn1.weight", "module.layer1_2d.1.bn1.bias", "module.layer1_2d.1.bn1.running_mean", "module.layer1_2d.1.bn1.running_var", "module.layer1_2d.1.bn1.num_batches_tracked", "module.layer1_2d.1.conv2.weight", "module.layer1_2d.1.bn2.weight", "module.layer1_2d.1.bn2.bias", "module.layer1_2d.1.bn2.running_mean", "module.layer1_2d.1.bn2.running_var", "module.layer1_2d.1.bn2.num_batches_tracked", "module.layer1_2d.2.conv1.weight", "module.layer1_2d.2.bn1.weight", "module.layer1_2d.2.bn1.bias", "module.layer1_2d.2.bn1.running_mean", "module.layer1_2d.2.bn1.running_var", "module.layer1_2d.2.bn1.num_batches_tracked", "module.layer1_2d.2.conv2.weight", "module.layer1_2d.2.bn2.weight", "module.layer1_2d.2.bn2.bias", "module.layer1_2d.2.bn2.running_mean", "module.layer1_2d.2.bn2.running_var", "module.layer1_2d.2.bn2.num_batches_tracked", "module.layer2_2d.0.conv1.weight", "module.layer2_2d.0.bn1.weight", "module.layer2_2d.0.bn1.bias", "module.layer2_2d.0.bn1.running_mean", "module.layer2_2d.0.bn1.running_var", "module.layer2_2d.0.bn1.num_batches_tracked", "module.layer2_2d.0.conv2.weight", "module.layer2_2d.0.bn2.weight", "module.layer2_2d.0.bn2.bias", "module.layer2_2d.0.bn2.running_mean", "module.layer2_2d.0.bn2.running_var", "module.layer2_2d.0.bn2.num_batches_tracked", "module.layer2_2d.0.downsample.0.weight", "module.layer2_2d.0.downsample.1.weight", "module.layer2_2d.0.downsample.1.bias", "module.layer2_2d.0.downsample.1.running_mean", "module.layer2_2d.0.downsample.1.running_var", "module.layer2_2d.0.downsample.1.num_batches_tracked", "module.layer2_2d.1.conv1.weight", "module.layer2_2d.1.bn1.weight", "module.layer2_2d.1.bn1.bias", "module.layer2_2d.1.bn1.running_mean", "module.layer2_2d.1.bn1.running_var", "module.layer2_2d.1.bn1.num_batches_tracked", "module.layer2_2d.1.conv2.weight", "module.layer2_2d.1.bn2.weight", "module.layer2_2d.1.bn2.bias", "module.layer2_2d.1.bn2.running_mean", "module.layer2_2d.1.bn2.running_var", "module.layer2_2d.1.bn2.num_batches_tracked", "module.layer2_2d.2.conv1.weight", "module.layer2_2d.2.bn1.weight", "module.layer2_2d.2.bn1.bias", "module.layer2_2d.2.bn1.running_mean", "module.layer2_2d.2.bn1.running_var", "module.layer2_2d.2.bn1.num_batches_tracked", "module.layer2_2d.2.conv2.weight", "module.layer2_2d.2.bn2.weight", "module.layer2_2d.2.bn2.bias", "module.layer2_2d.2.bn2.running_mean", "module.layer2_2d.2.bn2.running_var", "module.layer2_2d.2.bn2.num_batches_tracked", "module.layer2_2d.3.conv1.weight", "module.layer2_2d.3.bn1.weight", "module.layer2_2d.3.bn1.bias", "module.layer2_2d.3.bn1.running_mean", "module.layer2_2d.3.bn1.running_var", "module.layer2_2d.3.bn1.num_batches_tracked", "module.layer2_2d.3.conv2.weight", "module.layer2_2d.3.bn2.weight", "module.layer2_2d.3.bn2.bias", "module.layer2_2d.3.bn2.running_mean", "module.layer2_2d.3.bn2.running_var", "module.layer2_2d.3.bn2.num_batches_tracked", "module.layer3_2d.0.conv1.weight", "module.layer3_2d.0.bn1.weight", "module.layer3_2d.0.bn1.bias", "module.layer3_2d.0.bn1.running_mean", "module.layer3_2d.0.bn1.running_var", "module.layer3_2d.0.bn1.num_batches_tracked", "module.layer3_2d.0.conv2.weight", "module.layer3_2d.0.bn2.weight", "module.layer3_2d.0.bn2.bias", "module.layer3_2d.0.bn2.running_mean", "module.layer3_2d.0.bn2.running_var", "module.layer3_2d.0.bn2.num_batches_tracked", "module.layer3_2d.0.downsample.0.weight", "module.layer3_2d.0.downsample.1.weight", "module.layer3_2d.0.downsample.1.bias", "module.layer3_2d.0.downsample.1.running_mean", "module.layer3_2d.0.downsample.1.running_var", "module.layer3_2d.0.downsample.1.num_batches_tracked", "module.layer3_2d.1.conv1.weight", "module.layer3_2d.1.bn1.weight", "module.layer3_2d.1.bn1.bias", "module.layer3_2d.1.bn1.running_mean", "module.layer3_2d.1.bn1.running_var", "module.layer3_2d.1.bn1.num_batches_tracked", "module.layer3_2d.1.conv2.weight", "module.layer3_2d.1.bn2.weight", "module.layer3_2d.1.bn2.bias", "module.layer3_2d.1.bn2.running_mean", "module.layer3_2d.1.bn2.running_var", "module.layer3_2d.1.bn2.num_batches_tracked", "module.layer3_2d.2.conv1.weight", "module.layer3_2d.2.bn1.weight", "module.layer3_2d.2.bn1.bias", "module.layer3_2d.2.bn1.running_mean", "module.layer3_2d.2.bn1.running_var", "module.layer3_2d.2.bn1.num_batches_tracked", "module.layer3_2d.2.conv2.weight", "module.layer3_2d.2.bn2.weight", "module.layer3_2d.2.bn2.bias", "module.layer3_2d.2.bn2.running_mean", "module.layer3_2d.2.bn2.running_var", "module.layer3_2d.2.bn2.num_batches_tracked", "module.layer3_2d.3.conv1.weight", "module.layer3_2d.3.bn1.weight", "module.layer3_2d.3.bn1.bias", "module.layer3_2d.3.bn1.running_mean", "module.layer3_2d.3.bn1.running_var", "module.layer3_2d.3.bn1.num_batches_tracked", "module.layer3_2d.3.conv2.weight", "module.layer3_2d.3.bn2.weight", "module.layer3_2d.3.bn2.bias", "module.layer3_2d.3.bn2.running_mean", "module.layer3_2d.3.bn2.running_var", "module.layer3_2d.3.bn2.num_batches_tracked", "module.layer3_2d.4.conv1.weight", "module.layer3_2d.4.bn1.weight", "module.layer3_2d.4.bn1.bias", "module.layer3_2d.4.bn1.running_mean", "module.layer3_2d.4.bn1.running_var", "module.layer3_2d.4.bn1.num_batches_tracked", "module.layer3_2d.4.conv2.weight", "module.layer3_2d.4.bn2.weight", "module.layer3_2d.4.bn2.bias", "module.layer3_2d.4.bn2.running_mean", "module.layer3_2d.4.bn2.running_var", "module.layer3_2d.4.bn2.num_batches_tracked", "module.layer3_2d.5.conv1.weight", "module.layer3_2d.5.bn1.weight", "module.layer3_2d.5.bn1.bias", "module.layer3_2d.5.bn1.running_mean", "module.layer3_2d.5.bn1.running_var", "module.layer3_2d.5.bn1.num_batches_tracked", "module.layer3_2d.5.conv2.weight", "module.layer3_2d.5.bn2.weight", "module.layer3_2d.5.bn2.bias", "module.layer3_2d.5.bn2.running_mean", "module.layer3_2d.5.bn2.running_var", "module.layer3_2d.5.bn2.num_batches_tracked", "module.layer4_2d.0.conv1.weight", "module.layer4_2d.0.bn1.weight", "module.layer4_2d.0.bn1.bias", "module.layer4_2d.0.bn1.running_mean", "module.layer4_2d.0.bn1.running_var", "module.layer4_2d.0.bn1.num_batches_tracked", "module.layer4_2d.0.conv2.weight", "module.layer4_2d.0.bn2.weight", "module.layer4_2d.0.bn2.bias", "module.layer4_2d.0.bn2.running_mean", "module.layer4_2d.0.bn2.running_var", "module.layer4_2d.0.bn2.num_batches_tracked", "module.layer4_2d.0.downsample.0.weight", "module.layer4_2d.0.downsample.1.weight", "module.layer4_2d.0.downsample.1.bias", "module.layer4_2d.0.downsample.1.running_mean", "module.layer4_2d.0.downsample.1.running_var", "module.layer4_2d.0.downsample.1.num_batches_tracked", "module.layer4_2d.1.conv1.weight", "module.layer4_2d.1.bn1.weight", "module.layer4_2d.1.bn1.bias", "module.layer4_2d.1.bn1.running_mean", "module.layer4_2d.1.bn1.running_var", "module.layer4_2d.1.bn1.num_batches_tracked", "module.layer4_2d.1.conv2.weight", "module.layer4_2d.1.bn2.weight", "module.layer4_2d.1.bn2.bias", "module.layer4_2d.1.bn2.running_mean", "module.layer4_2d.1.bn2.running_var", "module.layer4_2d.1.bn2.num_batches_tracked", "module.layer4_2d.2.conv1.weight", "module.layer4_2d.2.bn1.weight", "module.layer4_2d.2.bn1.bias", "module.layer4_2d.2.bn1.running_mean", "module.layer4_2d.2.bn1.running_var", "module.layer4_2d.2.bn1.num_batches_tracked", "module.layer4_2d.2.conv2.weight", "module.layer4_2d.2.bn2.weight", "module.layer4_2d.2.bn2.bias", "module.layer4_2d.2.bn2.running_mean", "module.layer4_2d.2.bn2.running_var", "module.layer4_2d.2.bn2.num_batches_tracked", "module.up4_2d.0.weight", "module.up4_2d.0.bias", "module.up4_2d.1.weight", "module.up4_2d.1.bias", "module.up4_2d.1.running_mean", "module.up4_2d.1.running_var", "module.up4_2d.1.num_batches_tracked", "module.delayer4_2d.0.conv1.weight", "module.delayer4_2d.0.bn1.weight", "module.delayer4_2d.0.bn1.bias", "module.delayer4_2d.0.bn1.running_mean", "module.delayer4_2d.0.bn1.running_var", "module.delayer4_2d.0.bn1.num_batches_tracked", "module.delayer4_2d.0.conv2.weight", "module.delayer4_2d.0.bn2.weight", "module.delayer4_2d.0.bn2.bias", "module.delayer4_2d.0.bn2.running_mean", "module.delayer4_2d.0.bn2.running_var", "module.delayer4_2d.0.bn2.num_batches_tracked", "module.delayer4_2d.0.downsample.0.weight", "module.delayer4_2d.0.downsample.1.weight", "module.delayer4_2d.0.downsample.1.bias", "module.delayer4_2d.0.downsample.1.running_mean", "module.delayer4_2d.0.downsample.1.running_var", "module.delayer4_2d.0.downsample.1.num_batches_tracked", "module.delayer4_2d.1.conv1.weight", "module.delayer4_2d.1.bn1.weight", "module.delayer4_2d.1.bn1.bias", "module.delayer4_2d.1.bn1.running_mean", "module.delayer4_2d.1.bn1.running_var", "module.delayer4_2d.1.bn1.num_batches_tracked", "module.delayer4_2d.1.conv2.weight", "module.delayer4_2d.1.bn2.weight", "module.delayer4_2d.1.bn2.bias", "module.delayer4_2d.1.bn2.running_mean", "module.delayer4_2d.1.bn2.running_var", "module.delayer4_2d.1.bn2.num_batches_tracked", "module.delayer4_2d.2.conv1.weight", "module.delayer4_2d.2.bn1.weight", "module.delayer4_2d.2.bn1.bias", "module.delayer4_2d.2.bn1.running_mean", "module.delayer4_2d.2.bn1.running_var", "module.delayer4_2d.2.bn1.num_batches_tracked", "module.delayer4_2d.2.conv2.weight", "module.delayer4_2d.2.bn2.weight", "module.delayer4_2d.2.bn2.bias", "module.delayer4_2d.2.bn2.running_mean", "module.delayer4_2d.2.bn2.running_var", "module.delayer4_2d.2.bn2.num_batches_tracked", "module.up3_2d.0.weight", "module.up3_2d.0.bias", "module.up3_2d.1.weight", "module.up3_2d.1.bias", "module.up3_2d.1.running_mean", "module.up3_2d.1.running_var", "module.up3_2d.1.num_batches_tracked", "module.delayer3_2d.0.conv1.weight", "module.delayer3_2d.0.bn1.weight", "module.delayer3_2d.0.bn1.bias", "module.delayer3_2d.0.bn1.running_mean", "module.delayer3_2d.0.bn1.running_var", "module.delayer3_2d.0.bn1.num_batches_tracked", "module.delayer3_2d.0.conv2.weight", "module.delayer3_2d.0.bn2.weight", "module.delayer3_2d.0.bn2.bias", "module.delayer3_2d.0.bn2.running_mean", "module.delayer3_2d.0.bn2.running_var", "module.delayer3_2d.0.bn2.num_batches_tracked", "module.delayer3_2d.0.downsample.0.weight", "module.delayer3_2d.0.downsample.1.weight", "module.delayer3_2d.0.downsample.1.bias", "module.delayer3_2d.0.downsample.1.running_mean", "module.delayer3_2d.0.downsample.1.running_var", "module.delayer3_2d.0.downsample.1.num_batches_tracked", "module.delayer3_2d.1.conv1.weight", "module.delayer3_2d.1.bn1.weight", "module.delayer3_2d.1.bn1.bias", "module.delayer3_2d.1.bn1.running_mean", "module.delayer3_2d.1.bn1.running_var", "module.delayer3_2d.1.bn1.num_batches_tracked", "module.delayer3_2d.1.conv2.weight", "module.delayer3_2d.1.bn2.weight", "module.delayer3_2d.1.bn2.bias", "module.delayer3_2d.1.bn2.running_mean", "module.delayer3_2d.1.bn2.running_var", "module.delayer3_2d.1.bn2.num_batches_tracked", "module.delayer3_2d.2.conv1.weight", "module.delayer3_2d.2.bn1.weight", "module.delayer3_2d.2.bn1.bias", "module.delayer3_2d.2.bn1.running_mean", "module.delayer3_2d.2.bn1.running_var", "module.delayer3_2d.2.bn1.num_batches_tracked", "module.delayer3_2d.2.conv2.weight", "module.delayer3_2d.2.bn2.weight", "module.delayer3_2d.2.bn2.bias", "module.delayer3_2d.2.bn2.running_mean", "module.delayer3_2d.2.bn2.running_var", "module.delayer3_2d.2.bn2.num_batches_tracked", "module.delayer3_2d.3.conv1.weight", "module.delayer3_2d.3.bn1.weight", "module.delayer3_2d.3.bn1.bias", "module.delayer3_2d.3.bn1.running_mean", "module.delayer3_2d.3.bn1.running_var", "module.delayer3_2d.3.bn1.num_batches_tracked", "module.delayer3_2d.3.conv2.weight", "module.delayer3_2d.3.bn2.weight", "module.delayer3_2d.3.bn2.bias", "module.delayer3_2d.3.bn2.running_mean", "module.delayer3_2d.3.bn2.running_var", "module.delayer3_2d.3.bn2.num_batches_tracked", "module.delayer3_2d.4.conv1.weight", "module.delayer3_2d.4.bn1.weight", "module.delayer3_2d.4.bn1.bias", "module.delayer3_2d.4.bn1.running_mean", "module.delayer3_2d.4.bn1.running_var", "module.delayer3_2d.4.bn1.num_batches_tracked", "module.delayer3_2d.4.conv2.weight", "module.delayer3_2d.4.bn2.weight", "module.delayer3_2d.4.bn2.bias", "module.delayer3_2d.4.bn2.running_mean", "module.delayer3_2d.4.bn2.running_var", "module.delayer3_2d.4.bn2.num_batches_tracked", "module.delayer3_2d.5.conv1.weight", "module.delayer3_2d.5.bn1.weight", "module.delayer3_2d.5.bn1.bias", "module.delayer3_2d.5.bn1.running_mean", "module.delayer3_2d.5.bn1.running_var", "module.delayer3_2d.5.bn1.num_batches_tracked", "module.delayer3_2d.5.conv2.weight", "module.delayer3_2d.5.bn2.weight", "module.delayer3_2d.5.bn2.bias", "module.delayer3_2d.5.bn2.running_mean", "module.delayer3_2d.5.bn2.running_var", "module.delayer3_2d.5.bn2.num_batches_tracked", "module.up2_2d.0.weight", "module.up2_2d.0.bias", "module.up2_2d.1.weight", "module.up2_2d.1.bias", "module.up2_2d.1.running_mean", "module.up2_2d.1.running_var", "module.up2_2d.1.num_batches_tracked", "module.delayer2_2d.0.conv1.weight", "module.delayer2_2d.0.bn1.weight", "module.delayer2_2d.0.bn1.bias", "module.delayer2_2d.0.bn1.running_mean", "module.delayer2_2d.0.bn1.running_var", "module.delayer2_2d.0.bn1.num_batches_tracked", "module.delayer2_2d.0.conv2.weight", "module.delayer2_2d.0.bn2.weight", "module.delayer2_2d.0.bn2.bias", "module.delayer2_2d.0.bn2.running_mean", "module.delayer2_2d.0.bn2.running_var", "module.delayer2_2d.0.bn2.num_batches_tracked", "module.delayer2_2d.0.downsample.0.weight", "module.delayer2_2d.0.downsample.1.weight", "module.delayer2_2d.0.downsample.1.bias", "module.delayer2_2d.0.downsample.1.running_mean", "module.delayer2_2d.0.downsample.1.running_var", "module.delayer2_2d.0.downsample.1.num_batches_tracked", "module.delayer2_2d.1.conv1.weight", "module.delayer2_2d.1.bn1.weight", "module.delayer2_2d.1.bn1.bias", "module.delayer2_2d.1.bn1.running_mean", "module.delayer2_2d.1.bn1.running_var", "module.delayer2_2d.1.bn1.num_batches_tracked", "module.delayer2_2d.1.conv2.weight", "module.delayer2_2d.1.bn2.weight", "module.delayer2_2d.1.bn2.bias", "module.delayer2_2d.1.bn2.running_mean", "module.delayer2_2d.1.bn2.running_var", "module.delayer2_2d.1.bn2.num_batches_tracked", "module.delayer2_2d.2.conv1.weight", "module.delayer2_2d.2.bn1.weight", "module.delayer2_2d.2.bn1.bias", "module.delayer2_2d.2.bn1.running_mean", "module.delayer2_2d.2.bn1.running_var", "module.delayer2_2d.2.bn1.num_batches_tracked", "module.delayer2_2d.2.conv2.weight", "module.delayer2_2d.2.bn2.weight", "module.delayer2_2d.2.bn2.bias", "module.delayer2_2d.2.bn2.running_mean", "module.delayer2_2d.2.bn2.running_var", "module.delayer2_2d.2.bn2.num_batches_tracked", "module.delayer2_2d.3.conv1.weight", "module.delayer2_2d.3.bn1.weight", "module.delayer2_2d.3.bn1.bias", "module.delayer2_2d.3.bn1.running_mean", "module.delayer2_2d.3.bn1.running_var", "module.delayer2_2d.3.bn1.num_batches_tracked", "module.delayer2_2d.3.conv2.weight", "module.delayer2_2d.3.bn2.weight", "module.delayer2_2d.3.bn2.bias", "module.delayer2_2d.3.bn2.running_mean", "module.delayer2_2d.3.bn2.running_var", "module.delayer2_2d.3.bn2.num_batches_tracked", "module.cls_2d.0.weight", "module.cls_2d.1.weight", "module.cls_2d.1.bias", "module.cls_2d.1.running_mean", "module.cls_2d.1.running_var", "module.cls_2d.1.num_batches_tracked", "module.cls_2d.3.weight", "module.cls_2d.3.bias", "module.layer0_3d.0.kernel", "module.layer0_3d.1.bn.weight", "module.layer0_3d.1.bn.bias", "module.layer0_3d.1.bn.running_mean", "module.layer0_3d.1.bn.running_var", "module.layer0_3d.1.bn.num_batches_tracked", "module.layer1_3d.0.kernel", "module.layer1_3d.1.bn.weight", "module.layer1_3d.1.bn.bias", "module.layer1_3d.1.bn.running_mean", "module.layer1_3d.1.bn.running_var", "module.layer1_3d.1.bn.num_batches_tracked", "module.layer1_3d.3.0.conv1.kernel", "module.layer1_3d.3.0.norm1.bn.weight", "module.layer1_3d.3.0.norm1.bn.bias", "module.layer1_3d.3.0.norm1.bn.running_mean", "module.layer1_3d.3.0.norm1.bn.running_var", "module.layer1_3d.3.0.norm1.bn.num_batches_tracked", "module.layer1_3d.3.0.conv2.kernel", "module.layer1_3d.3.0.norm2.bn.weight", "module.layer1_3d.3.0.norm2.bn.bias", "module.layer1_3d.3.0.norm2.bn.running_mean", "module.layer1_3d.3.0.norm2.bn.running_var", "module.layer1_3d.3.0.norm2.bn.num_batches_tracked", "module.layer1_3d.3.1.conv1.kernel", "module.layer1_3d.3.1.norm1.bn.weight", "module.layer1_3d.3.1.norm1.bn.bias", "module.layer1_3d.3.1.norm1.bn.running_mean", "module.layer1_3d.3.1.norm1.bn.running_var", "module.layer1_3d.3.1.norm1.bn.num_batches_tracked", "module.layer1_3d.3.1.conv2.kernel", "module.layer1_3d.3.1.norm2.bn.weight", "module.layer1_3d.3.1.norm2.bn.bias", "module.layer1_3d.3.1.norm2.bn.running_mean", "module.layer1_3d.3.1.norm2.bn.running_var", "module.layer1_3d.3.1.norm2.bn.num_batches_tracked", "module.layer2_3d.0.kernel", "module.layer2_3d.1.bn.weight", "module.layer2_3d.1.bn.bias", "module.layer2_3d.1.bn.running_mean", "module.layer2_3d.1.bn.running_var", "module.layer2_3d.1.bn.num_batches_tracked", "module.layer2_3d.3.0.conv1.kernel", "module.layer2_3d.3.0.norm1.bn.weight", "module.layer2_3d.3.0.norm1.bn.bias", "module.layer2_3d.3.0.norm1.bn.running_mean", "module.layer2_3d.3.0.norm1.bn.running_var", "module.layer2_3d.3.0.norm1.bn.num_batches_tracked", "module.layer2_3d.3.0.conv2.kernel", "module.layer2_3d.3.0.norm2.bn.weight", "module.layer2_3d.3.0.norm2.bn.bias", "module.layer2_3d.3.0.norm2.bn.running_mean", "module.layer2_3d.3.0.norm2.bn.running_var", "module.layer2_3d.3.0.norm2.bn.num_batches_tracked", "module.layer2_3d.3.0.downsample.0.kernel", "module.layer2_3d.3.0.downsample.1.bn.weight", "module.layer2_3d.3.0.downsample.1.bn.bias", "module.layer2_3d.3.0.downsample.1.bn.running_mean", "module.layer2_3d.3.0.downsample.1.bn.running_var", "module.layer2_3d.3.0.downsample.1.bn.num_batches_tracked", "module.layer2_3d.3.1.conv1.kernel", "module.layer2_3d.3.1.norm1.bn.weight", "module.layer2_3d.3.1.norm1.bn.bias", "module.layer2_3d.3.1.norm1.bn.running_mean", "module.layer2_3d.3.1.norm1.bn.running_var", "module.layer2_3d.3.1.norm1.bn.num_batches_tracked", "module.layer2_3d.3.1.conv2.kernel", "module.layer2_3d.3.1.norm2.bn.weight", "module.layer2_3d.3.1.norm2.bn.bias", "module.layer2_3d.3.1.norm2.bn.running_mean", "module.layer2_3d.3.1.norm2.bn.running_var", "module.layer2_3d.3.1.norm2.bn.num_batches_tracked", "module.layer3_3d.0.kernel", "module.layer3_3d.1.bn.weight", "module.layer3_3d.1.bn.bias", "module.layer3_3d.1.bn.running_mean", "module.layer3_3d.1.bn.running_var", "module.layer3_3d.1.bn.num_batches_tracked", "module.layer3_3d.3.0.conv1.kernel", "module.layer3_3d.3.0.norm1.bn.weight", "module.layer3_3d.3.0.norm1.bn.bias", "module.layer3_3d.3.0.norm1.bn.running_mean", "module.layer3_3d.3.0.norm1.bn.running_var", "module.layer3_3d.3.0.norm1.bn.num_batches_tracked", "module.layer3_3d.3.0.conv2.kernel", "module.layer3_3d.3.0.norm2.bn.weight", "module.layer3_3d.3.0.norm2.bn.bias", "module.layer3_3d.3.0.norm2.bn.running_mean", "module.layer3_3d.3.0.norm2.bn.running_var", "module.layer3_3d.3.0.norm2.bn.num_batches_tracked", "module.layer3_3d.3.0.downsample.0.kernel", "module.layer3_3d.3.0.downsample.1.bn.weight", "module.layer3_3d.3.0.downsample.1.bn.bias", "module.layer3_3d.3.0.downsample.1.bn.running_mean", "module.layer3_3d.3.0.downsample.1.bn.running_var", "module.layer3_3d.3.0.downsample.1.bn.num_batches_tracked", "module.layer3_3d.3.1.conv1.kernel", "module.layer3_3d.3.1.norm1.bn.weight", "module.layer3_3d.3.1.norm1.bn.bias", "module.layer3_3d.3.1.norm1.bn.running_mean", "module.layer3_3d.3.1.norm1.bn.running_var", "module.layer3_3d.3.1.norm1.bn.num_batches_tracked", "module.layer3_3d.3.1.conv2.kernel", "module.layer3_3d.3.1.norm2.bn.weight", "module.layer3_3d.3.1.norm2.bn.bias", "module.layer3_3d.3.1.norm2.bn.running_mean", "module.layer3_3d.3.1.norm2.bn.running_var", "module.layer3_3d.3.1.norm2.bn.num_batches_tracked", "module.layer4_3d.0.kernel", "module.layer4_3d.1.bn.weight", "module.layer4_3d.1.bn.bias", "module.layer4_3d.1.bn.running_mean", "module.layer4_3d.1.bn.running_var", "module.layer4_3d.1.bn.num_batches_tracked", "module.layer4_3d.3.0.conv1.kernel", "module.layer4_3d.3.0.norm1.bn.weight", "module.layer4_3d.3.0.norm1.bn.bias", "module.layer4_3d.3.0.norm1.bn.running_mean", "module.layer4_3d.3.0.norm1.bn.running_var", "module.layer4_3d.3.0.norm1.bn.num_batches_tracked", "module.layer4_3d.3.0.conv2.kernel", "module.layer4_3d.3.0.norm2.bn.weight", "module.layer4_3d.3.0.norm2.bn.bias", "module.layer4_3d.3.0.norm2.bn.running_mean", "module.layer4_3d.3.0.norm2.bn.running_var", "module.layer4_3d.3.0.norm2.bn.num_batches_tracked", "module.layer4_3d.3.0.downsample.0.kernel", "module.layer4_3d.3.0.downsample.1.bn.weight", "module.layer4_3d.3.0.downsample.1.bn.bias", "module.layer4_3d.3.0.downsample.1.bn.running_mean", "module.layer4_3d.3.0.downsample.1.bn.running_var", "module.layer4_3d.3.0.downsample.1.bn.num_batches_tracked", "module.layer4_3d.3.1.conv1.kernel", "module.layer4_3d.3.1.norm1.bn.weight", "module.layer4_3d.3.1.norm1.bn.bias", "module.layer4_3d.3.1.norm1.bn.running_mean", "module.layer4_3d.3.1.norm1.bn.running_var", "module.layer4_3d.3.1.norm1.bn.num_batches_tracked", "module.layer4_3d.3.1.conv2.kernel", "module.layer4_3d.3.1.norm2.bn.weight", "module.layer4_3d.3.1.norm2.bn.bias", "module.layer4_3d.3.1.norm2.bn.running_mean", "module.layer4_3d.3.1.norm2.bn.running_var", "module.layer4_3d.3.1.norm2.bn.num_batches_tracked", "module.layer5_3d.0.kernel", "module.layer5_3d.1.bn.weight", "module.layer5_3d.1.bn.bias", "module.layer5_3d.1.bn.running_mean", "module.layer5_3d.1.bn.running_var", "module.layer5_3d.1.bn.num_batches_tracked", "module.layer6_3d.0.0.conv1.kernel", "module.layer6_3d.0.0.norm1.bn.weight", "module.layer6_3d.0.0.norm1.bn.bias", "module.layer6_3d.0.0.norm1.bn.running_mean", "module.layer6_3d.0.0.norm1.bn.running_var", "module.layer6_3d.0.0.norm1.bn.num_batches_tracked", "module.layer6_3d.0.0.conv2.kernel", "module.layer6_3d.0.0.norm2.bn.weight", "module.layer6_3d.0.0.norm2.bn.bias", "module.layer6_3d.0.0.norm2.bn.running_mean", "module.layer6_3d.0.0.norm2.bn.running_var", "module.layer6_3d.0.0.norm2.bn.num_batches_tracked", "module.layer6_3d.0.0.downsample.0.kernel", "module.layer6_3d.0.0.downsample.1.bn.weight", "module.layer6_3d.0.0.downsample.1.bn.bias", "module.layer6_3d.0.0.downsample.1.bn.running_mean", "module.layer6_3d.0.0.downsample.1.bn.running_var", "module.layer6_3d.0.0.downsample.1.bn.num_batches_tracked", "module.layer6_3d.0.1.conv1.kernel", "module.layer6_3d.0.1.norm1.bn.weight", "module.layer6_3d.0.1.norm1.bn.bias", "module.layer6_3d.0.1.norm1.bn.running_mean", "module.layer6_3d.0.1.norm1.bn.running_var", "module.layer6_3d.0.1.norm1.bn.num_batches_tracked", "module.layer6_3d.0.1.conv2.kernel", "module.layer6_3d.0.1.norm2.bn.weight", "module.layer6_3d.0.1.norm2.bn.bias", "module.layer6_3d.0.1.norm2.bn.running_mean", "module.layer6_3d.0.1.norm2.bn.running_var", "module.layer6_3d.0.1.norm2.bn.num_batches_tracked", "module.layer6_3d.1.kernel", "module.layer6_3d.2.bn.weight", "module.layer6_3d.2.bn.bias", "module.layer6_3d.2.bn.running_mean", "module.layer6_3d.2.bn.running_var", "module.layer6_3d.2.bn.num_batches_tracked", "module.layer7_3d.0.0.conv1.kernel", "module.layer7_3d.0.0.norm1.bn.weight", "module.layer7_3d.0.0.norm1.bn.bias", "module.layer7_3d.0.0.norm1.bn.running_mean", "module.layer7_3d.0.0.norm1.bn.running_var", "module.layer7_3d.0.0.norm1.bn.num_batches_tracked", "module.layer7_3d.0.0.conv2.kernel", "module.layer7_3d.0.0.norm2.bn.weight", "module.layer7_3d.0.0.norm2.bn.bias", "module.layer7_3d.0.0.norm2.bn.running_mean", "module.layer7_3d.0.0.norm2.bn.running_var", "module.layer7_3d.0.0.norm2.bn.num_batches_tracked", "module.layer7_3d.0.0.downsample.0.kernel", "module.layer7_3d.0.0.downsample.1.bn.weight", "module.layer7_3d.0.0.downsample.1.bn.bias", "module.layer7_3d.0.0.downsample.1.bn.running_mean", "module.layer7_3d.0.0.downsample.1.bn.running_var", "module.layer7_3d.0.0.downsample.1.bn.num_batches_tracked", "module.layer7_3d.0.1.conv1.kernel", "module.layer7_3d.0.1.norm1.bn.weight", "module.layer7_3d.0.1.norm1.bn.bias", "module.layer7_3d.0.1.norm1.bn.running_mean", "module.layer7_3d.0.1.norm1.bn.running_var", "module.layer7_3d.0.1.norm1.bn.num_batches_tracked", "module.layer7_3d.0.1.conv2.kernel", "module.layer7_3d.0.1.norm2.bn.weight", "module.layer7_3d.0.1.norm2.bn.bias", "module.layer7_3d.0.1.norm2.bn.running_mean", "module.layer7_3d.0.1.norm2.bn.running_var", "module.layer7_3d.0.1.norm2.bn.num_batches_tracked", "module.layer7_3d.1.kernel", "module.layer7_3d.2.bn.weight", "module.layer7_3d.2.bn.bias", "module.layer7_3d.2.bn.running_mean", "module.layer7_3d.2.bn.running_var", "module.layer7_3d.2.bn.num_batches_tracked", "module.layer8_3d.0.0.conv1.kernel", "module.layer8_3d.0.0.norm1.bn.weight", "module.layer8_3d.0.0.norm1.bn.bias", "module.layer8_3d.0.0.norm1.bn.running_mean", "module.layer8_3d.0.0.norm1.bn.running_var", "module.layer8_3d.0.0.norm1.bn.num_batches_tracked", "module.layer8_3d.0.0.conv2.kernel", "module.layer8_3d.0.0.norm2.bn.weight", "module.layer8_3d.0.0.norm2.bn.bias", "module.layer8_3d.0.0.norm2.bn.running_mean", "module.layer8_3d.0.0.norm2.bn.running_var", "module.layer8_3d.0.0.norm2.bn.num_batches_tracked", "module.layer8_3d.0.0.downsample.0.kernel", "module.layer8_3d.0.0.downsample.1.bn.weight", "module.layer8_3d.0.0.downsample.1.bn.bias", "module.layer8_3d.0.0.downsample.1.bn.running_mean", "module.layer8_3d.0.0.downsample.1.bn.running_var", "module.layer8_3d.0.0.downsample.1.bn.num_batches_tracked", "module.layer8_3d.0.1.conv1.kernel", "module.layer8_3d.0.1.norm1.bn.weight", "module.layer8_3d.0.1.norm1.bn.bias", "module.layer8_3d.0.1.norm1.bn.running_mean", "module.layer8_3d.0.1.norm1.bn.running_var", "module.layer8_3d.0.1.norm1.bn.num_batches_tracked", "module.layer8_3d.0.1.conv2.kernel", "module.layer8_3d.0.1.norm2.bn.weight", "module.layer8_3d.0.1.norm2.bn.bias", "module.layer8_3d.0.1.norm2.bn.running_mean", "module.layer8_3d.0.1.norm2.bn.running_var", "module.layer8_3d.0.1.norm2.bn.num_batches_tracked", "module.layer8_3d.1.kernel", "module.layer8_3d.2.bn.weight", "module.layer8_3d.2.bn.bias", "module.layer8_3d.2.bn.running_mean", "module.layer8_3d.2.bn.running_var", "module.layer8_3d.2.bn.num_batches_tracked", "module.layer9_3d.0.conv1.kernel", "module.layer9_3d.0.norm1.bn.weight", "module.layer9_3d.0.norm1.bn.bias", "module.layer9_3d.0.norm1.bn.running_mean", "module.layer9_3d.0.norm1.bn.running_var", "module.layer9_3d.0.norm1.bn.num_batches_tracked", "module.layer9_3d.0.conv2.kernel", "module.layer9_3d.0.norm2.bn.weight", "module.layer9_3d.0.norm2.bn.bias", "module.layer9_3d.0.norm2.bn.running_mean", "module.layer9_3d.0.norm2.bn.running_var", "module.layer9_3d.0.norm2.bn.num_batches_tracked", "module.layer9_3d.0.downsample.0.kernel", "module.layer9_3d.0.downsample.1.bn.weight", "module.layer9_3d.0.downsample.1.bn.bias", "module.layer9_3d.0.downsample.1.bn.running_mean", "module.layer9_3d.0.downsample.1.bn.running_var", "module.layer9_3d.0.downsample.1.bn.num_batches_tracked", "module.layer9_3d.1.conv1.kernel", "module.layer9_3d.1.norm1.bn.weight", "module.layer9_3d.1.norm1.bn.bias", "module.layer9_3d.1.norm1.bn.running_mean", "module.layer9_3d.1.norm1.bn.running_var", "module.layer9_3d.1.norm1.bn.num_batches_tracked", "module.layer9_3d.1.conv2.kernel", "module.layer9_3d.1.norm2.bn.weight", "module.layer9_3d.1.norm2.bn.bias", "module.layer9_3d.1.norm2.bn.running_mean", "module.layer9_3d.1.norm2.bn.running_var", "module.layer9_3d.1.norm2.bn.num_batches_tracked", "module.cls_3d.kernel", "module.cls_3d.bias", "module.linker_p2.view_fusion.0.kernel", "module.linker_p2.view_fusion.1.bn.weight", "module.linker_p2.view_fusion.1.bn.bias", "module.linker_p2.view_fusion.1.bn.running_mean", "module.linker_p2.view_fusion.1.bn.running_var", "module.linker_p2.view_fusion.1.bn.num_batches_tracked", "module.linker_p2.view_fusion.3.kernel", "module.linker_p2.view_fusion.4.bn.weight", "module.linker_p2.view_fusion.4.bn.bias", "module.linker_p2.view_fusion.4.bn.running_mean", "module.linker_p2.view_fusion.4.bn.running_var", "module.linker_p2.view_fusion.4.bn.num_batches_tracked", "module.linker_p2.fuseTo3d.0.kernel", "module.linker_p2.fuseTo3d.1.bn.weight", "module.linker_p2.fuseTo3d.1.bn.bias", "module.linker_p2.fuseTo3d.1.bn.running_mean", "module.linker_p2.fuseTo3d.1.bn.running_var", "module.linker_p2.fuseTo3d.1.bn.num_batches_tracked", "module.linker_p2.view_sep.0.kernel", "module.linker_p2.view_sep.1.bn.weight", "module.linker_p2.view_sep.1.bn.bias", "module.linker_p2.view_sep.1.bn.running_mean", "module.linker_p2.view_sep.1.bn.running_var", "module.linker_p2.view_sep.1.bn.num_batches_tracked", "module.linker_p2.fuseTo2d.0.weight", "module.linker_p2.fuseTo2d.1.weight", "module.linker_p2.fuseTo2d.1.bias", "module.linker_p2.fuseTo2d.1.running_mean", "module.linker_p2.fuseTo2d.1.running_var", "module.linker_p2.fuseTo2d.1.num_batches_tracked", "module.linker_p3.view_fusion.0.kernel", "module.linker_p3.view_fusion.1.bn.weight", "module.linker_p3.view_fusion.1.bn.bias", "module.linker_p3.view_fusion.1.bn.running_mean", "module.linker_p3.view_fusion.1.bn.running_var", "module.linker_p3.view_fusion.1.bn.num_batches_tracked", "module.linker_p3.view_fusion.3.kernel", "module.linker_p3.view_fusion.4.bn.weight", "module.linker_p3.view_fusion.4.bn.bias", "module.linker_p3.view_fusion.4.bn.running_mean", "module.linker_p3.view_fusion.4.bn.running_var", "module.linker_p3.view_fusion.4.bn.num_batches_tracked", "module.linker_p3.fuseTo3d.0.kernel", "module.linker_p3.fuseTo3d.1.bn.weight", "module.linker_p3.fuseTo3d.1.bn.bias", "module.linker_p3.fuseTo3d.1.bn.running_mean", "module.linker_p3.fuseTo3d.1.bn.running_var", "module.linker_p3.fuseTo3d.1.bn.num_batches_tracked", "module.linker_p3.view_sep.0.kernel", "module.linker_p3.view_sep.1.bn.weight", "module.linker_p3.view_sep.1.bn.bias", "module.linker_p3.view_sep.1.bn.running_mean", "module.linker_p3.view_sep.1.bn.running_var", "module.linker_p3.view_sep.1.bn.num_batches_tracked", "module.linker_p3.fuseTo2d.0.weight", "module.linker_p3.fuseTo2d.1.weight", "module.linker_p3.fuseTo2d.1.bias", "module.linker_p3.fuseTo2d.1.running_mean", "module.linker_p3.fuseTo2d.1.running_var", "module.linker_p3.fuseTo2d.1.num_batches_tracked", "module.linker_p4.view_fusion.0.kernel", "module.linker_p4.view_fusion.1.bn.weight", "module.linker_p4.view_fusion.1.bn.bias", "module.linker_p4.view_fusion.1.bn.running_mean", "module.linker_p4.view_fusion.1.bn.running_var", "module.linker_p4.view_fusion.1.bn.num_batches_tracked", "module.linker_p4.view_fusion.3.kernel", "module.linker_p4.view_fusion.4.bn.weight", "module.linker_p4.view_fusion.4.bn.bias", "module.linker_p4.view_fusion.4.bn.running_mean", "module.linker_p4.view_fusion.4.bn.running_var", "module.linker_p4.view_fusion.4.bn.num_batches_tracked", "module.linker_p4.fuseTo3d.0.kernel", "module.linker_p4.fuseTo3d.1.bn.weight", "module.linker_p4.fuseTo3d.1.bn.bias", "module.linker_p4.fuseTo3d.1.bn.running_mean", "module.linker_p4.fuseTo3d.1.bn.running_var", "module.linker_p4.fuseTo3d.1.bn.num_batches_tracked", "module.linker_p4.view_sep.0.kernel", "module.linker_p4.view_sep.1.bn.weight", "module.linker_p4.view_sep.1.bn.bias", "module.linker_p4.view_sep.1.bn.running_mean", "module.linker_p4.view_sep.1.bn.running_var", "module.linker_p4.view_sep.1.bn.num_batches_tracked", "module.linker_p4.fuseTo2d.0.weight", "module.linker_p4.fuseTo2d.1.weight", "module.linker_p4.fuseTo2d.1.bias", "module.linker_p4.fuseTo2d.1.running_mean", "module.linker_p4.fuseTo2d.1.running_var", "module.linker_p4.fuseTo2d.1.num_batches_tracked", "module.linker_p5.view_fusion.0.kernel", "module.linker_p5.view_fusion.1.bn.weight", "module.linker_p5.view_fusion.1.bn.bias", "module.linker_p5.view_fusion.1.bn.running_mean", "module.linker_p5.view_fusion.1.bn.running_var", "module.linker_p5.view_fusion.1.bn.num_batches_tracked", "module.linker_p5.view_fusion.3.kernel", "module.linker_p5.view_fusion.4.bn.weight", "module.linker_p5.view_fusion.4.bn.bias", "module.linker_p5.view_fusion.4.bn.running_mean", "module.linker_p5.view_fusion.4.bn.running_var", "module.linker_p5.view_fusion.4.bn.num_batches_tracked", "module.linker_p5.fuseTo3d.0.kernel", "module.linker_p5.fuseTo3d.1.bn.weight", "module.linker_p5.fuseTo3d.1.bn.bias", "module.linker_p5.fuseTo3d.1.bn.running_mean", "module.linker_p5.fuseTo3d.1.bn.running_var", "module.linker_p5.fuseTo3d.1.bn.num_batches_tracked", "module.linker_p5.view_sep.0.kernel", "module.linker_p5.view_sep.1.bn.weight", "module.linker_p5.view_sep.1.bn.bias", "module.linker_p5.view_sep.1.bn.running_mean", "module.linker_p5.view_sep.1.bn.running_var", "module.linker_p5.view_sep.1.bn.num_batches_tracked", "module.linker_p5.fuseTo2d.0.weight", "module.linker_p5.fuseTo2d.1.weight", "module.linker_p5.fuseTo2d.1.bias", "module.linker_p5.fuseTo2d.1.running_mean", "module.linker_p5.fuseTo2d.1.running_var", "module.linker_p5.fuseTo2d.1.num_batches_tracked".
    

    I've already solved too many problems to get this error. I sure even if i solve this error, another error will occur. My conclusion is that you have not tested this on other environment at all. Please test your opensource on other environment. And give more details on README.md about how to run this.

    Thank you.

    opened by demul 8
  • The problem about the training accuracy of MinkUNet18A

    The problem about the training accuracy of MinkUNet18A

    First of all, thank you for your wonderful work! Now, I normally try to reproduce the 3D semantic segmentation results of MinkowskiUNet18A in the paper, but it seems that the accuracy can only reach 55%, which is 13% different from the 68% shown in Table 5 in the paper. Is there any problem with the training process? 1

    The following are my experimental parameter settings:

    image

    Thank you again for your excellent work and look forward to your reply. Best regards!

    opened by Gao-JT 4
  • data structure

    data structure

    Hi! Thanks for your great work and source code!

    I tried to run the code but met several problems. I am confused about the data structure of scannet in this repo. As there is some pieces of code like

    for x in self.data_paths: 
        ps = glob(join(x[:-15].replace(split, '2D'), 'color', '*.jpg'))
    

    Could you give a specific explanation for easily usage? Thanks a lot!

    opened by kxhit 4
  • Your paper is excellent! but There are some points i can't understand.

    Your paper is excellent! but There are some points i can't understand.

    Your paper is excellent. The idea of BPM is beautiful. and Explanation about data structure of BPM is very kind and easy-to-understand. Thank you for your contribution to this field.

    But after reading your paper, I still have some points which i can't understand, and I think if some explanations for these are provided, it will be great improvements for me, and for your paper as well!

    First, I cannot understand the philosophy behind the method to get point cloud as input of the 3D network. Why extract 3D point cloud from reconstructed 3D surface? Why don't you create point cloud from depth frame directly? Your said, "as done in [Mincowski Paper]". But, Even after reading [Mincowski Paper], I cannot have any idea about why extract 3D point cloud from reconstructed 3D surface. Can you explain it?

    Second, I want to point out the ablation study with regard to the ablation for the number of 2D views. The test on 2D mIoU is OK. But, To the best of my understanding about your paper, The test result on 3D mIoU is very confusing. Let me give a example situation. If you have 1 scene and there are 5 views, And about 5 number of view result, It's OK. And then, About 4 views result, What's going on? Isn't there some Not-Evaluated part on that scene? Or, To evaluate whole scene by 4 views method, There will be overlapped voxels inevitably. How to evaluate these overlaps fairly?

    Third, There will be both overlapped area and non-overlapped area on ScanNet Dataset even after view sampling. I think evaluating only on mixed(overlapped area and non-overlapped) parts is not a fully ablation. I suggest you to give ablation result(2D/3D mIoU) only with 'overlapped parts', separately with mixed result.

    Thank you.

    opened by demul 3
  • About training time~

    About training time~

    Hi, What an excellent work!

    You mentioned "We train our BPNet on the ScanNetV2 dataset for 100 epochs" in the paper. And I am interested in the details about the 100 epochs training. For example, what backbone (e.g., ResNet34 from the config file), how many GPUs, what kind of GPUs (e.g., V100?), and the total training hours~

    I would appreciate it very much if you can share these details~ Thanks~

    opened by haibo-qiu 3
  • Do you have estimated time for training on Scannet V2 from scratch?

    Do you have estimated time for training on Scannet V2 from scratch?

    RT, we are focusing on the efficiency of 3d models, so we want to know how was the time performance for bpnet. BTW, thanks for your talent work, it is fabulous

    opened by yuchenlichuck 2
  • Multiprocessing_distributed issue

    Multiprocessing_distributed issue

    Hey, @wbhu !

    I would like to ask why the train() function in train.py doesn't have dist.all_reduce funciton but validate() has?

    the function like this in train.py as follows:

    if args.multiprocessing_distributed:
        dist.all_reduce(intersection), dist.all_reduce(union), dist.all_reduce(target)
    
    opened by J-JunChen 1
  • scannet submit

    scannet submit

    I submitted it according to the format for 3d semantic segmentation. I don't know where the processing occurs. Please tell me what these four files are respectively? Thanks!!!


    Dear benchmark user,

    Unfortunately, our evaluation system failed to evaluate your result submission for ****. Reason: results folder does not contain 4 subfolders with correct format:

    The system thinks that the problem is due to invalid input. However, if you think it is the system's fault, please contact an administrator.

    Best regards, The ScanNet Benchmark administrators


    opened by prograguo 1
  • TypeError: forward() missing 2 required positional arguments: 'images' and 'links'

    TypeError: forward() missing 2 required positional arguments: 'images' and 'links'

    I change the data_name 'scannet_cross' to 'scannet_3d_mink' in yaml , then I got this error when I ran train.py. I find the model for 'scannet_3d_mink' was not be written.

    opened by weiguangzhao 1
  • Loop Argument

    Loop Argument

    https://github.com/wbhu/BPNet/blob/efba4b15998e03fbfb15a60ce333bfbde489d8ba/config/scannet/bpnet_5cm.yaml#L24

    What is the purpose of using this loop argument compared to just increasing the number of epochs?

    opened by heumchri 1
  • Which parts of ScanNet V2 need to be downloaded?

    Which parts of ScanNet V2 need to be downloaded?

    Hi,

    the ScanNetV2 dataset is too large, so I only want to download the needed parts of this dataset. Are the file types that BPNet uses .sens/_vh_clean_2.ply/_vh_clean_2.labels.ply/_2d-label.zip, and e.g. run 'python download-scannet.py -o [directory in which to download] --type .sens'? If not, could you tell me which parts of ScanNet V2 need to be downloaded? Thanks!

    the entire valid file suffixes are:

    <scanId>
    |-- <scanId>.sens
        RGB-D sensor stream containing color frames, depth frames, camera poses and other data
    |-- <scanId>_vh_clean.ply
        High quality reconstructed mesh
    |-- <scanId>_vh_clean_2.ply
        Cleaned and decimated mesh for semantic annotations
    |-- <scanId>_vh_clean_2.0.010000.segs.json
        Over-segmentation of annotation mesh
    |-- <scanId>.aggregation.json, <scanId>_vh_clean.aggregation.json
        Aggregated instance-level semantic annotations on lo-res, hi-res meshes, respectively
    |-- <scanId>_vh_clean_2.0.010000.segs.json, <scanId>_vh_clean.segs.json
        Over-segmentation of lo-res, hi-res meshes, respectively (referenced by aggregated semantic annotations)
    |-- <scanId>_vh_clean_2.labels.ply
        Visualization of aggregated semantic segmentation; colored by nyu40 labels (see img/legend; ply property 'label' denotes the ScanNet label id)
    |-- <scanId>_2d-label.zip
        Raw 2d projections of aggregated annotation labels as 16-bit pngs with ScanNet label ids
    |-- <scanId>_2d-instance.zip
        Raw 2d projections of aggregated annotation instances as 8-bit pngs
    |-- <scanId>_2d-label-filt.zip
        Filtered 2d projections of aggregated annotation labels as 16-bit pngs with ScanNet label ids
    |-- <scanId>_2d-instance-filt.zip
        Filtered 2d projections of aggregated annotation instances as 8-bit pngs
    
    opened by cjyiiiing 1
  • cannot find -lminkowski: No such file or directory

    cannot find -lminkowski: No such file or directory

    hi,i follow the instruction and after i git checkout XXX and use this bash "python setup.py install" image

    there exists some error cannot find -lminkowski: No such file or directory image

    any help would be apperatiated,thanks.

    and on ubuntu20 my nvcc version is 11.4. and i strictly follow the instructions.

    opened by Quyans 0
  • About 2D mIOU for joint training

    About 2D mIOU for joint training

    I reproduced your source code with no other substantial changes, and with the parameter settings of UNet34 for the 2D network and Mink18A for the 3D network and voxel size=5cm, the 3D mIOU basically achieves the performance of 70.6 reported in your paper. However, the 2D mIOU is only 47.3, while your paper's result is 65.1, is this something I'm missing? 屏幕截图 2022-07-24 204435

    opened by chaolongy 1
  • where is the path to scannetv2-labels.combined.tsv

    where is the path to scannetv2-labels.combined.tsv

    Hello, i try to run prepare_2d_data but found

    if opt.export_label_images:
        assert opt.label_map_file != ''
    

    and it need path to scannetv2-labels.combined.tsv ,where is it? Thanks for the code

    opened by fsted 1
  • About your DDP code

    About your DDP code

    Thank you very much for your excellent work, I had the following problems in reading your training code and test code: In 'train.py' file, val_sampler=torch.utils.data.distributed.DistributedSampler(val_data) , with dist.all_reduce(intersection), dist.all_reduce(union), dist.all_reduce(target). In 'test.py' file, val_sampler=None, with dist.all_reduce(output_3d).

    My question:

    1. Why is the sampler inconsistent here?
    2. I found that performance did not change when val_sampler=None. What is the significance of dist.all_reduce() here?
    3. I found that when val_sampler=torch.utils.data.distributed.DistributedSampler(val_data) and dist.all_reduce() was not used, mIOU increased during testing. Why is this?
    4. The last question is that in the 'train.py' file, the "intersectionAndUnionGPU" function in the ‘util.py’ file is used, while in the 'test.py' file, the ‘evaluate’ function in the ‘iou.py’ file is used. What are the essential differences between the two evaluation metrics in terms of application?

    I look forward to hearing from you and thank you again for your excellent work.

    opened by chaolongy 0
  • Reproduce 2D miou on scannet dataset

    Reproduce 2D miou on scannet dataset

    Hello, thanks for sharing your code.

    I wanted to reproduce the 2D miou score given in your article (61.5 miou for the 2D only) but i did not manage to go over 56.2 miou.

    I used your preprocessing script for 2d datas, a resnet34 similar to yours (using conv2dTranspose over F.interpolate) and when i tried using the same data augmentation (random crop on image with gaussian blur on training set), the network miou score worsen.

    Did i miss something ? Thanks for your answer

    opened by OPradelle 0
Owner
Hu Wenbo
Think twice, code once.
Hu Wenbo
Official PyTorch implementation of RobustNet (CVPR 2021 Oral)

RobustNet (CVPR 2021 Oral): Official Project Webpage Codes and pretrained models will be released soon. This repository provides the official PyTorch

Sungha Choi 173 Dec 21, 2022
Pytorch implementation for "Adversarial Robustness under Long-Tailed Distribution" (CVPR 2021 Oral)

Adversarial Long-Tail This repository contains the PyTorch implementation of the paper: Adversarial Robustness under Long-Tailed Distribution, CVPR 20

Tong WU 89 Dec 15, 2022
Official PyTorch Implementation of Convolutional Hough Matching Networks, CVPR 2021 (oral)

Convolutional Hough Matching Networks This is the implementation of the paper "Convolutional Hough Matching Network" by J. Min and M. Cho. Implemented

Juhong Min 70 Nov 22, 2022
Code for "NeuralRecon: Real-Time Coherent 3D Reconstruction from Monocular Video", CVPR 2021 oral

NeuralRecon: Real-Time Coherent 3D Reconstruction from Monocular Video Project Page | Paper NeuralRecon: Real-Time Coherent 3D Reconstruction from Mon

ZJU3DV 1.4k Dec 30, 2022
Dynamic Slimmable Network (CVPR 2021, Oral)

Dynamic Slimmable Network (DS-Net) This repository contains PyTorch code of our paper: Dynamic Slimmable Network (CVPR 2021 Oral). Architecture of DS-

Changlin Li 197 Dec 9, 2022
[CVPR 2021 Oral] ForgeryNet: A Versatile Benchmark for Comprehensive Forgery Analysis

ForgeryNet: A Versatile Benchmark for Comprehensive Forgery Analysis ForgeryNet: A Versatile Benchmark for Comprehensive Forgery Analysis [arxiv|pdf|v

Yinan He 78 Dec 22, 2022
[CVPR 2021 Oral] Variational Relational Point Completion Network

VRCNet: Variational Relational Point Completion Network This repository contains the PyTorch implementation of the paper: Variational Relational Point

PL 121 Dec 12, 2022
Code for "Single-view robot pose and joint angle estimation via render & compare", CVPR 2021 (Oral).

Single-view robot pose and joint angle estimation via render & compare Yann Labbé, Justin Carpentier, Mathieu Aubry, Josef Sivic CVPR: Conference on C

Yann Labbé 51 Oct 14, 2022
Quasi-Dense Similarity Learning for Multiple Object Tracking, CVPR 2021 (Oral)

Quasi-Dense Tracking This is the offical implementation of paper Quasi-Dense Similarity Learning for Multiple Object Tracking. We present a trailer th

ETH VIS Research Group 327 Dec 27, 2022
Code for CVPR 2021 oral paper "Exploring Data-Efficient 3D Scene Understanding with Contrastive Scene Contexts"

Exploring Data-Efficient 3D Scene Understanding with Contrastive Scene Contexts The rapid progress in 3D scene understanding has come with growing dem

Facebook Research 182 Dec 30, 2022
TAP: Text-Aware Pre-training for Text-VQA and Text-Caption, CVPR 2021 (Oral)

TAP: Text-Aware Pre-training TAP: Text-Aware Pre-training for Text-VQA and Text-Caption by Zhengyuan Yang, Yijuan Lu, Jianfeng Wang, Xi Yin, Dinei Flo

Microsoft 61 Nov 14, 2022
Code for "Reconstructing 3D Human Pose by Watching Humans in the Mirror", CVPR 2021 oral

Reconstructing 3D Human Pose by Watching Humans in the Mirror Qi Fang*, Qing Shuai*, Junting Dong, Hujun Bao, Xiaowei Zhou CVPR 2021 Oral The videos a

ZJU3DV 178 Dec 13, 2022
Deep RGB-D Saliency Detection with Depth-Sensitive Attention and Automatic Multi-Modal Fusion (CVPR'2021, Oral)

DSA^2 F: Deep RGB-D Saliency Detection with Depth-Sensitive Attention and Automatic Multi-Modal Fusion (CVPR'2021, Oral) This repo is the official imp

如今我已剑指天涯 46 Dec 21, 2022
This is the code for CVPR 2021 oral paper: Jigsaw Clustering for Unsupervised Visual Representation Learning

JigsawClustering Jigsaw Clustering for Unsupervised Visual Representation Learning Pengguang Chen, Shu Liu, Jiaya Jia Introduction This project provid

DV Lab 73 Sep 18, 2022
🔥RandLA-Net in Tensorflow (CVPR 2020, Oral & IEEE TPAMI 2021)

RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds (CVPR 2020) This is the official implementation of RandLA-Net (CVPR2020, Oral

Qingyong 1k Dec 30, 2022
git git《Transformer Meets Tracker: Exploiting Temporal Context for Robust Visual Tracking》(CVPR 2021) GitHub:git2] 《Masksembles for Uncertainty Estimation》(CVPR 2021) GitHub:git3]

Transformer Meets Tracker: Exploiting Temporal Context for Robust Visual Tracking Ning Wang, Wengang Zhou, Jie Wang, and Houqiang Li Accepted by CVPR

NingWang 236 Dec 22, 2022
Pytorch implementation for "Large-Scale Long-Tailed Recognition in an Open World" (CVPR 2019 ORAL)

Large-Scale Long-Tailed Recognition in an Open World [Project] [Paper] [Blog] Overview Open Long-Tailed Recognition (OLTR) is the author's re-implemen

Zhongqi Miao 761 Dec 26, 2022
(CVPR 2022 Oral) Official implementation for "Surface Representation for Point Clouds"

RepSurf - Surface Representation for Point Clouds [CVPR 2022 Oral] By Haoxi Ran* , Jun Liu, Chengjie Wang ( * : corresponding contact) The pytorch off

Haoxi Ran 264 Dec 23, 2022
Official MegEngine implementation of CREStereo(CVPR 2022 Oral).

[CVPR 2022] Practical Stereo Matching via Cascaded Recurrent Network with Adaptive Correlation This repository contains MegEngine implementation of ou

MEGVII Research 309 Dec 30, 2022