XuyangBai / TransFusion

[PyTorch] Official implementation of CVPR2022 paper "TransFusion: Robust LiDAR-Camera Fusion for 3D Object Detection with Transformers". https://arxiv.org/abs/2203.11496
Apache License 2.0
642 stars 77 forks source link

FileNotFoundError: [Errno 2] No such file or directory: #13

Closed zzm-hl closed 2 years ago

zzm-hl commented 2 years ago

I have create the nuscenes data but when I train it ,it was wrong `import DCN failed 2022-05-08 22:32:42,314 - mmdet - INFO - Environment info:

sys.platform: linux Python: 3.7.13 (default, Mar 29 2022, 02:18:16) [GCC 7.5.0] CUDA available: True GPU 0: Quadro P1000 CUDA_HOME: /public/home/u212040344/usr/local/cuda-11.0 NVCC: Build cuda_11.0_bu.TC445_37.28845127_0 GCC: gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5) PyTorch: 1.7.1+cu110 PyTorch compiling details: PyTorch built with:

TorchVision: 0.8.2+cu110 OpenCV: 4.5.5 MMCV: 1.2.4 MMCV Compiler: GCC 7.3 MMCV CUDA Compiler: 11.0 MMDetection: 2.10.0 MMDetection3D: 0.11.0+5337046

2022-05-08 22:32:43,758 - mmdet - INFO - Distributed training: False 2022-05-08 22:32:45,197 - mmdet - INFO - Config: point_cloud_range = [-54.0, -54.0, -5.0, 54.0, 54.0, 3.0] class_names = [ 'car', 'truck', 'construction_vehicle', 'bus', 'trailer', 'barrier', 'motorcycle', 'bicycle', 'pedestrian', 'traffic_cone' ] voxel_size = [0.075, 0.075, 0.2] out_size_factor = 8 evaluation = dict(interval=1) dataset_type = 'NuScenesDataset' data_root = 'data/nuscenes/' input_modality = dict( use_lidar=True, use_camera=False, use_radar=False, use_map=False, use_external=False) train_pipeline = [ dict( type='LoadPointsFromFile', coord_type='LIDAR', load_dim=5, use_dim=[0, 1, 2, 3, 4]), dict( type='LoadPointsFromMultiSweeps', sweeps_num=10, use_dim=[0, 1, 2, 3, 4]), dict(type='LoadAnnotations3D', with_bbox_3d=True, with_label_3d=True), dict( type='ObjectSample', db_sampler=dict( data_root=None, info_path='data/nuscenes/nuscenes_dbinfos_train.pkl', rate=1.0, prepare=dict( filter_by_difficulty=[-1], filter_by_min_points=dict( car=5, truck=5, bus=5, trailer=5, construction_vehicle=5, traffic_cone=5, barrier=5, motorcycle=5, bicycle=5, pedestrian=5)), classes=[ 'car', 'truck', 'construction_vehicle', 'bus', 'trailer', 'barrier', 'motorcycle', 'bicycle', 'pedestrian', 'traffic_cone' ], sample_groups=dict( car=2, truck=3, construction_vehicle=7, bus=4, trailer=6, barrier=2, motorcycle=6, bicycle=6, pedestrian=2, traffic_cone=2), points_loader=dict( type='LoadPointsFromFile', coord_type='LIDAR', load_dim=5, use_dim=[0, 1, 2, 3, 4]))), dict( type='GlobalRotScaleTrans', rot_range=[-0.785, 0.785], scale_ratio_range=[0.9, 1.1], translation_std=[0.5, 0.5, 0.5]), dict( type='RandomFlip3D', sync_2d=False, flip_ratio_bev_horizontal=0.5, flip_ratio_bev_vertical=0.5), dict( type='PointsRangeFilter', point_cloud_range=[-54.0, -54.0, -5.0, 54.0, 54.0, 3.0]), dict( type='ObjectRangeFilter', point_cloud_range=[-54.0, -54.0, -5.0, 54.0, 54.0, 3.0]), dict( type='ObjectNameFilter', classes=[ 'car', 'truck', 'construction_vehicle', 'bus', 'trailer', 'barrier', 'motorcycle', 'bicycle', 'pedestrian', 'traffic_cone' ]), dict(type='PointShuffle'), dict( type='DefaultFormatBundle3D', class_names=[ 'car', 'truck', 'construction_vehicle', 'bus', 'trailer', 'barrier', 'motorcycle', 'bicycle', 'pedestrian', 'traffic_cone' ]), dict(type='Collect3D', keys=['points', 'gt_bboxes_3d', 'gt_labels_3d']) ] test_pipeline = [ dict( type='LoadPointsFromFile', coord_type='LIDAR', load_dim=5, use_dim=[0, 1, 2, 3, 4]), dict( type='LoadPointsFromMultiSweeps', sweeps_num=10, use_dim=[0, 1, 2, 3, 4]), dict( type='MultiScaleFlipAug3D', img_scale=(1333, 800), pts_scale_ratio=1, flip=False, transforms=[ dict( type='GlobalRotScaleTrans', rot_range=[0, 0], scale_ratio_range=[1.0, 1.0], translation_std=[0, 0, 0]), dict(type='RandomFlip3D'), dict( type='DefaultFormatBundle3D', class_names=[ 'car', 'truck', 'construction_vehicle', 'bus', 'trailer', 'barrier', 'motorcycle', 'bicycle', 'pedestrian', 'traffic_cone' ], with_label=False), dict(type='Collect3D', keys=['points']) ]) ] data = dict( samples_per_gpu=2, workers_per_gpu=6, train=dict( type='CBGSDataset', dataset=dict( type='NuScenesDataset', data_root='data/nuscenes/', ann_file='data/nuscenes//nuscenes_infos_train.pkl', load_interval=1, pipeline=[ dict( type='LoadPointsFromFile', coord_type='LIDAR', load_dim=5, use_dim=[0, 1, 2, 3, 4]), dict( type='LoadPointsFromMultiSweeps', sweeps_num=10, use_dim=[0, 1, 2, 3, 4]), dict( type='LoadAnnotations3D', with_bbox_3d=True, with_label_3d=True), dict( type='ObjectSample', db_sampler=dict( data_root=None, info_path='data/nuscenes/nuscenes_dbinfos_train.pkl', rate=1.0, prepare=dict( filter_by_difficulty=[-1], filter_by_min_points=dict( car=5, truck=5, bus=5, trailer=5, construction_vehicle=5, traffic_cone=5, barrier=5, motorcycle=5, bicycle=5, pedestrian=5)), classes=[ 'car', 'truck', 'construction_vehicle', 'bus', 'trailer', 'barrier', 'motorcycle', 'bicycle', 'pedestrian', 'traffic_cone' ], sample_groups=dict( car=2, truck=3, construction_vehicle=7, bus=4, trailer=6, barrier=2, motorcycle=6, bicycle=6, pedestrian=2, traffic_cone=2), points_loader=dict( type='LoadPointsFromFile', coord_type='LIDAR', load_dim=5, use_dim=[0, 1, 2, 3, 4]))), dict( type='GlobalRotScaleTrans', rot_range=[-0.785, 0.785], scale_ratio_range=[0.9, 1.1], translation_std=[0.5, 0.5, 0.5]), dict( type='RandomFlip3D', sync_2d=False, flip_ratio_bev_horizontal=0.5, flip_ratio_bev_vertical=0.5), dict( type='PointsRangeFilter', point_cloud_range=[-54.0, -54.0, -5.0, 54.0, 54.0, 3.0]), dict( type='ObjectRangeFilter', point_cloud_range=[-54.0, -54.0, -5.0, 54.0, 54.0, 3.0]), dict( type='ObjectNameFilter', classes=[ 'car', 'truck', 'construction_vehicle', 'bus', 'trailer', 'barrier', 'motorcycle', 'bicycle', 'pedestrian', 'traffic_cone' ]), dict(type='PointShuffle'), dict( type='DefaultFormatBundle3D', class_names=[ 'car', 'truck', 'construction_vehicle', 'bus', 'trailer', 'barrier', 'motorcycle', 'bicycle', 'pedestrian', 'traffic_cone' ]), dict( type='Collect3D', keys=['points', 'gt_bboxes_3d', 'gt_labels_3d']) ], classes=[ 'car', 'truck', 'construction_vehicle', 'bus', 'trailer', 'barrier', 'motorcycle', 'bicycle', 'pedestrian', 'traffic_cone' ], modality=dict( use_lidar=True, use_camera=False, use_radar=False, use_map=False, use_external=False), test_mode=False, box_type_3d='LiDAR')), val=dict( type='NuScenesDataset', data_root='data/nuscenes/', ann_file='data/nuscenes//nuscenes_infos_val.pkl', load_interval=1, pipeline=[ dict( type='LoadPointsFromFile', coord_type='LIDAR', load_dim=5, use_dim=[0, 1, 2, 3, 4]), dict( type='LoadPointsFromMultiSweeps', sweeps_num=10, use_dim=[0, 1, 2, 3, 4]), dict( type='MultiScaleFlipAug3D', img_scale=(1333, 800), pts_scale_ratio=1, flip=False, transforms=[ dict( type='GlobalRotScaleTrans', rot_range=[0, 0], scale_ratio_range=[1.0, 1.0], translation_std=[0, 0, 0]), dict(type='RandomFlip3D'), dict( type='DefaultFormatBundle3D', class_names=[ 'car', 'truck', 'construction_vehicle', 'bus', 'trailer', 'barrier', 'motorcycle', 'bicycle', 'pedestrian', 'traffic_cone' ], with_label=False), dict(type='Collect3D', keys=['points']) ]) ], classes=[ 'car', 'truck', 'construction_vehicle', 'bus', 'trailer', 'barrier', 'motorcycle', 'bicycle', 'pedestrian', 'traffic_cone' ], modality=dict( use_lidar=True, use_camera=False, use_radar=False, use_map=False, use_external=False), test_mode=True, box_type_3d='LiDAR'), test=dict( type='NuScenesDataset', data_root='data/nuscenes/', ann_file='data/nuscenes//nuscenes_infos_val.pkl', load_interval=1, pipeline=[ dict( type='LoadPointsFromFile', coord_type='LIDAR', load_dim=5, use_dim=[0, 1, 2, 3, 4]), dict( type='LoadPointsFromMultiSweeps', sweeps_num=10, use_dim=[0, 1, 2, 3, 4]), dict( type='MultiScaleFlipAug3D', img_scale=(1333, 800), pts_scale_ratio=1, flip=False, transforms=[ dict( type='GlobalRotScaleTrans', rot_range=[0, 0], scale_ratio_range=[1.0, 1.0], translation_std=[0, 0, 0]), dict(type='RandomFlip3D'), dict( type='DefaultFormatBundle3D', class_names=[ 'car', 'truck', 'construction_vehicle', 'bus', 'trailer', 'barrier', 'motorcycle', 'bicycle', 'pedestrian', 'traffic_cone' ], with_label=False), dict(type='Collect3D', keys=['points']) ]) ], classes=[ 'car', 'truck', 'construction_vehicle', 'bus', 'trailer', 'barrier', 'motorcycle', 'bicycle', 'pedestrian', 'traffic_cone' ], modality=dict( use_lidar=True, use_camera=False, use_radar=False, use_map=False, use_external=False), test_mode=True, box_type_3d='LiDAR')) model = dict( type='TransFusionDetector', pts_voxel_layer=dict( max_num_points=10, voxel_size=[0.075, 0.075, 0.2], max_voxels=(120000, 160000), point_cloud_range=[-54.0, -54.0, -5.0, 54.0, 54.0, 3.0]), pts_voxel_encoder=dict(type='HardSimpleVFE', num_features=5), pts_middle_encoder=dict( type='SparseEncoder', in_channels=5, sparse_shape=[41, 1440, 1440], output_channels=128, order=('conv', 'norm', 'act'), encoder_channels=((16, 16, 32), (32, 32, 64), (64, 64, 128), (128, 128)), encoder_paddings=((0, 0, 1), (0, 0, 1), (0, 0, [0, 1, 1]), (0, 0)), block_type='basicblock'), pts_backbone=dict( type='SECOND', in_channels=256, out_channels=[128, 256], layer_nums=[5, 5], layer_strides=[1, 2], norm_cfg=dict(type='BN', eps=0.001, momentum=0.01), conv_cfg=dict(type='Conv2d', bias=False)), pts_neck=dict( type='SECONDFPN', in_channels=[128, 256], out_channels=[256, 256], upsample_strides=[1, 2], norm_cfg=dict(type='BN', eps=0.001, momentum=0.01), upsample_cfg=dict(type='deconv', bias=False), use_conv_for_no_stride=True), pts_bbox_head=dict( type='TransFusionHead', num_proposals=200, auxiliary=True, in_channels=512, hidden_channel=128, num_classes=10, num_decoder_layers=1, num_heads=8, learnable_query_pos=False, initialize_by_heatmap=True, nms_kernel_size=3, ffn_channel=256, dropout=0.1, bn_momentum=0.1, activation='relu', common_heads=dict( center=(2, 2), height=(1, 2), dim=(3, 2), rot=(2, 2), vel=(2, 2)), bbox_coder=dict( type='TransFusionBBoxCoder', pc_range=[-54.0, -54.0], voxel_size=[0.075, 0.075], out_size_factor=8, post_center_range=[-61.2, -61.2, -10.0, 61.2, 61.2, 10.0], score_threshold=0.0, code_size=10), loss_cls=dict( type='FocalLoss', use_sigmoid=True, gamma=2, alpha=0.25, reduction='mean', loss_weight=1.0), loss_bbox=dict(type='L1Loss', reduction='mean', loss_weight=0.25), loss_heatmap=dict( type='GaussianFocalLoss', reduction='mean', loss_weight=1.0)), train_cfg=dict( pts=dict( dataset='nuScenes', assigner=dict( type='HungarianAssigner3D', iou_calculator=dict(type='BboxOverlaps3D', coordinate='lidar'), cls_cost=dict( type='FocalLossCost', gamma=2, alpha=0.25, weight=0.15), reg_cost=dict(type='BBoxBEVL1Cost', weight=0.25), iou_cost=dict(type='IoU3DCost', weight=0.25)), pos_weight=-1, gaussian_overlap=0.1, min_radius=2, grid_size=[1440, 1440, 40], voxel_size=[0.075, 0.075, 0.2], out_size_factor=8, code_weights=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.2, 0.2], point_cloud_range=[-54.0, -54.0, -5.0, 54.0, 54.0, 3.0])), test_cfg=dict( pts=dict( dataset='nuScenes', grid_size=[1440, 1440, 40], out_size_factor=8, pc_range=[-54.0, -54.0], voxel_size=[0.075, 0.075], nms_type=None))) optimizer = dict(type='AdamW', lr=0.0001, weight_decay=0.01) optimizer_config = dict(grad_clip=dict(max_norm=0.1, norm_type=2)) lr_config = dict( policy='cyclic', target_ratio=(10, 0.0001), cyclic_times=1, step_ratio_up=0.4) momentum_config = dict( policy='cyclic', target_ratio=(0.8947368421052632, 1), cyclic_times=1, step_ratio_up=0.4) total_epochs = 20 checkpoint_config = dict(interval=1) log_config = dict( interval=50, hooks=[dict(type='TextLoggerHook'), dict(type='TensorboardLoggerHook')]) dist_params = dict(backend='nccl') log_level = 'INFO' work_dir = './work_dirs/transfusion_nusc_voxel_L' load_from = None resume_from = None workflow = [('train', 1)] gpu_ids = range(0, 1)

2022-05-08 22:32:45,198 - mmdet - INFO - Set random seed to 0, deterministic: False 2022-05-08 22:32:45,551 - mmdet - INFO - Model: TransFusionDetector( (pts_voxel_layer): Voxelization(voxel_size=[0.075, 0.075, 0.2], point_cloud_range=[-54.0, -54.0, -5.0, 54.0, 54.0, 3.0], max_num_points=10, max_voxels=(120000, 160000)) (pts_voxel_encoder): HardSimpleVFE() (pts_middle_encoder): SparseEncoder( (conv_input): SparseSequential( (0): SubMConv3d() (1): BatchNorm1d(16, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (2): ReLU(inplace=True) ) (encoder_layers): SparseSequential( (encoder_layer1): SparseSequential( (0): SparseBasicBlock( (conv1): SubMConv3d() (bn1): BatchNorm1d(16, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (conv2): SubMConv3d() (bn2): BatchNorm1d(16, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (relu): ReLU(inplace=True) ) (1): SparseBasicBlock( (conv1): SubMConv3d() (bn1): BatchNorm1d(16, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (conv2): SubMConv3d() (bn2): BatchNorm1d(16, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (relu): ReLU(inplace=True) ) (2): SparseSequential( (0): SparseConv3d() (1): BatchNorm1d(32, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (2): ReLU(inplace=True) ) ) (encoder_layer2): SparseSequential( (0): SparseBasicBlock( (conv1): SubMConv3d() (bn1): BatchNorm1d(32, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (conv2): SubMConv3d() (bn2): BatchNorm1d(32, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (relu): ReLU(inplace=True) ) (1): SparseBasicBlock( (conv1): SubMConv3d() (bn1): BatchNorm1d(32, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (conv2): SubMConv3d() (bn2): BatchNorm1d(32, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (relu): ReLU(inplace=True) ) (2): SparseSequential( (0): SparseConv3d() (1): BatchNorm1d(64, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (2): ReLU(inplace=True) ) ) (encoder_layer3): SparseSequential( (0): SparseBasicBlock( (conv1): SubMConv3d() (bn1): BatchNorm1d(64, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (conv2): SubMConv3d() (bn2): BatchNorm1d(64, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (relu): ReLU(inplace=True) ) (1): SparseBasicBlock( (conv1): SubMConv3d() (bn1): BatchNorm1d(64, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (conv2): SubMConv3d() (bn2): BatchNorm1d(64, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (relu): ReLU(inplace=True) ) (2): SparseSequential( (0): SparseConv3d() (1): BatchNorm1d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (2): ReLU(inplace=True) ) ) (encoder_layer4): SparseSequential( (0): SparseBasicBlock( (conv1): SubMConv3d() (bn1): BatchNorm1d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (conv2): SubMConv3d() (bn2): BatchNorm1d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (relu): ReLU(inplace=True) ) (1): SparseBasicBlock( (conv1): SubMConv3d() (bn1): BatchNorm1d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (conv2): SubMConv3d() (bn2): BatchNorm1d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (relu): ReLU(inplace=True) ) ) ) (conv_out): SparseSequential( (0): SparseConv3d() (1): BatchNorm1d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (2): ReLU(inplace=True) ) ) (pts_backbone): SECOND( (blocks): ModuleList( (0): Sequential( (0): Conv2d(256, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (1): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (2): ReLU(inplace=True) (3): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (4): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (5): ReLU(inplace=True) (6): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (7): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (8): ReLU(inplace=True) (9): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (10): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (11): ReLU(inplace=True) (12): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (13): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (14): ReLU(inplace=True) (15): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (16): BatchNorm2d(128, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (17): ReLU(inplace=True) ) (1): Sequential( (0): Conv2d(128, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False) (1): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (2): ReLU(inplace=True) (3): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (4): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (5): ReLU(inplace=True) (6): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (7): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (8): ReLU(inplace=True) (9): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (10): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (11): ReLU(inplace=True) (12): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (13): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (14): ReLU(inplace=True) (15): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (16): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (17): ReLU(inplace=True) ) ) ) (pts_neck): SECONDFPN( (deblocks): ModuleList( (0): Sequential( (0): Conv2d(128, 256, kernel_size=(1, 1), stride=(1, 1), bias=False) (1): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (2): ReLU(inplace=True) ) (1): Sequential( (0): ConvTranspose2d(256, 256, kernel_size=(2, 2), stride=(2, 2), bias=False) (1): BatchNorm2d(256, eps=0.001, momentum=0.01, affine=True, track_running_stats=True) (2): ReLU(inplace=True) ) ) ) (pts_bbox_head): TransFusionHead( (loss_cls): FocalLoss() (loss_bbox): L1Loss() (loss_iou): VarifocalLoss() (loss_heatmap): GaussianFocalLoss() (shared_conv): Conv2d(512, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (heatmap_head): Sequential( (0): ConvModule( (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activate): ReLU(inplace=True) ) (1): Conv2d(128, 10, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) ) (class_encoding): Conv1d(10, 128, kernel_size=(1,), stride=(1,)) (decoder): ModuleList( (0): TransformerDecoderLayer( (self_attn): MultiheadAttention( (out_proj): Linear(in_features=128, out_features=128, bias=True) ) (multihead_attn): MultiheadAttention( (out_proj): Linear(in_features=128, out_features=128, bias=True) ) (linear1): Linear(in_features=128, out_features=256, bias=True) (dropout): Dropout(p=0.1, inplace=False) (linear2): Linear(in_features=256, out_features=128, bias=True) (norm1): LayerNorm((128,), eps=1e-05, elementwise_affine=True) (norm2): LayerNorm((128,), eps=1e-05, elementwise_affine=True) (norm3): LayerNorm((128,), eps=1e-05, elementwise_affine=True) (dropout1): Dropout(p=0.1, inplace=False) (dropout2): Dropout(p=0.1, inplace=False) (dropout3): Dropout(p=0.1, inplace=False) (self_posembed): PositionEmbeddingLearned( (position_embedding_head): Sequential( (0): Conv1d(2, 128, kernel_size=(1,), stride=(1,)) (1): BatchNorm1d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): ReLU(inplace=True) (3): Conv1d(128, 128, kernel_size=(1,), stride=(1,)) ) ) (cross_posembed): PositionEmbeddingLearned( (position_embedding_head): Sequential( (0): Conv1d(2, 128, kernel_size=(1,), stride=(1,)) (1): BatchNorm1d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (2): ReLU(inplace=True) (3): Conv1d(128, 128, kernel_size=(1,), stride=(1,)) ) ) ) ) (prediction_heads): ModuleList( (0): FFN( (center): Sequential( (0): ConvModule( (conv): Conv1d(128, 64, kernel_size=(1,), stride=(1,), bias=False) (bn): BatchNorm1d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activate): ReLU(inplace=True) ) (1): Conv1d(64, 2, kernel_size=(1,), stride=(1,)) ) (height): Sequential( (0): ConvModule( (conv): Conv1d(128, 64, kernel_size=(1,), stride=(1,), bias=False) (bn): BatchNorm1d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activate): ReLU(inplace=True) ) (1): Conv1d(64, 1, kernel_size=(1,), stride=(1,)) ) (dim): Sequential( (0): ConvModule( (conv): Conv1d(128, 64, kernel_size=(1,), stride=(1,), bias=False) (bn): BatchNorm1d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activate): ReLU(inplace=True) ) (1): Conv1d(64, 3, kernel_size=(1,), stride=(1,)) ) (rot): Sequential( (0): ConvModule( (conv): Conv1d(128, 64, kernel_size=(1,), stride=(1,), bias=False) (bn): BatchNorm1d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activate): ReLU(inplace=True) ) (1): Conv1d(64, 2, kernel_size=(1,), stride=(1,)) ) (vel): Sequential( (0): ConvModule( (conv): Conv1d(128, 64, kernel_size=(1,), stride=(1,), bias=False) (bn): BatchNorm1d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activate): ReLU(inplace=True) ) (1): Conv1d(64, 2, kernel_size=(1,), stride=(1,)) ) (heatmap): Sequential( (0): ConvModule( (conv): Conv1d(128, 64, kernel_size=(1,), stride=(1,), bias=False) (bn): BatchNorm1d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (activate): ReLU(inplace=True) ) (1): Conv1d(64, 10, kernel_size=(1,), stride=(1,)) ) ) ) ) ) 2022-05-08 22:33:08,329 - mmdet - INFO - load 65262 truck database infos 2022-05-08 22:33:08,359 - mmdet - INFO - load 161928 pedestrian database infos 2022-05-08 22:33:08,359 - mmdet - INFO - load 339949 car database infos 2022-05-08 22:33:08,359 - mmdet - INFO - load 2120 movable_object.debris database infos 2022-05-08 22:33:08,359 - mmdet - INFO - load 62964 traffic_cone database infos 2022-05-08 22:33:08,359 - mmdet - INFO - load 8846 motorcycle database infos 2022-05-08 22:33:08,359 - mmdet - INFO - load 2259 static_object.bicycle_rack database infos 2022-05-08 22:33:08,359 - mmdet - INFO - load 19195 movable_object.pushable_pullable database infos 2022-05-08 22:33:08,360 - mmdet - INFO - load 11 vehicle.emergency.ambulance database infos 2022-05-08 22:33:08,360 - mmdet - INFO - load 11050 construction_vehicle database infos 2022-05-08 22:33:08,360 - mmdet - INFO - load 19202 trailer database infos 2022-05-08 22:33:08,360 - mmdet - INFO - load 107507 barrier database infos 2022-05-08 22:33:08,360 - mmdet - INFO - load 8185 bicycle database infos 2022-05-08 22:33:08,360 - mmdet - INFO - load 12286 bus database infos 2022-05-08 22:33:08,360 - mmdet - INFO - load 498 vehicle.emergency.police database infos 2022-05-08 22:33:08,360 - mmdet - INFO - load 751 human.pedestrian.stroller database infos 2022-05-08 22:33:08,360 - mmdet - INFO - load 619 animal database infos 2022-05-08 22:33:08,360 - mmdet - INFO - load 492 human.pedestrian.wheelchair database infos 2022-05-08 22:33:08,360 - mmdet - INFO - load 352 human.pedestrian.personal_mobility database infos 2022-05-08 22:33:10,383 - mmdet - INFO - After filter database: 2022-05-08 22:33:10,384 - mmdet - INFO - load 60691 truck database infos 2022-05-08 22:33:10,384 - mmdet - INFO - load 149198 pedestrian database infos 2022-05-08 22:33:10,385 - mmdet - INFO - load 296423 car database infos 2022-05-08 22:33:10,385 - mmdet - INFO - load 2120 movable_object.debris database infos 2022-05-08 22:33:10,385 - mmdet - INFO - load 56455 traffic_cone database infos 2022-05-08 22:33:10,385 - mmdet - INFO - load 8094 motorcycle database infos 2022-05-08 22:33:10,385 - mmdet - INFO - load 2259 static_object.bicycle_rack database infos 2022-05-08 22:33:10,385 - mmdet - INFO - load 19195 movable_object.pushable_pullable database infos 2022-05-08 22:33:10,385 - mmdet - INFO - load 11 vehicle.emergency.ambulance database infos 2022-05-08 22:33:10,385 - mmdet - INFO - load 10622 construction_vehicle database infos 2022-05-08 22:33:10,385 - mmdet - INFO - load 18165 trailer database infos 2022-05-08 22:33:10,385 - mmdet - INFO - load 102476 barrier database infos 2022-05-08 22:33:10,385 - mmdet - INFO - load 7565 bicycle database infos 2022-05-08 22:33:10,385 - mmdet - INFO - load 11662 bus database infos 2022-05-08 22:33:10,385 - mmdet - INFO - load 498 vehicle.emergency.police database infos 2022-05-08 22:33:10,385 - mmdet - INFO - load 751 human.pedestrian.stroller database infos 2022-05-08 22:33:10,385 - mmdet - INFO - load 619 animal database infos 2022-05-08 22:33:10,385 - mmdet - INFO - load 492 human.pedestrian.wheelchair database infos 2022-05-08 22:33:10,385 - mmdet - INFO - load 352 human.pedestrian.personal_mobility database infos /public/home/u212040344/.conda/envs/transfusion/lib/python3.7/site-packages/mmdet/apis/train.py:97: UserWarning: config is now expected to have a runner section, please set runner in your config. 'please set runner in your config.', UserWarning) 2022-05-08 22:33:39,088 - mmdet - INFO - Start running, host: u212040344@tc6000, work_dir: /public/home/u212040344/TransFusion/work_dirs/transfusion_nusc_voxel_L 2022-05-08 22:33:39,089 - mmdet - INFO - workflow: [('train', 1)], max: 20 epochs Traceback (most recent call last): File "./tools/train.py", line 254, in main() File "./tools/train.py", line 250, in main meta=meta) File "/public/home/u212040344/.conda/envs/transfusion/lib/python3.7/site-packages/mmdet/apis/train.py", line 170, in train_detector runner.run(data_loaders, cfg.workflow) File "/public/home/u212040344/.conda/envs/transfusion/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 125, in run epoch_runner(data_loaders[i], **kwargs) File "/public/home/u212040344/.conda/envs/transfusion/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 47, in train for i, data_batch in enumerate(self.data_loader): File "/public/home/u212040344/.conda/envs/transfusion/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 435, in next data = self._next_data() File "/public/home/u212040344/.conda/envs/transfusion/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 1085, in _next_data return self._process_data(data) File "/public/home/u212040344/.conda/envs/transfusion/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 1111, in _process_data data.reraise() File "/public/home/u212040344/.conda/envs/transfusion/lib/python3.7/site-packages/torch/_utils.py", line 428, in reraise raise self.exc_type(msg) FileNotFoundError: Caught FileNotFoundError in DataLoader worker process 0. Original Traceback (most recent call last): File "/public/home/u212040344/.conda/envs/transfusion/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 198, in _worker_loop data = fetcher.fetch(index) File "/public/home/u212040344/.conda/envs/transfusion/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "/public/home/u212040344/.conda/envs/transfusion/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in data = [self.dataset[idx] for idx in possibly_batched_index] File "/public/home/u212040344/TransFusion/mmdet3d/datasets/dataset_wrappers.py", line 67, in getitem return self.dataset[ori_idx] File "/public/home/u212040344/TransFusion/mmdet3d/datasets/custom_3d.py", line 295, in getitem data = self.prepare_train_data(idx) File "/public/home/u212040344/TransFusion/mmdet3d/datasets/custom_3d.py", line 151, in prepare_train_data example = self.pipeline(input_dict) File "/public/home/u212040344/.conda/envs/transfusion/lib/python3.7/site-packages/mmdet/datasets/pipelines/compose.py", line 40, in call data = t(data) File "/public/home/u212040344/TransFusion/mmdet3d/datasets/pipelines/transforms_3d.py", line 179, in call gt_bboxes_3d.tensor.numpy(), gt_labels_3d, img=None) File "/public/home/u212040344/TransFusion/mmdet3d/datasets/pipelines/dbsampler.py", line 256, in sample_all s_points = self.points_loader(results)['points'] File "/public/home/u212040344/TransFusion/mmdet3d/datasets/pipelines/loading.py", line 792, in call points = self._load_points(pts_filename) File "/public/home/u212040344/TransFusion/mmdet3d/datasets/pipelines/loading.py", line 768, in _load_points pts_bytes = self.file_client.get(pts_filename) File "/public/home/u212040344/.conda/envs/transfusion/lib/python3.7/site-packages/mmcv/fileio/file_client.py", line 292, in get return self.client.get(filepath) File "/public/home/u212040344/.conda/envs/transfusion/lib/python3.7/site-packages/mmcv/fileio/file_client.py", line 183, in get with open(filepath, 'rb') as f: FileNotFoundError: [Errno 2] No such file or directory: 'nuscenes_gt_database/3d6241b0262d4ab98147a98c80656aa0_truck_20.bin' ` FileNotFoundError: [Errno 2] No such file or directory: 'nuscenes_gt_database/3d6241b0262d4ab98147a98c80656aa0_truck_20.bin'

xiaobinbin813 commented 2 years ago

I have the same problem, did you solve it

XuyangBai commented 2 years ago

@xiaobinbin813 use data_root=data_root, instead of data_root=None in ObjectSample. I use a different path to save my gt database.

xiaobinbin813 commented 2 years ago

It helps, thank you very much

xxp912 commented 2 years ago

@xiaobinbin813 use data_root=data_root, instead of data_root=None in ObjectSample. I use a different path to save my gt database.

@XuyangBai @xiaobinbin813 I met the same bug "import DCN failed" when I use the recommend command "python demo/pcd_demo.py demo/kitti_000008.bin configs/second/hv_second_secfpn_6x8_80e_kitti-3d-car.py checkpoints/hv_second_secfpn_fp16_6x8_80e_kitti-3d-car_20200924_211301-1f5ad833.pth" to test the demo, but I don't understand how to change data_root in ObjectSample. I don't know which file should to fix? Could you tell me more accurate steps to solve the bug?