_base_ = [ '../_base_/datasets/scannet-seg.py', '../_base_/models/pointnet2_msg.py', '../_base_/schedules/seg-cosine-200e.py', '../_base_/default_runtime.py' ] # model settings model = dict( decode_head=dict( num_classes=20, ignore_index=20, # `class_weight` is generated in data pre-processing, saved in # `data/scannet/seg_info/train_label_weight.npy` # you can copy paste the values here, or input the file path as # `class_weight=data/scannet/seg_info/train_label_weight.npy` loss_decode=dict(class_weight=[ 2.389689, 2.7215734, 4.5944676, 4.8543367, 4.096086, 4.907941, 4.690836, 4.512031, 4.623311, 4.9242644, 5.358117, 5.360071, 5.019636, 4.967126, 5.3502126, 5.4023647, 5.4027233, 5.4169416, 5.3954206, 4.6971426 ])), test_cfg=dict( num_points=8192, block_size=1.5, sample_rate=0.5, use_normalized_coord=False, batch_size=24)) # data settings train_dataloader = dict(batch_size=16) # runtime settings default_hooks = dict(checkpoint=dict(type='CheckpointHook', interval=5)) # PointNet2-MSG needs longer training time than PointNet2-SSG train_cfg = dict(by_epoch=True, max_epochs=250, val_interval=5)