mmpretrain/configs/_base_/schedules/imagenet_bs4096_AdamW.py

40 lines
953 B
Python
Raw Normal View History

# optimizer
optim_wrapper = dict(
optimizer=dict(type='AdamW', lr=0.003, weight_decay=0.3),
# specific to vit pretrain
paramwise_cfg=dict(custom_keys={
'.cls_token': dict(decay_mult=0.0),
'.pos_embed': dict(decay_mult=0.0)
}),
)
# learning policy
2022-05-23 09:31:57 +00:00
param_scheduler = [
# warm up learning rate scheduler
2022-05-23 09:31:57 +00:00
dict(
type='LinearLR',
start_factor=1e-4,
by_epoch=True,
2022-05-23 09:31:57 +00:00
begin=0,
end=30,
# update by iter
convert_to_iter_based=True),
# main learning rate scheduler
2022-05-23 09:31:57 +00:00
dict(
type='CosineAnnealingLR',
T_max=270,
by_epoch=True,
begin=30,
end=300,
)
2022-05-23 09:31:57 +00:00
]
# train, val, test setting
2022-07-12 08:10:59 +00:00
train_cfg = dict(by_epoch=True, max_epochs=300, val_interval=1)
val_cfg = dict()
2022-05-23 09:31:57 +00:00
test_cfg = dict()
2022-07-15 15:20:17 +08:00
# NOTE: `auto_scale_lr` is for automatically scaling LR,
# based on the actual training batch size.
auto_scale_lr = dict(base_batch_size=4096)