limingcv's picture
Upload with huggingface_hub
e3962e4
raw
history blame
12.9 kB
model = dict(
type='SelfSupDetector',
backbone=dict(
type='SelfSupRetinaNet',
backbone=dict(
type='ResNet',
depth=50,
num_stages=4,
out_indices=(0, 1, 2, 3),
frozen_stages=4,
norm_cfg=dict(type='SyncBN', requires_grad=False),
norm_eval=True,
style='pytorch',
init_cfg=dict(
type='Pretrained',
checkpoint=
'pretrain/image-level/mocov2/mocov2_resnet50_256bs-coslr-800e_in1k.pth'
)),
neck=dict(
type='FPN',
in_channels=[256, 512, 1024, 2048],
out_channels=256,
start_level=1,
add_extra_convs='on_input',
num_outs=5),
bbox_head=dict(
type='SelfSupRetinaHead',
num_classes=256,
in_channels=256,
stacked_convs=4,
feat_channels=256,
init_cfg=dict(
type='Normal', layer='Conv2d', std=0.01, override=None),
loss_cls=dict(
type='ContrastiveLoss', loss_weight=1.0, temperature=0.5),
loss_bbox=dict(type='L1Loss', loss_weight=1.0)),
train_cfg=dict(
assigner=dict(
type='MaxIoUAssigner',
pos_iou_thr=0.5,
neg_iou_thr=0.4,
min_pos_iou=0,
ignore_iof_thr=-1,
gpu_assign_thr=-1),
sampler=dict(
type='RandomSampler',
num=2048,
pos_fraction=1.0,
neg_pos_ub=-1,
add_gt_as_proposals=False),
allowed_border=-1,
pos_weight=1,
debug=False)))
train_dataset_type = 'MultiViewCocoDataset'
test_dataset_type = 'CocoDataset'
data_root = 'data/coco/'
classes = ['selective_search']
img_norm_cfg = dict(
mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True)
load_pipeline = [
dict(type='LoadImageFromFile'),
dict(type='LoadAnnotations', with_bbox=True, with_mask=False),
dict(type='SelectTopKProposals', topk=80)
]
train_pipeline1 = [
dict(
type='Resize',
img_scale=[(1333, 640), (1333, 672), (1333, 704), (1333, 736),
(1333, 768), (1333, 800)],
multiscale_mode='value',
keep_ratio=True),
dict(type='FilterAnnotations', min_gt_bbox_wh=(0.01, 0.01)),
dict(type='Pad', size_divisor=32),
dict(type='RandFlip', flip_ratio=0.5),
dict(
type='OneOf',
transforms=[
dict(type='Identity'),
dict(type='AutoContrast'),
dict(type='RandEqualize'),
dict(type='RandSolarize'),
dict(type='RandColor'),
dict(type='RandContrast'),
dict(type='RandBrightness'),
dict(type='RandSharpness'),
dict(type='RandPosterize')
]),
dict(
type='Normalize',
mean=[123.675, 116.28, 103.53],
std=[58.395, 57.12, 57.375],
to_rgb=True),
dict(type='DefaultFormatBundle'),
dict(type='Collect', keys=['img', 'gt_bboxes', 'gt_labels'])
]
train_pipeline2 = [
dict(
type='Resize',
img_scale=[(1333, 640), (1333, 672), (1333, 704), (1333, 736),
(1333, 768), (1333, 800)],
multiscale_mode='value',
keep_ratio=True),
dict(type='FilterAnnotations', min_gt_bbox_wh=(0.01, 0.01)),
dict(type='Pad', size_divisor=32),
dict(type='RandFlip', flip_ratio=0.5),
dict(
type='OneOf',
transforms=[
dict(type='Identity'),
dict(type='AutoContrast'),
dict(type='RandEqualize'),
dict(type='RandSolarize'),
dict(type='RandColor'),
dict(type='RandContrast'),
dict(type='RandBrightness'),
dict(type='RandSharpness'),
dict(type='RandPosterize')
]),
dict(
type='Normalize',
mean=[123.675, 116.28, 103.53],
std=[58.395, 57.12, 57.375],
to_rgb=True),
dict(type='DefaultFormatBundle'),
dict(type='Collect', keys=['img', 'gt_bboxes', 'gt_labels'])
]
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',
mean=[123.675, 116.28, 103.53],
std=[58.395, 57.12, 57.375],
to_rgb=True),
dict(type='Pad', size_divisor=32),
dict(type='ImageToTensor', keys=['img']),
dict(type='Collect', keys=['img'])
])
]
data = dict(
samples_per_gpu=2,
workers_per_gpu=2,
train=dict(
type='MultiViewCocoDataset',
dataset=dict(
type='CocoDataset',
classes=['selective_search'],
ann_file=
'data/coco/filtered_proposals/train2017_ratio3size0008@0.5.json',
img_prefix='data/coco/train2017/',
pipeline=[
dict(type='LoadImageFromFile'),
dict(type='LoadAnnotations', with_bbox=True, with_mask=False),
dict(type='SelectTopKProposals', topk=80)
]),
num_views=2,
pipelines=[[{
'type':
'Resize',
'img_scale': [(1333, 640), (1333, 672), (1333, 704), (1333, 736),
(1333, 768), (1333, 800)],
'multiscale_mode':
'value',
'keep_ratio':
True
}, {
'type': 'FilterAnnotations',
'min_gt_bbox_wh': (0.01, 0.01)
}, {
'type': 'Pad',
'size_divisor': 32
}, {
'type': 'RandFlip',
'flip_ratio': 0.5
}, {
'type':
'OneOf',
'transforms': [{
'type': 'Identity'
}, {
'type': 'AutoContrast'
}, {
'type': 'RandEqualize'
}, {
'type': 'RandSolarize'
}, {
'type': 'RandColor'
}, {
'type': 'RandContrast'
}, {
'type': 'RandBrightness'
}, {
'type': 'RandSharpness'
}, {
'type': 'RandPosterize'
}]
}, {
'type': 'Normalize',
'mean': [123.675, 116.28, 103.53],
'std': [58.395, 57.12, 57.375],
'to_rgb': True
}, {
'type': 'DefaultFormatBundle'
}, {
'type': 'Collect',
'keys': ['img', 'gt_bboxes', 'gt_labels']
}],
[{
'type':
'Resize',
'img_scale': [(1333, 640), (1333, 672), (1333, 704),
(1333, 736), (1333, 768), (1333, 800)],
'multiscale_mode':
'value',
'keep_ratio':
True
}, {
'type': 'FilterAnnotations',
'min_gt_bbox_wh': (0.01, 0.01)
}, {
'type': 'Pad',
'size_divisor': 32
}, {
'type': 'RandFlip',
'flip_ratio': 0.5
}, {
'type':
'OneOf',
'transforms': [{
'type': 'Identity'
}, {
'type': 'AutoContrast'
}, {
'type': 'RandEqualize'
}, {
'type': 'RandSolarize'
}, {
'type': 'RandColor'
}, {
'type': 'RandContrast'
}, {
'type': 'RandBrightness'
}, {
'type': 'RandSharpness'
}, {
'type': 'RandPosterize'
}]
}, {
'type': 'Normalize',
'mean': [123.675, 116.28, 103.53],
'std': [58.395, 57.12, 57.375],
'to_rgb': True
}, {
'type': 'DefaultFormatBundle'
}, {
'type': 'Collect',
'keys': ['img', 'gt_bboxes', 'gt_labels']
}]]),
val=dict(
type='CocoDataset',
classes=['selective_search'],
ann_file='data/coco/annotations/instances_val2017.json',
img_prefix='data/coco/val2017/',
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',
mean=[123.675, 116.28, 103.53],
std=[58.395, 57.12, 57.375],
to_rgb=True),
dict(type='Pad', size_divisor=32),
dict(type='ImageToTensor', keys=['img']),
dict(type='Collect', keys=['img'])
])
]),
test=dict(
type='CocoDataset',
classes=['selective_search'],
ann_file='data/coco/annotations/instances_val2017.json',
img_prefix='data/coco/val2017/',
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',
mean=[123.675, 116.28, 103.53],
std=[58.395, 57.12, 57.375],
to_rgb=True),
dict(type='Pad', size_divisor=32),
dict(type='ImageToTensor', keys=['img']),
dict(type='Collect', keys=['img'])
])
]))
evaluation = dict(interval=65535, gpu_collect=True)
optimizer = dict(type='SGD', lr=0.01, momentum=0.9, weight_decay=0.0001)
optimizer_config = dict(grad_clip=None)
lr_config = dict(
policy='step',
warmup='linear',
warmup_iters=500,
warmup_ratio=0.001,
step=[8, 11])
runner = dict(type='EpochBasedRunner', max_epochs=12)
checkpoint_config = dict(interval=1)
log_config = dict(interval=50, hooks=[dict(type='TextLoggerHook')])
custom_hooks = [
dict(type='MomentumUpdateHook'),
dict(
type='MMDetWandbHook',
init_kwargs=dict(project='I2B', group='pretrain'),
interval=50,
num_eval_images=0,
log_checkpoint=False)
]
dist_params = dict(backend='nccl')
log_level = 'INFO'
load_from = None
resume_from = None
workflow = [('train', 1)]
opencv_num_threads = 0
mp_start_method = 'fork'
auto_scale_lr = dict(enable=False, base_batch_size=16)
custom_imports = dict(
imports=[
'mmselfsup.datasets.pipelines',
'selfsup.core.hook.momentum_update_hook',
'selfsup.datasets.pipelines.selfsup_pipelines',
'selfsup.datasets.pipelines.rand_aug',
'selfsup.datasets.single_view_coco',
'selfsup.datasets.multi_view_coco',
'selfsup.models.losses.contrastive_loss',
'selfsup.models.dense_heads.fcos_head',
'selfsup.models.dense_heads.retina_head',
'selfsup.models.dense_heads.detr_head',
'selfsup.models.dense_heads.deformable_detr_head',
'selfsup.models.roi_heads.bbox_heads.convfc_bbox_head',
'selfsup.models.roi_heads.standard_roi_head',
'selfsup.models.detectors.selfsup_detector',
'selfsup.models.detectors.selfsup_fcos',
'selfsup.models.detectors.selfsup_detr',
'selfsup.models.detectors.selfsup_deformable_detr',
'selfsup.models.detectors.selfsup_retinanet',
'selfsup.models.detectors.selfsup_mask_rcnn',
'selfsup.core.bbox.assigners.hungarian_assigner',
'selfsup.core.bbox.assigners.pseudo_hungarian_assigner',
'selfsup.core.bbox.match_costs.match_cost'
],
allow_failed_imports=False)
work_dir = 'work_dirs/selfsup_retinanet_1x_coco_mocov2_moco-setting'
auto_resume = False
gpu_ids = range(0, 8)