Gofinge
Release experiment records
5e25cfa
weight = None
resume = False
evaluate = True
test_only = False
seed = 1023306
save_path = 'exp/scannet200/semseg-pt-v3m1-0-base'
num_worker = 24
batch_size = 12
batch_size_val = None
batch_size_test = None
epoch = 800
eval_epoch = 100
sync_bn = False
enable_amp = True
empty_cache = False
find_unused_parameters = False
mix_prob = 0.8
param_dicts = [dict(keyword='block', lr=0.0006)]
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='DefaultTrainer')
test = dict(type='SemSegTester', verbose=True)
CLASS_LABELS_200 = (
'wall', 'chair', 'floor', 'table', 'door', 'couch', 'cabinet', 'shelf',
'desk', 'office chair', 'bed', 'pillow', 'sink', 'picture', 'window',
'toilet', 'bookshelf', 'monitor', 'curtain', 'book', 'armchair',
'coffee table', 'box', 'refrigerator', 'lamp', 'kitchen cabinet', 'towel',
'clothes', 'tv', 'nightstand', 'counter', 'dresser', 'stool', 'cushion',
'plant', 'ceiling', 'bathtub', 'end table', 'dining table', 'keyboard',
'bag', 'backpack', 'toilet paper', 'printer', 'tv stand', 'whiteboard',
'blanket', 'shower curtain', 'trash can', 'closet', 'stairs', 'microwave',
'stove', 'shoe', 'computer tower', 'bottle', 'bin', 'ottoman', 'bench',
'board', 'washing machine', 'mirror', 'copier', 'basket', 'sofa chair',
'file cabinet', 'fan', 'laptop', 'shower', 'paper', 'person',
'paper towel dispenser', 'oven', 'blinds', 'rack', 'plate', 'blackboard',
'piano', 'suitcase', 'rail', 'radiator', 'recycling bin', 'container',
'wardrobe', 'soap dispenser', 'telephone', 'bucket', 'clock', 'stand',
'light', 'laundry basket', 'pipe', 'clothes dryer', 'guitar',
'toilet paper holder', 'seat', 'speaker', 'column', 'bicycle', 'ladder',
'bathroom stall', 'shower wall', 'cup', 'jacket', 'storage bin',
'coffee maker', 'dishwasher', 'paper towel roll', 'machine', 'mat',
'windowsill', 'bar', 'toaster', 'bulletin board', 'ironing board',
'fireplace', 'soap dish', 'kitchen counter', 'doorframe',
'toilet paper dispenser', 'mini fridge', 'fire extinguisher', 'ball',
'hat', 'shower curtain rod', 'water cooler', 'paper cutter', 'tray',
'shower door', 'pillar', 'ledge', 'toaster oven', 'mouse',
'toilet seat cover dispenser', 'furniture', 'cart', 'storage container',
'scale', 'tissue box', 'light switch', 'crate', 'power outlet',
'decoration', 'sign', 'projector', 'closet door', 'vacuum cleaner',
'candle', 'plunger', 'stuffed animal', 'headphones', 'dish rack', 'broom',
'guitar case', 'range hood', 'dustpan', 'hair dryer', 'water bottle',
'handicap bar', 'purse', 'vent', 'shower floor', 'water pitcher',
'mailbox', 'bowl', 'paper bag', 'alarm clock', 'music stand',
'projector screen', 'divider', 'laundry detergent', 'bathroom counter',
'object', 'bathroom vanity', 'closet wall', 'laundry hamper',
'bathroom stall door', 'ceiling light', 'trash bin', 'dumbbell',
'stair rail', 'tube', 'bathroom cabinet', 'cd case', 'closet rod',
'coffee kettle', 'structure', 'shower head', 'keyboard piano',
'case of water bottles', 'coat rack', 'storage organizer', 'folded chair',
'fire alarm', 'power strip', 'calendar', 'poster', 'potted plant',
'luggage', 'mattress')
model = dict(
type='DefaultSegmentorV2',
num_classes=200,
backbone_out_channels=64,
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, 512),
enc_num_head=(2, 4, 8, 16, 32),
enc_patch_size=(1024, 1024, 1024, 1024, 1024),
dec_depths=(2, 2, 2, 2),
dec_channels=(64, 64, 128, 256),
dec_num_head=(4, 4, 8, 16),
dec_patch_size=(1024, 1024, 1024, 1024),
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=False,
enable_flash=True,
upcast_attention=False,
upcast_softmax=False,
cls_mode=False,
pdnorm_bn=False,
pdnorm_ln=False,
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)
])
optimizer = dict(type='AdamW', lr=0.006, weight_decay=0.05)
scheduler = dict(
type='OneCycleLR',
max_lr=[0.006, 0.0006],
pct_start=0.05,
anneal_strategy='cos',
div_factor=10.0,
final_div_factor=1000.0)
dataset_type = 'ScanNet200Dataset'
data_root = 'data/scannet'
data = dict(
num_classes=200,
ignore_index=-1,
names=(
'wall', 'chair', 'floor', 'table', 'door', 'couch', 'cabinet', 'shelf',
'desk', 'office chair', 'bed', 'pillow', 'sink', 'picture', 'window',
'toilet', 'bookshelf', 'monitor', 'curtain', 'book', 'armchair',
'coffee table', 'box', 'refrigerator', 'lamp', 'kitchen cabinet',
'towel', 'clothes', 'tv', 'nightstand', 'counter', 'dresser', 'stool',
'cushion', 'plant', 'ceiling', 'bathtub', 'end table', 'dining table',
'keyboard', 'bag', 'backpack', 'toilet paper', 'printer', 'tv stand',
'whiteboard', 'blanket', 'shower curtain', 'trash can', 'closet',
'stairs', 'microwave', 'stove', 'shoe', 'computer tower', 'bottle',
'bin', 'ottoman', 'bench', 'board', 'washing machine', 'mirror',
'copier', 'basket', 'sofa chair', 'file cabinet', 'fan', 'laptop',
'shower', 'paper', 'person', 'paper towel dispenser', 'oven', 'blinds',
'rack', 'plate', 'blackboard', 'piano', 'suitcase', 'rail', 'radiator',
'recycling bin', 'container', 'wardrobe', 'soap dispenser',
'telephone', 'bucket', 'clock', 'stand', 'light', 'laundry basket',
'pipe', 'clothes dryer', 'guitar', 'toilet paper holder', 'seat',
'speaker', 'column', 'bicycle', 'ladder', 'bathroom stall',
'shower wall', 'cup', 'jacket', 'storage bin', 'coffee maker',
'dishwasher', 'paper towel roll', 'machine', 'mat', 'windowsill',
'bar', 'toaster', 'bulletin board', 'ironing board', 'fireplace',
'soap dish', 'kitchen counter', 'doorframe', 'toilet paper dispenser',
'mini fridge', 'fire extinguisher', 'ball', 'hat',
'shower curtain rod', 'water cooler', 'paper cutter', 'tray',
'shower door', 'pillar', 'ledge', 'toaster oven', 'mouse',
'toilet seat cover dispenser', 'furniture', 'cart',
'storage container', 'scale', 'tissue box', 'light switch', 'crate',
'power outlet', 'decoration', 'sign', 'projector', 'closet door',
'vacuum cleaner', 'candle', 'plunger', 'stuffed animal', 'headphones',
'dish rack', 'broom', 'guitar case', 'range hood', 'dustpan',
'hair dryer', 'water bottle', 'handicap bar', 'purse', 'vent',
'shower floor', 'water pitcher', 'mailbox', 'bowl', 'paper bag',
'alarm clock', 'music stand', 'projector screen', 'divider',
'laundry detergent', 'bathroom counter', 'object', 'bathroom vanity',
'closet wall', 'laundry hamper', 'bathroom stall door',
'ceiling light', 'trash bin', 'dumbbell', 'stair rail', 'tube',
'bathroom cabinet', 'cd case', 'closet rod', 'coffee kettle',
'structure', 'shower head', 'keyboard piano', 'case of water bottles',
'coat rack', 'storage organizer', 'folded chair', 'fire alarm',
'power strip', 'calendar', 'poster', 'potted plant', 'luggage',
'mattress'),
train=dict(
type='ScanNet200Dataset',
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='ElasticDistortion',
distortion_params=[[0.2, 0.4], [0.8, 1.6]]),
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='ToTensor'),
dict(
type='Collect',
keys=('coord', 'grid_coord', 'segment'),
feat_keys=('color', 'normal'))
],
test_mode=False,
loop=8),
val=dict(
type='ScanNet200Dataset',
split='val',
data_root='data/scannet',
transform=[
dict(type='CenterShift', apply_z=True),
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='Collect',
keys=('coord', 'grid_coord', 'segment'),
feat_keys=('color', 'normal'))
],
test_mode=False),
test=dict(
type='ScanNet200Dataset',
split='val',
data_root='data/scannet',
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='ToTensor'),
dict(
type='Collect',
keys=('coord', 'grid_coord', 'index'),
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
}]])))