_base_ = [ '../_base_/models/mvit/mvitv2-tiny.py', '../_base_/datasets/imagenet_bs64_swin_224.py', '../_base_/schedules/imagenet_bs2048_AdamW.py', '../_base_/default_runtime.py' ] # dataset settings train_dataloader = dict(batch_size=256) val_dataloader = dict(batch_size=256) test_dataloader = dict(batch_size=256) # schedule settings optim_wrapper = dict( optimizer=dict(lr=2.5e-4), paramwise_cfg=dict( norm_decay_mult=0.0, bias_decay_mult=0.0, custom_keys={ '.pos_embed': dict(decay_mult=0.0), '.rel_pos_h': dict(decay_mult=0.0), '.rel_pos_w': dict(decay_mult=0.0) }), clip_grad=dict(max_norm=1.0), ) # learning policy param_scheduler = [ # warm up learning rate scheduler dict( type='LinearLR', start_factor=1e-3, by_epoch=True, end=70, # update by iter convert_to_iter_based=True), # main learning rate scheduler dict(type='CosineAnnealingLR', eta_min=1e-5, by_epoch=True, begin=70) ] # NOTE: `auto_scale_lr` is for automatically scaling LR, # based on the actual training batch size. auto_scale_lr = dict(base_batch_size=2048)