2023-03-26 13:04:40,978 INFO **********************Start logging********************** 2023-03-26 13:04:40,979 INFO CUDA_VISIBLE_DEVICES=ALL 2023-03-26 13:04:40,980 INFO total_batch_size: 16 2023-03-26 13:04:40,980 INFO cfg_file cfgs/scannet_models/CAGroup3D.yaml 2023-03-26 13:04:40,981 INFO batch_size 16 2023-03-26 13:04:40,981 INFO epochs 1 2023-03-26 13:04:40,982 INFO workers 4 2023-03-26 13:04:40,982 INFO extra_tag cagroup3d-win10-scannet 2023-03-26 13:04:40,983 INFO ckpt None 2023-03-26 13:04:40,984 INFO pretrained_model None 2023-03-26 13:04:40,984 INFO launcher pytorch 2023-03-26 13:04:40,985 INFO tcp_port 18888 2023-03-26 13:04:40,985 INFO sync_bn False 2023-03-26 13:04:40,986 INFO fix_random_seed True 2023-03-26 13:04:40,986 INFO ckpt_save_interval 1 2023-03-26 13:04:40,987 INFO max_ckpt_save_num 30 2023-03-26 13:04:40,987 INFO merge_all_iters_to_one_epoch False 2023-03-26 13:04:40,988 INFO set_cfgs None 2023-03-26 13:04:40,988 INFO max_waiting_mins 0 2023-03-26 13:04:40,989 INFO start_epoch 0 2023-03-26 13:04:40,989 INFO num_epochs_to_eval 0 2023-03-26 13:04:40,990 INFO save_to_file False 2023-03-26 13:04:40,990 INFO cfg.ROOT_DIR: C:\CITYU\CS5182\proj\CAGroup3D 2023-03-26 13:04:40,991 INFO cfg.LOCAL_RANK: 0 2023-03-26 13:04:40,991 INFO cfg.CLASS_NAMES: ['cabinet', 'bed', 'chair', 'sofa', 'table', 'door', 'window', 'bookshelf', 'picture', 'counter', 'desk', 'curtain', 'refrigerator', 'showercurtrain', 'toilet', 'sink', 'bathtub', 'garbagebin'] 2023-03-26 13:04:40,992 INFO cfg.DATA_CONFIG = edict() 2023-03-26 13:04:40,993 INFO cfg.DATA_CONFIG.DATASET: ScannetDataset 2023-03-26 13:04:40,993 INFO cfg.DATA_CONFIG.DATA_PATH: ../data/scannet_data/ScanNetV2 2023-03-26 13:04:40,994 INFO cfg.DATA_CONFIG.PROCESSED_DATA_TAG: scannet_processed_data_v0_5_0 2023-03-26 13:04:40,994 INFO cfg.DATA_CONFIG.POINT_CLOUD_RANGE: [-40, -40, -10, 40, 40, 10] 2023-03-26 13:04:40,995 INFO cfg.DATA_CONFIG.DATA_SPLIT = edict() 2023-03-26 13:04:40,995 INFO cfg.DATA_CONFIG.DATA_SPLIT.train: train 2023-03-26 13:04:40,996 INFO cfg.DATA_CONFIG.DATA_SPLIT.test: val 2023-03-26 13:04:40,996 INFO cfg.DATA_CONFIG.REPEAT = edict() 2023-03-26 13:04:40,997 INFO cfg.DATA_CONFIG.REPEAT.train: 10 2023-03-26 13:04:40,998 INFO cfg.DATA_CONFIG.REPEAT.test: 1 2023-03-26 13:04:40,998 INFO cfg.DATA_CONFIG.INFO_PATH = edict() 2023-03-26 13:04:40,999 INFO cfg.DATA_CONFIG.INFO_PATH.train: ['scannet_infos_train.pkl'] 2023-03-26 13:04:40,999 INFO cfg.DATA_CONFIG.INFO_PATH.test: ['scannet_infos_val.pkl'] 2023-03-26 13:04:41,000 INFO cfg.DATA_CONFIG.GET_ITEM_LIST: ['points', 'instance_mask', 'semantic_mask'] 2023-03-26 13:04:41,000 INFO cfg.DATA_CONFIG.FILTER_EMPTY_BOXES_FOR_TRAIN: True 2023-03-26 13:04:41,001 INFO cfg.DATA_CONFIG.DATA_AUGMENTOR_TRAIN = edict() 2023-03-26 13:04:41,002 INFO cfg.DATA_CONFIG.DATA_AUGMENTOR_TRAIN.DISABLE_AUG_LIST: ['placeholder'] 2023-03-26 13:04:41,003 INFO cfg.DATA_CONFIG.DATA_AUGMENTOR_TRAIN.AUG_CONFIG_LIST: [{'NAME': 'global_alignment', 'rotation_axis': 2}, {'NAME': 'point_seg_class_mapping', 'valid_cat_ids': [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 24, 28, 33, 34, 36, 39], 'max_cat_id': 40}, {'NAME': 'random_world_flip', 'ALONG_AXIS_LIST': ['x', 'y']}, {'NAME': 'random_world_rotation', 'WORLD_ROT_ANGLE': [-0.087266, 0.087266]}, {'NAME': 'random_world_scaling', 'WORLD_SCALE_RANGE': [0.9, 1.1]}, {'NAME': 'random_world_translation', 'ALONG_AXIS_LIST': ['x', 'y', 'z'], 'NOISE_TRANSLATE_STD': 0.1}] 2023-03-26 13:04:41,004 INFO cfg.DATA_CONFIG.DATA_AUGMENTOR_TEST = edict() 2023-03-26 13:04:41,004 INFO cfg.DATA_CONFIG.DATA_AUGMENTOR_TEST.DISABLE_AUG_LIST: ['placeholder'] 2023-03-26 13:04:41,005 INFO cfg.DATA_CONFIG.DATA_AUGMENTOR_TEST.AUG_CONFIG_LIST: [{'NAME': 'global_alignment', 'rotation_axis': 2}] 2023-03-26 13:04:41,005 INFO cfg.DATA_CONFIG.DATA_AUGMENTOR = edict() 2023-03-26 13:04:41,006 INFO cfg.DATA_CONFIG.DATA_AUGMENTOR.DISABLE_AUG_LIST: ['placeholder'] 2023-03-26 13:04:41,007 INFO cfg.DATA_CONFIG.DATA_AUGMENTOR.AUG_CONFIG_LIST: [{'NAME': 'global_alignment', 'rotation_axis': 2}] 2023-03-26 13:04:41,008 INFO cfg.DATA_CONFIG.POINT_FEATURE_ENCODING = edict() 2023-03-26 13:04:41,008 INFO cfg.DATA_CONFIG.POINT_FEATURE_ENCODING.encoding_type: absolute_coordinates_encoding 2023-03-26 13:04:41,009 INFO cfg.DATA_CONFIG.POINT_FEATURE_ENCODING.used_feature_list: ['x', 'y', 'z', 'r', 'g', 'b'] 2023-03-26 13:04:41,009 INFO cfg.DATA_CONFIG.POINT_FEATURE_ENCODING.src_feature_list: ['x', 'y', 'z', 'r', 'g', 'b'] 2023-03-26 13:04:41,010 INFO cfg.DATA_CONFIG.DATA_PROCESSOR: [{'NAME': 'mask_points_and_boxes_outside_range', 'REMOVE_OUTSIDE_BOXES': True}] 2023-03-26 13:04:41,010 INFO cfg.DATA_CONFIG._BASE_CONFIG_: cfgs/dataset_configs/scannet_dataset.yaml 2023-03-26 13:04:41,011 INFO cfg.VOXEL_SIZE: 0.02 2023-03-26 13:04:41,011 INFO cfg.N_CLASSES: 18 2023-03-26 13:04:41,012 INFO cfg.SEMANTIC_THR: 0.15 2023-03-26 13:04:41,012 INFO cfg.MODEL = edict() 2023-03-26 13:04:41,013 INFO cfg.MODEL.NAME: CAGroup3D 2023-03-26 13:04:41,013 INFO cfg.MODEL.VOXEL_SIZE: 0.02 2023-03-26 13:04:41,013 INFO cfg.MODEL.SEMANTIC_MIN_THR: 0.05 2023-03-26 13:04:41,014 INFO cfg.MODEL.SEMANTIC_ITER_VALUE: 0.02 2023-03-26 13:04:41,014 INFO cfg.MODEL.SEMANTIC_THR: 0.15 2023-03-26 13:04:41,015 INFO cfg.MODEL.BACKBONE_3D = edict() 2023-03-26 13:04:41,015 INFO cfg.MODEL.BACKBONE_3D.NAME: BiResNet 2023-03-26 13:04:41,016 INFO cfg.MODEL.BACKBONE_3D.IN_CHANNELS: 3 2023-03-26 13:04:41,016 INFO cfg.MODEL.BACKBONE_3D.OUT_CHANNELS: 64 2023-03-26 13:04:41,017 INFO cfg.MODEL.DENSE_HEAD = edict() 2023-03-26 13:04:41,017 INFO cfg.MODEL.DENSE_HEAD.NAME: CAGroup3DHead 2023-03-26 13:04:41,018 INFO cfg.MODEL.DENSE_HEAD.IN_CHANNELS: [64, 128, 256, 512] 2023-03-26 13:04:41,018 INFO cfg.MODEL.DENSE_HEAD.OUT_CHANNELS: 64 2023-03-26 13:04:41,019 INFO cfg.MODEL.DENSE_HEAD.SEMANTIC_THR: 0.15 2023-03-26 13:04:41,019 INFO cfg.MODEL.DENSE_HEAD.VOXEL_SIZE: 0.02 2023-03-26 13:04:41,020 INFO cfg.MODEL.DENSE_HEAD.N_CLASSES: 18 2023-03-26 13:04:41,020 INFO cfg.MODEL.DENSE_HEAD.N_REG_OUTS: 6 2023-03-26 13:04:41,021 INFO cfg.MODEL.DENSE_HEAD.CLS_KERNEL: 9 2023-03-26 13:04:41,021 INFO cfg.MODEL.DENSE_HEAD.WITH_YAW: False 2023-03-26 13:04:41,022 INFO cfg.MODEL.DENSE_HEAD.USE_SEM_SCORE: False 2023-03-26 13:04:41,022 INFO cfg.MODEL.DENSE_HEAD.EXPAND_RATIO: 3 2023-03-26 13:04:41,022 INFO cfg.MODEL.DENSE_HEAD.ASSIGNER = edict() 2023-03-26 13:04:41,023 INFO cfg.MODEL.DENSE_HEAD.ASSIGNER.NAME: CAGroup3DAssigner 2023-03-26 13:04:41,023 INFO cfg.MODEL.DENSE_HEAD.ASSIGNER.LIMIT: 27 2023-03-26 13:04:41,024 INFO cfg.MODEL.DENSE_HEAD.ASSIGNER.TOPK: 18 2023-03-26 13:04:41,024 INFO cfg.MODEL.DENSE_HEAD.ASSIGNER.N_SCALES: 4 2023-03-26 13:04:41,025 INFO cfg.MODEL.DENSE_HEAD.LOSS_OFFSET = edict() 2023-03-26 13:04:41,025 INFO cfg.MODEL.DENSE_HEAD.LOSS_OFFSET.NAME: SmoothL1Loss 2023-03-26 13:04:41,026 INFO cfg.MODEL.DENSE_HEAD.LOSS_OFFSET.BETA: 0.04 2023-03-26 13:04:41,026 INFO cfg.MODEL.DENSE_HEAD.LOSS_OFFSET.REDUCTION: sum 2023-03-26 13:04:41,027 INFO cfg.MODEL.DENSE_HEAD.LOSS_OFFSET.LOSS_WEIGHT: 1.0 2023-03-26 13:04:41,027 INFO cfg.MODEL.DENSE_HEAD.LOSS_BBOX = edict() 2023-03-26 13:04:41,028 INFO cfg.MODEL.DENSE_HEAD.LOSS_BBOX.NAME: IoU3DLoss 2023-03-26 13:04:41,028 INFO cfg.MODEL.DENSE_HEAD.LOSS_BBOX.WITH_YAW: False 2023-03-26 13:04:41,028 INFO cfg.MODEL.DENSE_HEAD.LOSS_BBOX.LOSS_WEIGHT: 1.0 2023-03-26 13:04:41,029 INFO cfg.MODEL.DENSE_HEAD.NMS_CONFIG = edict() 2023-03-26 13:04:41,029 INFO cfg.MODEL.DENSE_HEAD.NMS_CONFIG.SCORE_THR: 0.01 2023-03-26 13:04:41,030 INFO cfg.MODEL.DENSE_HEAD.NMS_CONFIG.NMS_PRE: 1000 2023-03-26 13:04:41,030 INFO cfg.MODEL.DENSE_HEAD.NMS_CONFIG.IOU_THR: 0.5 2023-03-26 13:04:41,031 INFO cfg.MODEL.ROI_HEAD = edict() 2023-03-26 13:04:41,031 INFO cfg.MODEL.ROI_HEAD.NAME: CAGroup3DRoIHead 2023-03-26 13:04:41,032 INFO cfg.MODEL.ROI_HEAD.NUM_CLASSES: 18 2023-03-26 13:04:41,032 INFO cfg.MODEL.ROI_HEAD.MIDDLE_FEATURE_SOURCE: [3] 2023-03-26 13:04:41,033 INFO cfg.MODEL.ROI_HEAD.GRID_SIZE: 7 2023-03-26 13:04:41,033 INFO cfg.MODEL.ROI_HEAD.VOXEL_SIZE: 0.02 2023-03-26 13:04:41,034 INFO cfg.MODEL.ROI_HEAD.COORD_KEY: 2 2023-03-26 13:04:41,034 INFO cfg.MODEL.ROI_HEAD.MLPS: [[64, 128, 128]] 2023-03-26 13:04:41,035 INFO cfg.MODEL.ROI_HEAD.CODE_SIZE: 6 2023-03-26 13:04:41,035 INFO cfg.MODEL.ROI_HEAD.ENCODE_SINCOS: False 2023-03-26 13:04:41,036 INFO cfg.MODEL.ROI_HEAD.ROI_PER_IMAGE: 128 2023-03-26 13:04:41,036 INFO cfg.MODEL.ROI_HEAD.ROI_FG_RATIO: 0.9 2023-03-26 13:04:41,036 INFO cfg.MODEL.ROI_HEAD.REG_FG_THRESH: 0.3 2023-03-26 13:04:41,037 INFO cfg.MODEL.ROI_HEAD.ROI_CONV_KERNEL: 5 2023-03-26 13:04:41,037 INFO cfg.MODEL.ROI_HEAD.ENLARGE_RATIO: False 2023-03-26 13:04:41,038 INFO cfg.MODEL.ROI_HEAD.USE_IOU_LOSS: False 2023-03-26 13:04:41,038 INFO cfg.MODEL.ROI_HEAD.USE_GRID_OFFSET: False 2023-03-26 13:04:41,039 INFO cfg.MODEL.ROI_HEAD.USE_SIMPLE_POOLING: True 2023-03-26 13:04:41,039 INFO cfg.MODEL.ROI_HEAD.USE_CENTER_POOLING: True 2023-03-26 13:04:41,039 INFO cfg.MODEL.ROI_HEAD.LOSS_WEIGHTS = edict() 2023-03-26 13:04:41,040 INFO cfg.MODEL.ROI_HEAD.LOSS_WEIGHTS.RCNN_CLS_WEIGHT: 1.0 2023-03-26 13:04:41,040 INFO cfg.MODEL.ROI_HEAD.LOSS_WEIGHTS.RCNN_REG_WEIGHT: 1.0 2023-03-26 13:04:41,041 INFO cfg.MODEL.ROI_HEAD.LOSS_WEIGHTS.RCNN_IOU_WEIGHT: 1.0 2023-03-26 13:04:41,041 INFO cfg.MODEL.ROI_HEAD.LOSS_WEIGHTS.CODE_WEIGHT: [1.0, 1.0, 1.0, 1.0, 1.0, 1.0] 2023-03-26 13:04:41,042 INFO cfg.MODEL.POST_PROCESSING = edict() 2023-03-26 13:04:41,042 INFO cfg.MODEL.POST_PROCESSING.RECALL_THRESH_LIST: [0.25, 0.5] 2023-03-26 13:04:41,043 INFO cfg.MODEL.POST_PROCESSING.EVAL_METRIC: scannet 2023-03-26 13:04:41,043 INFO cfg.OPTIMIZATION = edict() 2023-03-26 13:04:41,044 INFO cfg.OPTIMIZATION.BATCH_SIZE_PER_GPU: 16 2023-03-26 13:04:41,044 INFO cfg.OPTIMIZATION.NUM_EPOCHS: 1 2023-03-26 13:04:41,044 INFO cfg.OPTIMIZATION.OPTIMIZER: adamW 2023-03-26 13:04:41,045 INFO cfg.OPTIMIZATION.LR: 0.001 2023-03-26 13:04:41,045 INFO cfg.OPTIMIZATION.WEIGHT_DECAY: 0.0001 2023-03-26 13:04:41,046 INFO cfg.OPTIMIZATION.DECAY_STEP_LIST: [7, 9] 2023-03-26 13:04:41,046 INFO cfg.OPTIMIZATION.LR_DECAY: 0.1 2023-03-26 13:04:41,046 INFO cfg.OPTIMIZATION.GRAD_NORM_CLIP: 10 2023-03-26 13:04:41,047 INFO cfg.OPTIMIZATION.PCT_START: 0.4 2023-03-26 13:04:41,047 INFO cfg.OPTIMIZATION.DIV_FACTOR: 10 2023-03-26 13:04:41,048 INFO cfg.OPTIMIZATION.LR_CLIP: 1e-07 2023-03-26 13:04:41,048 INFO cfg.OPTIMIZATION.LR_WARMUP: False 2023-03-26 13:04:41,049 INFO cfg.OPTIMIZATION.WARMUP_EPOCH: 1 2023-03-26 13:04:41,049 INFO cfg.TAG: CAGroup3D 2023-03-26 13:04:41,049 INFO cfg.EXP_GROUP_PATH: scannet_models 2023-03-26 13:04:41,085 INFO Loading SCANNET dataset 2023-03-26 13:04:41,192 INFO Total samples for SCANNET dataset: 1201 2023-03-26 13:04:44,269 INFO DistributedDataParallel( (module): CAGroup3D( (vfe): None (backbone_3d): BiResNet( (conv1): Sequential( (0): MinkowskiConvolution(in=3, out=64, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiReLU() (3): MinkowskiConvolution(in=64, out=64, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (4): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (5): MinkowskiReLU() ) (relu): MinkowskiReLU() (layer1): Sequential( (0): BasicBlock( (conv1): MinkowskiConvolution(in=64, out=64, kernel_size=[3, 3, 3], stride=[2, 2, 2], dilation=[1, 1, 1]) (norm1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (conv2): MinkowskiConvolution(in=64, out=64, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm2): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): MinkowskiReLU() (downsample): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[1, 1, 1], stride=[2, 2, 2], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (1): BasicBlock( (conv1): MinkowskiConvolution(in=64, out=64, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (conv2): MinkowskiConvolution(in=64, out=64, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm2): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): MinkowskiReLU() ) ) (layer2): Sequential( (0): BasicBlock( (conv1): MinkowskiConvolution(in=64, out=128, kernel_size=[3, 3, 3], stride=[2, 2, 2], dilation=[1, 1, 1]) (norm1): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (conv2): MinkowskiConvolution(in=128, out=128, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm2): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): MinkowskiReLU() (downsample): Sequential( (0): MinkowskiConvolution(in=64, out=128, kernel_size=[1, 1, 1], stride=[2, 2, 2], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (1): BasicBlock( (conv1): MinkowskiConvolution(in=128, out=128, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm1): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (conv2): MinkowskiConvolution(in=128, out=128, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm2): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): MinkowskiReLU() ) ) (layer3): Sequential( (0): BasicBlock( (conv1): MinkowskiConvolution(in=128, out=256, kernel_size=[3, 3, 3], stride=[2, 2, 2], dilation=[1, 1, 1]) (norm1): MinkowskiBatchNorm(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (conv2): MinkowskiConvolution(in=256, out=256, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm2): MinkowskiBatchNorm(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): MinkowskiReLU() (downsample): Sequential( (0): MinkowskiConvolution(in=128, out=256, kernel_size=[1, 1, 1], stride=[2, 2, 2], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (1): BasicBlock( (conv1): MinkowskiConvolution(in=256, out=256, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm1): MinkowskiBatchNorm(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (conv2): MinkowskiConvolution(in=256, out=256, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm2): MinkowskiBatchNorm(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): MinkowskiReLU() ) ) (layer4): Sequential( (0): BasicBlock( (conv1): MinkowskiConvolution(in=256, out=512, kernel_size=[3, 3, 3], stride=[2, 2, 2], dilation=[1, 1, 1]) (norm1): MinkowskiBatchNorm(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (conv2): MinkowskiConvolution(in=512, out=512, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm2): MinkowskiBatchNorm(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): MinkowskiReLU() (downsample): Sequential( (0): MinkowskiConvolution(in=256, out=512, kernel_size=[1, 1, 1], stride=[2, 2, 2], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (1): BasicBlock( (conv1): MinkowskiConvolution(in=512, out=512, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm1): MinkowskiBatchNorm(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (conv2): MinkowskiConvolution(in=512, out=512, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm2): MinkowskiBatchNorm(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): MinkowskiReLU() ) ) (compression3): Sequential( (0): MinkowskiConvolution(in=256, out=128, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (compression4): Sequential( (0): MinkowskiConvolution(in=512, out=128, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (down3): Sequential( (0): MinkowskiConvolution(in=128, out=256, kernel_size=[3, 3, 3], stride=[2, 2, 2], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (down4): Sequential( (0): MinkowskiConvolution(in=128, out=256, kernel_size=[3, 3, 3], stride=[2, 2, 2], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiReLU() (3): MinkowskiConvolution(in=256, out=512, kernel_size=[3, 3, 3], stride=[2, 2, 2], dilation=[1, 1, 1]) (4): MinkowskiBatchNorm(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) (layer3_): Sequential( (0): BasicBlock( (conv1): MinkowskiConvolution(in=128, out=128, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm1): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (conv2): MinkowskiConvolution(in=128, out=128, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm2): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): MinkowskiReLU() ) (1): BasicBlock( (conv1): MinkowskiConvolution(in=128, out=128, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm1): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (conv2): MinkowskiConvolution(in=128, out=128, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm2): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): MinkowskiReLU() ) ) (layer4_): Sequential( (0): BasicBlock( (conv1): MinkowskiConvolution(in=128, out=128, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm1): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (conv2): MinkowskiConvolution(in=128, out=128, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm2): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): MinkowskiReLU() ) (1): BasicBlock( (conv1): MinkowskiConvolution(in=128, out=128, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm1): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (conv2): MinkowskiConvolution(in=128, out=128, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm2): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): MinkowskiReLU() ) ) (layer5_): Sequential( (0): Bottleneck( (conv1): MinkowskiConvolution(in=128, out=128, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm1): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (conv2): MinkowskiConvolution(in=128, out=128, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm2): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (conv3): MinkowskiConvolution(in=128, out=256, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm3): MinkowskiBatchNorm(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): MinkowskiReLU() (downsample): Sequential( (0): MinkowskiConvolution(in=128, out=256, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) ) (layer5): Sequential( (0): Bottleneck( (conv1): MinkowskiConvolution(in=512, out=512, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm1): MinkowskiBatchNorm(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (conv2): MinkowskiConvolution(in=512, out=512, kernel_size=[3, 3, 3], stride=[2, 2, 2], dilation=[1, 1, 1]) (norm2): MinkowskiBatchNorm(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (conv3): MinkowskiConvolution(in=512, out=1024, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (norm3): MinkowskiBatchNorm(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): MinkowskiReLU() (downsample): Sequential( (0): MinkowskiConvolution(in=512, out=1024, kernel_size=[1, 1, 1], stride=[2, 2, 2], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) ) (spp): DAPPM( (scale1): Sequential( (0): MinkowskiAvgPooling(kernel_size=[5, 5, 5], stride=[2, 2, 2], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiReLU() (3): MinkowskiConvolution(in=1024, out=128, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) ) (scale2): Sequential( (0): MinkowskiAvgPooling(kernel_size=[9, 9, 9], stride=[4, 4, 4], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiReLU() (3): MinkowskiConvolution(in=1024, out=128, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) ) (scale3): Sequential( (0): MinkowskiAvgPooling(kernel_size=[17, 17, 17], stride=[8, 8, 8], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiReLU() (3): MinkowskiConvolution(in=1024, out=128, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) ) (scale4): Sequential( (0): MinkowskiAvgPooling(kernel_size=[33, 33, 33], stride=[16, 16, 16], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiReLU() (3): MinkowskiConvolution(in=1024, out=128, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) ) (scale0): Sequential( (0): MinkowskiBatchNorm(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiReLU() (2): MinkowskiConvolution(in=1024, out=128, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) ) (process1): Sequential( (0): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiReLU() (2): MinkowskiConvolution(in=128, out=128, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) ) (process2): Sequential( (0): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiReLU() (2): MinkowskiConvolution(in=128, out=128, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) ) (process3): Sequential( (0): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiReLU() (2): MinkowskiConvolution(in=128, out=128, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) ) (process4): Sequential( (0): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiReLU() (2): MinkowskiConvolution(in=128, out=128, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) ) (compression): Sequential( (0): MinkowskiBatchNorm(640, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiReLU() (2): MinkowskiConvolution(in=640, out=256, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) ) (shortcut): Sequential( (0): MinkowskiBatchNorm(1024, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiReLU() (2): MinkowskiConvolution(in=1024, out=256, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) ) ) (out): Sequential( (0): MinkowskiConvolutionTranspose(in=256, out=256, kernel_size=[2, 2, 2], stride=[2, 2, 2], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiReLU() (3): MinkowskiConvolution(in=256, out=64, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (4): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (5): MinkowskiReLU() ) ) (map_to_bev_module): None (pfe): None (backbone_2d): None (dense_head): CAGroup3DHead( (loss_centerness): CrossEntropy() (loss_bbox): IoU3DLoss() (loss_cls): FocalLoss() (loss_sem): FocalLoss() (loss_offset): SmoothL1Loss() (offset_block): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() (3): MinkowskiConvolution(in=64, out=64, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (4): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (5): MinkowskiELU() (6): MinkowskiConvolution(in=64, out=3, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) ) (feature_offset): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[3, 3, 3], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (semantic_conv): MinkowskiConvolution(in=64, out=18, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (centerness_conv): MinkowskiConvolution(in=64, out=1, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (reg_conv): MinkowskiConvolution(in=64, out=6, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (cls_conv): MinkowskiConvolution(in=64, out=18, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (scales): ModuleList( (0): Scale() (1): Scale() (2): Scale() (3): Scale() (4): Scale() (5): Scale() (6): Scale() (7): Scale() (8): Scale() (9): Scale() (10): Scale() (11): Scale() (12): Scale() (13): Scale() (14): Scale() (15): Scale() (16): Scale() (17): Scale() ) (cls_individual_out): ModuleList( (0): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[9, 9, 9], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (1): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[9, 9, 9], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (2): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[9, 9, 9], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (3): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[9, 9, 9], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (4): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[9, 9, 9], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (5): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[9, 9, 9], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (6): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[9, 9, 9], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (7): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[9, 9, 9], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (8): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[9, 9, 9], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (9): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[9, 9, 9], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (10): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[9, 9, 9], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (11): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[9, 9, 9], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (12): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[9, 9, 9], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (13): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[9, 9, 9], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (14): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[9, 9, 9], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (15): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[9, 9, 9], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (16): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[9, 9, 9], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (17): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[9, 9, 9], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) ) (cls_individual_up): ModuleList( (0): ModuleList( (0): MinkowskiGenerativeConvolutionTranspose(in=64, out=64, kernel_size=[3, 3, 3], stride=[3, 3, 3], dilation=[1, 1, 1]) (1): Sequential( (0): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiELU() ) ) (1): ModuleList( (0): MinkowskiGenerativeConvolutionTranspose(in=64, out=64, kernel_size=[3, 3, 3], stride=[3, 3, 3], dilation=[1, 1, 1]) (1): Sequential( (0): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiELU() ) ) (2): ModuleList( (0): MinkowskiGenerativeConvolutionTranspose(in=64, out=64, kernel_size=[3, 3, 3], stride=[3, 3, 3], dilation=[1, 1, 1]) (1): Sequential( (0): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiELU() ) ) (3): ModuleList( (0): MinkowskiGenerativeConvolutionTranspose(in=64, out=64, kernel_size=[3, 3, 3], stride=[3, 3, 3], dilation=[1, 1, 1]) (1): Sequential( (0): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiELU() ) ) (4): ModuleList( (0): MinkowskiGenerativeConvolutionTranspose(in=64, out=64, kernel_size=[3, 3, 3], stride=[3, 3, 3], dilation=[1, 1, 1]) (1): Sequential( (0): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiELU() ) ) (5): ModuleList( (0): MinkowskiGenerativeConvolutionTranspose(in=64, out=64, kernel_size=[3, 3, 3], stride=[3, 3, 3], dilation=[1, 1, 1]) (1): Sequential( (0): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiELU() ) ) (6): ModuleList( (0): MinkowskiGenerativeConvolutionTranspose(in=64, out=64, kernel_size=[3, 3, 3], stride=[3, 3, 3], dilation=[1, 1, 1]) (1): Sequential( (0): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiELU() ) ) (7): ModuleList( (0): MinkowskiGenerativeConvolutionTranspose(in=64, out=64, kernel_size=[3, 3, 3], stride=[3, 3, 3], dilation=[1, 1, 1]) (1): Sequential( (0): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiELU() ) ) (8): ModuleList( (0): MinkowskiGenerativeConvolutionTranspose(in=64, out=64, kernel_size=[3, 3, 3], stride=[3, 3, 3], dilation=[1, 1, 1]) (1): Sequential( (0): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiELU() ) ) (9): ModuleList( (0): MinkowskiGenerativeConvolutionTranspose(in=64, out=64, kernel_size=[3, 3, 3], stride=[3, 3, 3], dilation=[1, 1, 1]) (1): Sequential( (0): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiELU() ) ) (10): ModuleList( (0): MinkowskiGenerativeConvolutionTranspose(in=64, out=64, kernel_size=[3, 3, 3], stride=[3, 3, 3], dilation=[1, 1, 1]) (1): Sequential( (0): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiELU() ) ) (11): ModuleList( (0): MinkowskiGenerativeConvolutionTranspose(in=64, out=64, kernel_size=[3, 3, 3], stride=[3, 3, 3], dilation=[1, 1, 1]) (1): Sequential( (0): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiELU() ) ) (12): ModuleList( (0): MinkowskiGenerativeConvolutionTranspose(in=64, out=64, kernel_size=[3, 3, 3], stride=[3, 3, 3], dilation=[1, 1, 1]) (1): Sequential( (0): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiELU() ) ) (13): ModuleList( (0): MinkowskiGenerativeConvolutionTranspose(in=64, out=64, kernel_size=[3, 3, 3], stride=[3, 3, 3], dilation=[1, 1, 1]) (1): Sequential( (0): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiELU() ) ) (14): ModuleList( (0): MinkowskiGenerativeConvolutionTranspose(in=64, out=64, kernel_size=[3, 3, 3], stride=[3, 3, 3], dilation=[1, 1, 1]) (1): Sequential( (0): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiELU() ) ) (15): ModuleList( (0): MinkowskiGenerativeConvolutionTranspose(in=64, out=64, kernel_size=[3, 3, 3], stride=[3, 3, 3], dilation=[1, 1, 1]) (1): Sequential( (0): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiELU() ) ) (16): ModuleList( (0): MinkowskiGenerativeConvolutionTranspose(in=64, out=64, kernel_size=[3, 3, 3], stride=[3, 3, 3], dilation=[1, 1, 1]) (1): Sequential( (0): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiELU() ) ) (17): ModuleList( (0): MinkowskiGenerativeConvolutionTranspose(in=64, out=64, kernel_size=[3, 3, 3], stride=[3, 3, 3], dilation=[1, 1, 1]) (1): Sequential( (0): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (1): MinkowskiELU() ) ) ) (cls_individual_fuse): ModuleList( (0): Sequential( (0): MinkowskiConvolution(in=128, out=64, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (1): Sequential( (0): MinkowskiConvolution(in=128, out=64, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (2): Sequential( (0): MinkowskiConvolution(in=128, out=64, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (3): Sequential( (0): MinkowskiConvolution(in=128, out=64, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (4): Sequential( (0): MinkowskiConvolution(in=128, out=64, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (5): Sequential( (0): MinkowskiConvolution(in=128, out=64, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (6): Sequential( (0): MinkowskiConvolution(in=128, out=64, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (7): Sequential( (0): MinkowskiConvolution(in=128, out=64, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (8): Sequential( (0): MinkowskiConvolution(in=128, out=64, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (9): Sequential( (0): MinkowskiConvolution(in=128, out=64, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (10): Sequential( (0): MinkowskiConvolution(in=128, out=64, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (11): Sequential( (0): MinkowskiConvolution(in=128, out=64, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (12): Sequential( (0): MinkowskiConvolution(in=128, out=64, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (13): Sequential( (0): MinkowskiConvolution(in=128, out=64, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (14): Sequential( (0): MinkowskiConvolution(in=128, out=64, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (15): Sequential( (0): MinkowskiConvolution(in=128, out=64, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (16): Sequential( (0): MinkowskiConvolution(in=128, out=64, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (17): Sequential( (0): MinkowskiConvolution(in=128, out=64, kernel_size=[1, 1, 1], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) ) (cls_individual_expand_out): ModuleList( (0): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[5, 5, 5], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (1): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[5, 5, 5], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (2): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[5, 5, 5], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (3): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[5, 5, 5], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (4): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[5, 5, 5], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (5): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[5, 5, 5], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (6): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[5, 5, 5], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (7): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[5, 5, 5], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (8): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[5, 5, 5], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (9): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[5, 5, 5], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (10): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[5, 5, 5], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (11): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[5, 5, 5], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (12): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[5, 5, 5], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (13): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[5, 5, 5], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (14): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[5, 5, 5], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (15): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[5, 5, 5], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (16): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[5, 5, 5], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) (17): Sequential( (0): MinkowskiConvolution(in=64, out=64, kernel_size=[5, 5, 5], stride=[1, 1, 1], dilation=[1, 1, 1]) (1): MinkowskiBatchNorm(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): MinkowskiELU() ) ) ) (point_head): None (roi_head): CAGroup3DRoIHead( (proposal_target_layer): ProposalTargetLayer() (reg_loss_func): WeightedSmoothL1Loss() (roi_grid_pool_layers): ModuleList( (0): SimplePoolingLayer( (grid_conv): MinkowskiConvolution(in=64, out=128, kernel_size=[5, 5, 5], stride=[1, 1, 1], dilation=[1, 1, 1]) (grid_bn): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (grid_relu): MinkowskiELU() (pooling_conv): MinkowskiConvolution(in=128, out=128, kernel_size=[7, 7, 7], stride=[1, 1, 1], dilation=[1, 1, 1]) (pooling_bn): MinkowskiBatchNorm(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) ) ) (reg_fc_layers): Sequential( (0): Linear(in_features=128, out_features=256, bias=False) (1): BatchNorm1d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): ReLU() (3): Dropout(p=0.3, inplace=False) (4): Linear(in_features=256, out_features=256, bias=False) (5): BatchNorm1d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (6): ReLU() ) (reg_pred_layer): Linear(in_features=256, out_features=6, bias=True) ) ) ) 2023-03-26 13:04:44,332 INFO **********************Start training scannet_models/CAGroup3D(cagroup3d-win10-scannet)********************** 2023-03-26 17:57:27,387 INFO Epoch [ 1][ 50]/[ 751] : lr: 1.000e-03, sem_thr: 0.15, loss_centerness: 0.41121925950050353, loss_bbox: 0.591667195558548, loss_cls: 0.6245615810155869, loss_sem: 0.9226177096366882, loss_vote: 0.3941664391756058, one_stage_loss: 2.944232153892517, rcnn_loss_reg: 0.09563416212797166, loss_two_stage: 0.09563416212797166, 2023-03-27 01:05:25,842 INFO Epoch [ 1][ 100]/[ 751] : lr: 1.000e-03, sem_thr: 0.15, loss_centerness: 0.6474508833885193, loss_bbox: 0.9094607937335968, loss_cls: 0.6924016952514649, loss_sem: 0.49122214019298555, loss_vote: 0.3444094204902649, one_stage_loss: 3.0849449157714846, rcnn_loss_reg: 0.8054922795295716, loss_two_stage: 0.8054922795295716, 2023-03-27 09:09:50,953 INFO Epoch [ 1][ 150]/[ 751] : lr: 1.000e-03, sem_thr: 0.15, loss_centerness: 0.6611717569828034, loss_bbox: 0.9181686878204346, loss_cls: 0.5644582629203796, loss_sem: 0.41418565332889556, loss_vote: 0.3369732141494751, one_stage_loss: 2.89495756149292, rcnn_loss_reg: 0.8431160509586334, loss_two_stage: 0.8431160509586334, 2023-03-27 16:28:05,927 INFO Epoch [ 1][ 200]/[ 751] : lr: 1.000e-03, sem_thr: 0.15, loss_centerness: 0.656439710855484, loss_bbox: 0.9153263866901398, loss_cls: 0.5242239183187485, loss_sem: 0.3945661741495132, loss_vote: 0.3303620731830597, one_stage_loss: 2.8209182739257814, rcnn_loss_reg: 0.7945010769367218, loss_two_stage: 0.7945010769367218, 2023-03-27 23:44:41,413 INFO Epoch [ 1][ 250]/[ 751] : lr: 1.000e-03, sem_thr: 0.15, loss_centerness: 0.6566858065128326, loss_bbox: 0.9171705722808838, loss_cls: 0.4788109028339386, loss_sem: 0.373558344244957, loss_vote: 0.3260516971349716, one_stage_loss: 2.7522773361206054, rcnn_loss_reg: 0.8879509460926056, loss_two_stage: 0.8879509460926056, 2023-03-28 07:09:01,191 INFO Epoch [ 1][ 300]/[ 751] : lr: 1.000e-03, sem_thr: 0.15, loss_centerness: 0.6561981821060181, loss_bbox: 0.9205144667625427, loss_cls: 0.43737293481826783, loss_sem: 0.36072677552700044, loss_vote: 0.33960326194763185, one_stage_loss: 2.7144156312942505, rcnn_loss_reg: 0.8250401616096497, loss_two_stage: 0.8250401616096497, 2023-03-28 14:42:28,718 INFO Epoch [ 1][ 350]/[ 751] : lr: 1.000e-03, sem_thr: 0.15, loss_centerness: 0.6570986831188201, loss_bbox: 0.9180864799022674, loss_cls: 0.4228892314434052, loss_sem: 0.34731213927268983, loss_vote: 0.33325146436691283, one_stage_loss: 2.6786380004882813, rcnn_loss_reg: 0.8330509012937546, loss_two_stage: 0.8330509012937546, 2023-03-28 22:09:49,850 INFO Epoch [ 1][ 400]/[ 751] : lr: 1.000e-03, sem_thr: 0.15, loss_centerness: 0.656031631231308, loss_bbox: 0.9223491895198822, loss_cls: 0.43734550893306734, loss_sem: 0.3400343120098114, loss_vote: 0.3391466856002808, one_stage_loss: 2.694907293319702, rcnn_loss_reg: 0.8316945809125901, loss_two_stage: 0.8316945809125901, 2023-03-29 05:19:54,386 INFO Epoch [ 1][ 450]/[ 751] : lr: 1.000e-03, sem_thr: 0.15, loss_centerness: 0.6560523915290832, loss_bbox: 0.9204720866680145, loss_cls: 0.40069283843040465, loss_sem: 0.32628621518611906, loss_vote: 0.32195273011922837, one_stage_loss: 2.6254562520980835, rcnn_loss_reg: 0.8233302390575409, loss_two_stage: 0.8233302390575409, 2023-03-29 12:20:56,383 INFO Epoch [ 1][ 500]/[ 751] : lr: 1.000e-03, sem_thr: 0.15, loss_centerness: 0.6548633110523224, loss_bbox: 0.9198633074760437, loss_cls: 0.37377377331256867, loss_sem: 0.3071948343515396, loss_vote: 0.31842518240213397, one_stage_loss: 2.5741204023361206, rcnn_loss_reg: 0.7916725933551788, loss_two_stage: 0.7916725933551788, 2023-03-29 19:32:20,640 INFO Epoch [ 1][ 550]/[ 751] : lr: 1.000e-03, sem_thr: 0.15, loss_centerness: 0.6493923151493073, loss_bbox: 0.9170721697807313, loss_cls: 0.3662705320119858, loss_sem: 0.3003894621133804, loss_vote: 0.3346439358592033, one_stage_loss: 2.567768402099609, rcnn_loss_reg: 0.7994219380617141, loss_two_stage: 0.7994219380617141, 2023-03-30 02:35:54,561 INFO Epoch [ 1][ 600]/[ 751] : lr: 1.000e-03, sem_thr: 0.15, loss_centerness: 0.650925452709198, loss_bbox: 0.9172565031051636, loss_cls: 0.35118326723575594, loss_sem: 0.28706444770097733, loss_vote: 0.32694552272558214, one_stage_loss: 2.533375201225281, rcnn_loss_reg: 0.7785894459486008, loss_two_stage: 0.7785894459486008, 2023-03-30 09:21:20,835 INFO Epoch [ 1][ 650]/[ 751] : lr: 1.000e-03, sem_thr: 0.15, loss_centerness: 0.6479902148246766, loss_bbox: 0.9160817635059356, loss_cls: 0.3432228803634644, loss_sem: 0.27448746263980867, loss_vote: 0.33310336887836456, one_stage_loss: 2.5148857116699217, rcnn_loss_reg: 0.818324797153473, loss_two_stage: 0.818324797153473, 2023-03-30 16:02:35,928 INFO Epoch [ 1][ 700]/[ 751] : lr: 1.000e-03, sem_thr: 0.15, loss_centerness: 0.6494181442260742, loss_bbox: 0.9183876121044159, loss_cls: 0.3300267934799194, loss_sem: 0.2648452860116959, loss_vote: 0.32385929524898527, one_stage_loss: 2.486537137031555, rcnn_loss_reg: 0.8490620160102844, loss_two_stage: 0.8490620160102844, 2023-03-30 22:40:11,348 INFO Epoch [ 1][ 750]/[ 751] : lr: 1.000e-03, sem_thr: 0.15, loss_centerness: 0.6499875509738922, loss_bbox: 0.9197572791576385, loss_cls: 0.3292002022266388, loss_sem: 0.2616344812512398, loss_vote: 0.32180937737226484, one_stage_loss: 2.482388873100281, rcnn_loss_reg: 0.7996994721889495, loss_two_stage: 0.7996994721889495, 2023-03-30 22:49:33,109 INFO **********************End training scannet_models/CAGroup3D(cagroup3d-win10-scannet)********************** 2023-03-30 22:49:33,111 INFO **********************Start evaluation scannet_models/CAGroup3D(cagroup3d-win10-scannet)********************** 2023-03-30 22:49:33,112 INFO Loading SCANNET dataset 2023-03-30 22:49:33,161 INFO Total samples for SCANNET dataset: 312 2023-03-30 22:49:33,168 INFO ==> Loading parameters from checkpoint C:\CITYU\CS5182\proj\CAGroup3D\output\scannet_models\CAGroup3D\cagroup3d-win10-scannet\ckpt\checkpoint_epoch_1.pth to CPU 2023-03-30 22:49:34,337 INFO ==> Checkpoint trained from version: pcdet+0.5.2+4ae8a35+py6af8eab 2023-03-30 22:49:34,456 INFO ==> Done (loaded 838/838) 2023-03-30 22:49:35,263 INFO *************** EPOCH 1 EVALUATION *****************