Spaces:
Build error
Build error
_base_ = [ | |
'../_base_/models/detr4seg_r101.py', '../_base_/datasets/psg.py', | |
'../_base_/custom_runtime.py' | |
] | |
custom_imports = dict(imports=[ | |
'openpsg.models.frameworks.detr4seg', | |
'openpsg.models.relation_heads.detr4seg_head', 'openpsg.datasets', | |
'openpsg.datasets.pipelines.loading', | |
'openpsg.datasets.pipelines.rel_randomcrop', | |
'openpsg.models.relation_heads.approaches.matcher', | |
'openpsg.models.losses.seg_losses' | |
], | |
allow_failed_imports=False) | |
object_classes = [ | |
'person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', | |
'truck', 'boat', 'traffic light', 'fire hydrant', 'stop sign', | |
'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow', | |
'elephant', 'bear', 'zebra', 'giraffe', 'backpack', 'umbrella', 'handbag', | |
'tie', 'suitcase', 'frisbee', 'skis', 'snowboard', 'sports ball', 'kite', | |
'baseball bat', 'baseball glove', 'skateboard', 'surfboard', | |
'tennis racket', 'bottle', 'wine glass', 'cup', 'fork', 'knife', 'spoon', | |
'bowl', 'banana', 'apple', 'sandwich', 'orange', 'broccoli', 'carrot', | |
'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch', 'potted plant', | |
'bed', 'dining table', 'toilet', 'tv', 'laptop', 'mouse', 'remote', | |
'keyboard', 'cell phone', 'microwave', 'oven', 'toaster', 'sink', | |
'refrigerator', 'book', 'clock', 'vase', 'scissors', 'teddy bear', | |
'hair drier', 'toothbrush', 'banner', 'blanket', 'bridge', 'cardboard', | |
'counter', 'curtain', 'door-stuff', 'floor-wood', 'flower', 'fruit', | |
'gravel', 'house', 'light', 'mirror-stuff', 'net', 'pillow', 'platform', | |
'playingfield', 'railroad', 'river', 'road', 'roof', 'sand', 'sea', | |
'shelf', 'snow', 'stairs', 'tent', 'towel', 'wall-brick', 'wall-stone', | |
'wall-tile', 'wall-wood', 'water-other', 'window-blind', 'window-other', | |
'tree-merged', 'fence-merged', 'ceiling-merged', 'sky-other-merged', | |
'cabinet-merged', 'table-merged', 'floor-other-merged', 'pavement-merged', | |
'mountain-merged', 'grass-merged', 'dirt-merged', 'paper-merged', | |
'food-other-merged', 'building-other-merged', 'rock-merged', | |
'wall-other-merged', 'rug-merged' | |
] | |
model = dict(bbox_head=dict( | |
num_classes=len(object_classes), | |
object_classes=object_classes, | |
)) | |
img_norm_cfg = dict(mean=[123.675, 116.28, 103.53], | |
std=[58.395, 57.12, 57.375], | |
to_rgb=True) | |
# train_pipeline, NOTE the img_scale and the Pad's size_divisor is different | |
# from the default setting in mmdet. | |
train_pipeline = [ | |
dict(type='LoadImageFromFile'), | |
dict(type='LoadSceneGraphAnnotations', with_bbox=True, with_rel=True), | |
dict(type='RandomFlip', flip_ratio=0.5), | |
dict( | |
type='AutoAugment', | |
policies=[ | |
[ | |
dict(type='Resize', | |
img_scale=[(480, 1333), (512, 1333), (544, 1333), | |
(576, 1333), (608, 1333), (640, 1333), | |
(672, 1333), (704, 1333), (736, 1333), | |
(768, 1333), (800, 1333)], | |
multiscale_mode='value', | |
keep_ratio=True) | |
], | |
[ | |
dict(type='Resize', | |
img_scale=[(400, 1333), (500, 1333), (600, 1333)], | |
multiscale_mode='value', | |
keep_ratio=True), | |
dict(type='RandomCrop', | |
crop_type='absolute_range', | |
crop_size=(384, 600), | |
allow_negative_crop=False), # no empty relations | |
dict(type='Resize', | |
img_scale=[(480, 1333), (512, 1333), (544, 1333), | |
(576, 1333), (608, 1333), (640, 1333), | |
(672, 1333), (704, 1333), (736, 1333), | |
(768, 1333), (800, 1333)], | |
multiscale_mode='value', | |
override=True, | |
keep_ratio=True) | |
] | |
]), | |
dict(type='Normalize', **img_norm_cfg), | |
dict(type='Pad', size_divisor=1), | |
dict(type='RelsFormatBundle'), | |
dict(type='Collect', keys=['img', 'gt_bboxes', 'gt_labels']) | |
] | |
# test_pipeline, NOTE the Pad's size_divisor is different from the default | |
# setting (size_divisor=32). While there is little effect on the performance | |
# whether we use the default setting or use size_divisor=1. | |
test_pipeline = [ | |
dict(type='LoadImageFromFile'), | |
dict(type='MultiScaleFlipAug', | |
img_scale=(1333, 800), | |
flip=False, | |
transforms=[ | |
dict(type='Resize', keep_ratio=True), | |
dict(type='RandomFlip'), | |
dict(type='Normalize', **img_norm_cfg), | |
dict(type='Pad', size_divisor=1), | |
dict(type='ImageToTensor', keys=['img']), | |
dict(type='Collect', keys=['img']) | |
]) | |
] | |
data = dict(samples_per_gpu=2, | |
workers_per_gpu=2, | |
train=dict(pipeline=train_pipeline), | |
val=dict(pipeline=test_pipeline), | |
test=dict(pipeline=test_pipeline)) | |
# optimizer | |
optimizer = dict( | |
type='AdamW', | |
lr=0.0001, | |
weight_decay=0.0001, | |
paramwise_cfg=dict( | |
custom_keys={'backbone': dict(lr_mult=0.1, decay_mult=1.0)})) | |
optimizer_config = dict(grad_clip=dict(max_norm=0.1, norm_type=2)) | |
# learning policy | |
lr_config = dict(policy='step', step=110) | |
runner = dict(type='EpochBasedRunner', max_epochs=150) | |
project_name = 'detr4seg' | |
expt_name = 'detr4seg_r101_coco' | |
work_dir = f'./work_dirs/{expt_name}' | |
log_config = dict( | |
interval=50, | |
hooks=[dict(type='TextLoggerHook'), | |
dict(type='TensorboardLoggerHook')], | |
) | |
load_from = '/mnt/ssd/gzj/test/OpenPSG/detr_r50_fb_origin.pth' | |