weight = None resume = False evaluate = True test_only = False seed = 36123202 save_path = 'exp/s3dis/semseg-pt-v3m1-1-ppt-extreme' num_worker = 48 batch_size = 24 batch_size_val = None batch_size_test = None epoch = 100 eval_epoch = 100 sync_bn = False enable_amp = True empty_cache = False find_unused_parameters = True mix_prob = 0.8 param_dicts = [dict(keyword='block', lr=0.0005)] hooks = [ dict(type='CheckpointLoader'), dict(type='IterationTimer', warmup_iter=2), dict(type='InformationWriter'), dict(type='SemSegEvaluator'), dict(type='CheckpointSaver', save_freq=None), dict(type='PreciseEvaluator', test_last=False) ] train = dict(type='MultiDatasetTrainer') test = dict(type='SemSegTester', verbose=True) model = dict( type='PPT-v1m1', backbone=dict( type='PT-v3m1', in_channels=6, order=('z', 'z-trans', 'hilbert', 'hilbert-trans'), stride=(2, 2, 2, 2), enc_depths=(2, 2, 2, 6, 2), enc_channels=(32, 64, 128, 256, 384), enc_num_head=(2, 4, 8, 16, 24), enc_patch_size=(128, 128, 128, 128, 128), dec_depths=(2, 2, 2, 2), dec_channels=(64, 64, 128, 256), dec_num_head=(4, 4, 8, 16), dec_patch_size=(128, 128, 128, 128), mlp_ratio=4, qkv_bias=True, qk_scale=None, attn_drop=0.0, proj_drop=0.0, drop_path=0.3, shuffle_orders=True, pre_norm=True, enable_rpe=True, enable_flash=False, upcast_attention=True, upcast_softmax=True, cls_mode=False, pdnorm_bn=True, pdnorm_ln=True, pdnorm_decouple=True, pdnorm_adaptive=False, pdnorm_affine=True, pdnorm_conditions=('ScanNet', 'S3DIS', 'Structured3D')), criteria=[ dict(type='CrossEntropyLoss', loss_weight=1.0, ignore_index=-1), dict( type='LovaszLoss', mode='multiclass', loss_weight=1.0, ignore_index=-1) ], backbone_out_channels=64, context_channels=256, conditions=('Structured3D', 'ScanNet', 'S3DIS'), template='[x]', clip_model='ViT-B/16', class_name=('wall', 'floor', 'cabinet', 'bed', 'chair', 'sofa', 'table', 'door', 'window', 'bookshelf', 'bookcase', 'picture', 'counter', 'desk', 'shelves', 'curtain', 'dresser', 'pillow', 'mirror', 'ceiling', 'refrigerator', 'television', 'shower curtain', 'nightstand', 'toilet', 'sink', 'lamp', 'bathtub', 'garbagebin', 'board', 'beam', 'column', 'clutter', 'otherstructure', 'otherfurniture', 'otherprop'), valid_index=((0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 33, 34, 35), (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 20, 22, 24, 25, 27, 34), (0, 1, 4, 5, 6, 7, 8, 10, 19, 29, 30, 31, 32)), backbone_mode=False) optimizer = dict(type='AdamW', lr=0.005, weight_decay=0.05) scheduler = dict( type='OneCycleLR', max_lr=[0.005, 0.0005], pct_start=0.05, anneal_strategy='cos', div_factor=10.0, final_div_factor=1000.0) data = dict( num_classes=13, ignore_index=-1, names=[ 'ceiling', 'floor', 'wall', 'beam', 'column', 'window', 'door', 'table', 'chair', 'sofa', 'bookcase', 'board', 'clutter' ], train=dict( type='ConcatDataset', datasets=[ dict( type='Structured3DDataset', split=['train', 'val', 'test'], data_root='data/structured3d', transform=[ dict(type='CenterShift', apply_z=True), dict( type='RandomDropout', dropout_ratio=0.2, dropout_application_ratio=0.2), dict( type='RandomRotate', angle=[-1, 1], axis='z', center=[0, 0, 0], p=0.5), dict( type='RandomRotate', angle=[-0.015625, 0.015625], axis='x', p=0.5), dict( type='RandomRotate', angle=[-0.015625, 0.015625], axis='y', p=0.5), dict(type='RandomScale', scale=[0.9, 1.1]), dict(type='RandomFlip', p=0.5), dict(type='RandomJitter', sigma=0.005, clip=0.02), dict( type='ChromaticAutoContrast', p=0.2, blend_factor=None), dict(type='ChromaticTranslation', p=0.95, ratio=0.05), dict(type='ChromaticJitter', p=0.95, std=0.05), dict( type='GridSample', grid_size=0.02, hash_type='fnv', mode='train', return_grid_coord=True), dict(type='SphereCrop', sample_rate=0.8, mode='random'), dict(type='SphereCrop', point_max=204800, mode='random'), dict(type='CenterShift', apply_z=False), dict(type='NormalizeColor'), dict(type='Add', keys_dict=dict(condition='Structured3D')), dict(type='ToTensor'), dict( type='Collect', keys=('coord', 'grid_coord', 'segment', 'condition'), feat_keys=('color', 'normal')) ], test_mode=False, loop=4), dict( type='ScanNetDataset', split='train', data_root='data/scannet', transform=[ dict(type='CenterShift', apply_z=True), dict( type='RandomDropout', dropout_ratio=0.2, dropout_application_ratio=0.2), dict( type='RandomRotate', angle=[-1, 1], axis='z', center=[0, 0, 0], p=0.5), dict( type='RandomRotate', angle=[-0.015625, 0.015625], axis='x', p=0.5), dict( type='RandomRotate', angle=[-0.015625, 0.015625], axis='y', p=0.5), dict(type='RandomScale', scale=[0.9, 1.1]), dict(type='RandomFlip', p=0.5), dict(type='RandomJitter', sigma=0.005, clip=0.02), dict( type='ChromaticAutoContrast', p=0.2, blend_factor=None), dict(type='ChromaticTranslation', p=0.95, ratio=0.05), dict(type='ChromaticJitter', p=0.95, std=0.05), dict( type='GridSample', grid_size=0.02, hash_type='fnv', mode='train', return_grid_coord=True), dict(type='SphereCrop', point_max=102400, mode='random'), dict(type='CenterShift', apply_z=False), dict(type='NormalizeColor'), dict(type='Add', keys_dict=dict(condition='ScanNet')), dict(type='ToTensor'), dict( type='Collect', keys=('coord', 'grid_coord', 'segment', 'condition'), feat_keys=('color', 'normal')) ], test_mode=False, loop=2), dict( type='S3DISDataset', split=('Area_1', 'Area_2', 'Area_3', 'Area_4', 'Area_6'), data_root='data/s3dis', transform=[ dict(type='CenterShift', apply_z=True), dict( type='RandomDropout', dropout_ratio=0.2, dropout_application_ratio=0.2), dict( type='RandomRotate', angle=[-1, 1], axis='z', center=[0, 0, 0], p=0.5), dict( type='RandomRotate', angle=[-0.015625, 0.015625], axis='x', p=0.5), dict( type='RandomRotate', angle=[-0.015625, 0.015625], axis='y', p=0.5), dict(type='RandomScale', scale=[0.9, 1.1]), dict(type='RandomFlip', p=0.5), dict(type='RandomJitter', sigma=0.005, clip=0.02), dict( type='ChromaticAutoContrast', p=0.2, blend_factor=None), dict(type='ChromaticTranslation', p=0.95, ratio=0.05), dict(type='ChromaticJitter', p=0.95, std=0.05), dict( type='GridSample', grid_size=0.02, hash_type='fnv', mode='train', return_grid_coord=True), dict(type='SphereCrop', sample_rate=0.6, mode='random'), dict(type='SphereCrop', point_max=204800, mode='random'), dict(type='CenterShift', apply_z=False), dict(type='NormalizeColor'), dict(type='Add', keys_dict=dict(condition='S3DIS')), dict(type='ToTensor'), dict( type='Collect', keys=('coord', 'grid_coord', 'segment', 'condition'), feat_keys=('color', 'normal')) ], test_mode=False, loop=1) ], loop=1), val=dict( type='S3DISDataset', split='Area_5', data_root='data/s3dis', transform=[ dict(type='CenterShift', apply_z=True), dict( type='Copy', keys_dict=dict(coord='origin_coord', segment='origin_segment')), dict( type='GridSample', grid_size=0.02, hash_type='fnv', mode='train', return_grid_coord=True), dict(type='CenterShift', apply_z=False), dict(type='NormalizeColor'), dict(type='ToTensor'), dict(type='Add', keys_dict=dict(condition='S3DIS')), dict( type='Collect', keys=('coord', 'grid_coord', 'origin_coord', 'segment', 'origin_segment', 'condition'), offset_keys_dict=dict( offset='coord', origin_offset='origin_coord'), feat_keys=('color', 'normal')) ], test_mode=False), test=dict( type='S3DISDataset', split='Area_5', data_root='data/s3dis', transform=[ dict(type='CenterShift', apply_z=True), dict(type='NormalizeColor') ], test_mode=True, test_cfg=dict( voxelize=dict( type='GridSample', grid_size=0.02, hash_type='fnv', mode='test', keys=('coord', 'color', 'normal'), return_grid_coord=True), crop=None, post_transform=[ dict(type='CenterShift', apply_z=False), dict(type='Add', keys_dict=dict(condition='S3DIS')), dict(type='ToTensor'), dict( type='Collect', keys=('coord', 'grid_coord', 'index', 'condition'), feat_keys=('color', 'normal')) ], aug_transform=[[{ 'type': 'RandomRotateTargetAngle', 'angle': [0], 'axis': 'z', 'center': [0, 0, 0], 'p': 1 }], [{ 'type': 'RandomRotateTargetAngle', 'angle': [0.5], 'axis': 'z', 'center': [0, 0, 0], 'p': 1 }], [{ 'type': 'RandomRotateTargetAngle', 'angle': [1], 'axis': 'z', 'center': [0, 0, 0], 'p': 1 }], [{ 'type': 'RandomRotateTargetAngle', 'angle': [1.5], 'axis': 'z', 'center': [0, 0, 0], 'p': 1 }], [{ 'type': 'RandomRotateTargetAngle', 'angle': [0], 'axis': 'z', 'center': [0, 0, 0], 'p': 1 }, { 'type': 'RandomScale', 'scale': [0.95, 0.95] }], [{ 'type': 'RandomRotateTargetAngle', 'angle': [0.5], 'axis': 'z', 'center': [0, 0, 0], 'p': 1 }, { 'type': 'RandomScale', 'scale': [0.95, 0.95] }], [{ 'type': 'RandomRotateTargetAngle', 'angle': [1], 'axis': 'z', 'center': [0, 0, 0], 'p': 1 }, { 'type': 'RandomScale', 'scale': [0.95, 0.95] }], [{ 'type': 'RandomRotateTargetAngle', 'angle': [1.5], 'axis': 'z', 'center': [0, 0, 0], 'p': 1 }, { 'type': 'RandomScale', 'scale': [0.95, 0.95] }], [{ 'type': 'RandomRotateTargetAngle', 'angle': [0], 'axis': 'z', 'center': [0, 0, 0], 'p': 1 }, { 'type': 'RandomScale', 'scale': [1.05, 1.05] }], [{ 'type': 'RandomRotateTargetAngle', 'angle': [0.5], 'axis': 'z', 'center': [0, 0, 0], 'p': 1 }, { 'type': 'RandomScale', 'scale': [1.05, 1.05] }], [{ 'type': 'RandomRotateTargetAngle', 'angle': [1], 'axis': 'z', 'center': [0, 0, 0], 'p': 1 }, { 'type': 'RandomScale', 'scale': [1.05, 1.05] }], [{ 'type': 'RandomRotateTargetAngle', 'angle': [1.5], 'axis': 'z', 'center': [0, 0, 0], 'p': 1 }, { 'type': 'RandomScale', 'scale': [1.05, 1.05] }], [{ 'type': 'RandomFlip', 'p': 1 }]])))