_base_ = [ '../_base_/datasets/s3dis-seg.py', '../_base_/models/paconv_ssg-cuda.py', '../_base_/schedules/seg-cosine-150e.py', '../_base_/default_runtime.py' ] # model settings model = dict( decode_head=dict( num_classes=13, ignore_index=13, loss_decode=dict(class_weight=None)), # S3DIS doesn't use class_weight test_cfg=dict( num_points=4096, block_size=1.0, sample_rate=0.5, use_normalized_coord=True, batch_size=12)) # data settings num_points = 4096 train_pipeline = [ dict( type='LoadPointsFromFile', coord_type='DEPTH', shift_height=False, use_color=True, load_dim=6, use_dim=[0, 1, 2, 3, 4, 5]), dict( type='LoadAnnotations3D', with_bbox_3d=False, with_label_3d=False, with_mask_3d=False, with_seg_3d=True), dict(type='PointSegClassMapping'), dict( type='IndoorPatchPointSample', num_points=num_points, block_size=1.0, use_normalized_coord=True, num_try=10000, enlarge_size=None, min_unique_num=num_points // 4, eps=0.0), dict(type='NormalizePointsColor', color_mean=None), dict( type='GlobalRotScaleTrans', rot_range=[0.0, 6.283185307179586], # [0, 2 * pi] scale_ratio_range=[0.8, 1.2], translation_std=[0, 0, 0]), dict( type='RandomJitterPoints', jitter_std=[0.01, 0.01, 0.01], clip_range=[-0.05, 0.05]), dict(type='RandomDropPointsColor', drop_ratio=0.2), dict(type='Pack3DDetInputs', keys=['points', 'pts_semantic_mask']) ] train_dataloader = dict(batch_size=8, dataset=dict(pipeline=train_pipeline)) # runtime settings train_cfg = dict(by_epoch=True, max_epochs=200, val_interval=1)