dino-4scale_resnet50_8xb2-12e_coco_6epochs / dino-4scale_resnet50_8xb2-12e_coco.py
Nhat Minh Nguyen
Add fine-tuned model files
f1f5d88
auto_scale_lr = dict(base_batch_size=16)
backend_args = None
data_root = '/kaggle/working/mmdetection/dataset/'
dataset_type = 'CocoDataset'
default_hooks = dict(
checkpoint=dict(interval=1, type='CheckpointHook'),
logger=dict(interval=50, type='LoggerHook'),
param_scheduler=dict(type='ParamSchedulerHook'),
sampler_seed=dict(type='DistSamplerSeedHook'),
timer=dict(type='IterTimerHook'),
visualization=dict(type='DetVisualizationHook'))
default_scope = 'mmdet'
env_cfg = dict(
cudnn_benchmark=False,
dist_cfg=dict(backend='nccl'),
mp_cfg=dict(mp_start_method='fork', opencv_num_threads=0))
launcher = 'none'
load_from = '/kaggle/working/mmdetection/work_dirs/dino-4scale_resnet50_8xb2-12e_coco/epoch_6.pth'
log_level = 'INFO'
log_processor = dict(by_epoch=True, type='LogProcessor', window_size=50)
max_epochs = 12
metainfo = dict(classes=[
'000_aveda_shampoo',
'001_binder_clips_median',
'002_binder_clips_small',
'003_bombik_bucket',
'004_bonne_maman_blueberry',
'005_bonne_maman_raspberry',
'006_bonne_maman_strawberry',
'007_costa_caramel',
'008_essential_oil_bergamot',
'009_garlic_toast_spread',
'010_handcream_avocado',
'011_hb_calcium',
'012_hb_grapeseed',
'013_hb_marine_collagen',
'014_hellmanns_mayonnaise',
'015_illy_blend',
'016_japanese_finger_cookies',
'017_john_west_canned_tuna',
'018_kerastase_shampoo',
'019_kiehls_facial_cream',
'020_kiihne_balsamic',
'021_kiihne_honey_mustard',
'022_lindor_matcha',
'023_lindor_salted_caramel',
'024_lush_mask',
'025_pasta_sauce_black_pepper',
'026_pasta_sauce_tomato',
'027_pepsi',
'028_portable_yogurt_machine',
'029_selfile_stick',
'030_sour_lemon_drops',
'031_sticky_notes',
'032_stridex_green',
'033_thermos_flask_cream',
'034_thermos_flask_muji',
'035_thermos_flask_sliver',
'036_tragata_olive_oil',
'037_tulip_luncheon_meat',
'038_unicharm_cotton_pad',
'039_vinda_tissue',
'040_wrigley_doublemint_gum',
'041_baseball_cap_black',
'042_baseball_cap_pink',
'043_bfe_facial_mask',
'044_corgi_doll',
'045_dinosaur_doll',
'046_geo_mocha',
'047_geo_roast_charcoal',
'048_instant_noodle_black',
'049_instant_noodle_red',
'050_nabati_cheese_wafer',
'051_truffettes',
'052_acnes_cream',
'053_aveda_conditioner',
'054_banana_milk_drink',
'055_candle_beast',
'056_china_persimmon',
'057_danisa_butter_cookies',
'058_effaclar_duo',
'059_evelom_cleanser',
'060_glasses_box_blone',
'061_handcream_iris',
'062_handcream_lavender',
'063_handcream_rosewater',
'064_handcream_summer_hill',
'065_hr_serum',
'066_japanese_chocolate',
'067_kerastase_hair_treatment',
'068_kiehls_serum',
'069_korean_beef_marinade',
'070_korean_doenjang',
'071_korean_gochujang',
'072_korean_ssamjang',
'073_loccitane_soap',
'074_marvis_toothpaste_purple',
'075_mouse_thinkpad',
'076_oatly_chocolate',
'077_oatly_original',
'078_ousa_grated_cheese',
'079_polaroid_film',
'080_skinceuticals_be',
'081_skinceuticals_cf',
'082_skinceuticals_phyto',
'083_stapler_black',
'084_stapler_blue',
'085_sunscreen_blue',
'086_tempo_pocket_tissue',
'087_thermos_flask_purple',
'088_uha_matcha',
'089_urban_decay_spray',
'090_vitaboost_multivitamin',
'091_watercolor_penbox',
'092_youthlt_bilberry_complex',
'093_daiso_mod_remover',
'094_kaneyo_kitchen_bleach',
'095_lays_chip_bag_blue',
'096_lays_chip_bag_green',
'097_lays_chip_tube_auburn',
'098_lays_chip_tube_green',
'099_mug_blue',
])
model = dict(
as_two_stage=True,
backbone=dict(
depth=50,
frozen_stages=1,
init_cfg=dict(checkpoint='torchvision://resnet50', type='Pretrained'),
norm_cfg=dict(requires_grad=False, type='BN'),
norm_eval=True,
num_stages=4,
out_indices=(
0,
1,
2,
3,
),
style='pytorch',
type='ResNet',
with_cp=True),
bbox_head=dict(
loss_bbox=dict(loss_weight=5.0, type='L1Loss'),
loss_cls=dict(
alpha=0.25,
gamma=2.0,
loss_weight=1.0,
type='FocalLoss',
use_sigmoid=True),
loss_iou=dict(loss_weight=2.0, type='GIoULoss'),
num_classes=100,
sync_cls_avg_factor=True,
type='DINOHead'),
data_preprocessor=dict(
bgr_to_rgb=True,
mean=[
123.675,
116.28,
103.53,
],
pad_size_divisor=1,
std=[
58.395,
57.12,
57.375,
],
type='DetDataPreprocessor'),
decoder=dict(
layer_cfg=dict(
cross_attn_cfg=dict(dropout=0.0, embed_dims=256, num_levels=4),
ffn_cfg=dict(
embed_dims=256, feedforward_channels=2048, ffn_drop=0.0),
self_attn_cfg=dict(dropout=0.0, embed_dims=256, num_heads=8)),
num_layers=6,
post_norm_cfg=None,
return_intermediate=True),
dn_cfg=dict(
box_noise_scale=1.0,
group_cfg=dict(dynamic=True, num_dn_queries=100, num_groups=None),
label_noise_scale=0.5),
encoder=dict(
layer_cfg=dict(
ffn_cfg=dict(
embed_dims=256, feedforward_channels=2048, ffn_drop=0.0),
self_attn_cfg=dict(dropout=0.0, embed_dims=256, num_levels=4)),
num_layers=6),
neck=dict(
act_cfg=None,
in_channels=[
256,
512,
1024,
2048,
],
kernel_size=1,
norm_cfg=dict(num_groups=32, type='GN'),
num_outs=4,
out_channels=256,
type='ChannelMapper'),
num_feature_levels=4,
num_queries=900,
positional_encoding=dict(
normalize=True, num_feats=128, offset=0.0, temperature=20),
test_cfg=dict(max_per_img=300),
train_cfg=dict(
assigner=dict(
match_costs=[
dict(type='FocalLossCost', weight=2.0),
dict(box_format='xywh', type='BBoxL1Cost', weight=5.0),
dict(iou_mode='giou', type='IoUCost', weight=2.0),
],
type='HungarianAssigner')),
type='DINO',
with_box_refine=True)
num_levels = 4
optim_wrapper = dict(
clip_grad=dict(max_norm=0.1, norm_type=2),
optimizer=dict(lr=0.0001, type='AdamW', weight_decay=0.0001),
paramwise_cfg=dict(custom_keys=dict(backbone=dict(lr_mult=0.1))),
type='OptimWrapper')
param_scheduler = [
dict(
begin=0,
by_epoch=True,
end=12,
gamma=0.1,
milestones=[
11,
],
type='MultiStepLR'),
]
resume = False
test_cfg = dict(type='TestLoop')
test_dataloader = dict(
batch_size=1,
dataset=dict(
ann_file=None,
backend_args=None,
data_prefix=dict(img=''),
data_root='/kaggle/input/insdet-test/InsDet-Test',
pipeline=[
dict(backend_args=None, type='LoadImageFromFile'),
dict(keep_ratio=True, scale=(
1333,
800,
), type='Resize'),
dict(type='LoadAnnotations', with_bbox=True),
dict(
meta_keys=(
'img_id',
'img_path',
'ori_shape',
'img_shape',
'scale_factor',
),
type='PackDetInputs'),
],
test_mode=True,
type='CocoDataset'),
drop_last=False,
num_workers=2,
persistent_workers=True,
sampler=dict(shuffle=False, type='DefaultSampler'))
test_evaluator = dict(
ann_file='/kaggle/working/mmdetection/dataset/annotations/val.json',
backend_args=None,
format_only=False,
metric='bbox',
type='CocoMetric')
test_pipeline = [
dict(backend_args=None, type='LoadImageFromFile'),
dict(keep_ratio=True, scale=(
1333,
800,
), type='Resize'),
dict(type='LoadAnnotations', with_bbox=True),
dict(
meta_keys=(
'img_id',
'img_path',
'ori_shape',
'img_shape',
'scale_factor',
),
type='PackDetInputs'),
]
train_cfg = dict(max_epochs=6, type='EpochBasedTrainLoop', val_interval=1)
train_dataloader = dict(
batch_sampler=dict(type='AspectRatioBatchSampler'),
batch_size=1,
dataset=dict(
ann_file='annotations/train.json',
backend_args=None,
data_prefix=dict(img='train/'),
data_root='/kaggle/working/mmdetection/dataset/',
filter_cfg=dict(filter_empty_gt=False, min_size=32),
metainfo=dict(classes=[
'000_aveda_shampoo',
'001_binder_clips_median',
'002_binder_clips_small',
'003_bombik_bucket',
'004_bonne_maman_blueberry',
'005_bonne_maman_raspberry',
'006_bonne_maman_strawberry',
'007_costa_caramel',
'008_essential_oil_bergamot',
'009_garlic_toast_spread',
'010_handcream_avocado',
'011_hb_calcium',
'012_hb_grapeseed',
'013_hb_marine_collagen',
'014_hellmanns_mayonnaise',
'015_illy_blend',
'016_japanese_finger_cookies',
'017_john_west_canned_tuna',
'018_kerastase_shampoo',
'019_kiehls_facial_cream',
'020_kiihne_balsamic',
'021_kiihne_honey_mustard',
'022_lindor_matcha',
'023_lindor_salted_caramel',
'024_lush_mask',
'025_pasta_sauce_black_pepper',
'026_pasta_sauce_tomato',
'027_pepsi',
'028_portable_yogurt_machine',
'029_selfile_stick',
'030_sour_lemon_drops',
'031_sticky_notes',
'032_stridex_green',
'033_thermos_flask_cream',
'034_thermos_flask_muji',
'035_thermos_flask_sliver',
'036_tragata_olive_oil',
'037_tulip_luncheon_meat',
'038_unicharm_cotton_pad',
'039_vinda_tissue',
'040_wrigley_doublemint_gum',
'041_baseball_cap_black',
'042_baseball_cap_pink',
'043_bfe_facial_mask',
'044_corgi_doll',
'045_dinosaur_doll',
'046_geo_mocha',
'047_geo_roast_charcoal',
'048_instant_noodle_black',
'049_instant_noodle_red',
'050_nabati_cheese_wafer',
'051_truffettes',
'052_acnes_cream',
'053_aveda_conditioner',
'054_banana_milk_drink',
'055_candle_beast',
'056_china_persimmon',
'057_danisa_butter_cookies',
'058_effaclar_duo',
'059_evelom_cleanser',
'060_glasses_box_blone',
'061_handcream_iris',
'062_handcream_lavender',
'063_handcream_rosewater',
'064_handcream_summer_hill',
'065_hr_serum',
'066_japanese_chocolate',
'067_kerastase_hair_treatment',
'068_kiehls_serum',
'069_korean_beef_marinade',
'070_korean_doenjang',
'071_korean_gochujang',
'072_korean_ssamjang',
'073_loccitane_soap',
'074_marvis_toothpaste_purple',
'075_mouse_thinkpad',
'076_oatly_chocolate',
'077_oatly_original',
'078_ousa_grated_cheese',
'079_polaroid_film',
'080_skinceuticals_be',
'081_skinceuticals_cf',
'082_skinceuticals_phyto',
'083_stapler_black',
'084_stapler_blue',
'085_sunscreen_blue',
'086_tempo_pocket_tissue',
'087_thermos_flask_purple',
'088_uha_matcha',
'089_urban_decay_spray',
'090_vitaboost_multivitamin',
'091_watercolor_penbox',
'092_youthlt_bilberry_complex',
'093_daiso_mod_remover',
'094_kaneyo_kitchen_bleach',
'095_lays_chip_bag_blue',
'096_lays_chip_bag_green',
'097_lays_chip_tube_auburn',
'098_lays_chip_tube_green',
'099_mug_blue',
]),
pipeline=[
dict(backend_args=None, type='LoadImageFromFile'),
dict(type='LoadAnnotations', with_bbox=True),
dict(prob=0.5, type='RandomFlip'),
dict(
transforms=[
[
dict(
keep_ratio=True,
scales=[
(
480,
1333,
),
(
512,
1333,
),
(
544,
1333,
),
(
576,
1333,
),
(
608,
1333,
),
(
640,
1333,
),
(
672,
1333,
),
(
704,
1333,
),
(
736,
1333,
),
(
768,
1333,
),
(
800,
1333,
),
],
type='RandomChoiceResize'),
],
[
dict(
keep_ratio=True,
scales=[
(
400,
4200,
),
(
500,
4200,
),
(
600,
4200,
),
],
type='RandomChoiceResize'),
dict(
allow_negative_crop=True,
crop_size=(
384,
600,
),
crop_type='absolute_range',
type='RandomCrop'),
dict(
keep_ratio=True,
scales=[
(
480,
1333,
),
(
512,
1333,
),
(
544,
1333,
),
(
576,
1333,
),
(
608,
1333,
),
(
640,
1333,
),
(
672,
1333,
),
(
704,
1333,
),
(
736,
1333,
),
(
768,
1333,
),
(
800,
1333,
),
],
type='RandomChoiceResize'),
],
],
type='RandomChoice'),
dict(type='PackDetInputs'),
],
type='CocoDataset'),
num_workers=1,
persistent_workers=True,
sampler=dict(shuffle=True, type='DefaultSampler'))
train_pipeline = [
dict(backend_args=None, type='LoadImageFromFile'),
dict(type='LoadAnnotations', with_bbox=True),
dict(prob=0.5, type='RandomFlip'),
dict(
transforms=[
[
dict(
keep_ratio=True,
scales=[
(
480,
1333,
),
(
512,
1333,
),
(
544,
1333,
),
(
576,
1333,
),
(
608,
1333,
),
(
640,
1333,
),
(
672,
1333,
),
(
704,
1333,
),
(
736,
1333,
),
(
768,
1333,
),
(
800,
1333,
),
],
type='RandomChoiceResize'),
],
[
dict(
keep_ratio=True,
scales=[
(
400,
4200,
),
(
500,
4200,
),
(
600,
4200,
),
],
type='RandomChoiceResize'),
dict(
allow_negative_crop=True,
crop_size=(
384,
600,
),
crop_type='absolute_range',
type='RandomCrop'),
dict(
keep_ratio=True,
scales=[
(
480,
1333,
),
(
512,
1333,
),
(
544,
1333,
),
(
576,
1333,
),
(
608,
1333,
),
(
640,
1333,
),
(
672,
1333,
),
(
704,
1333,
),
(
736,
1333,
),
(
768,
1333,
),
(
800,
1333,
),
],
type='RandomChoiceResize'),
],
],
type='RandomChoice'),
dict(type='PackDetInputs'),
]
val_cfg = dict(type='ValLoop')
val_dataloader = dict(
batch_size=1,
dataset=dict(
ann_file='annotations/instances_val2017.json',
backend_args=None,
data_prefix=dict(img='val2017/'),
data_root='data/coco/',
pipeline=[
dict(backend_args=None, type='LoadImageFromFile'),
dict(keep_ratio=True, scale=(
1333,
800,
), type='Resize'),
dict(type='LoadAnnotations', with_bbox=True),
dict(
meta_keys=(
'img_id',
'img_path',
'ori_shape',
'img_shape',
'scale_factor',
),
type='PackDetInputs'),
],
test_mode=True,
type='CocoDataset'),
drop_last=False,
num_workers=2,
persistent_workers=True,
sampler=dict(shuffle=False, type='DefaultSampler'))
val_evaluator = dict(
ann_file='/kaggle/working/mmdetection/dataset/annotations/val.json',
backend_args=None,
format_only=False,
metric='bbox',
type='CocoMetric')
vis_backends = [
dict(type='LocalVisBackend'),
]
visualizer = dict(
name='visualizer',
type='DetLocalVisualizer',
vis_backends=[
dict(type='LocalVisBackend'),
])
work_dir = './work_dirs/dino-4scale_resnet50_8xb2-12e_coco'