paramwise_cfg=dict( custom_keys={'backbone': dict(lr_mult=0.1, decay_mult=1.0)})) # config setting evaluation = dict(interval=5, metric='bbox') # 5个epoch验证一次 optimizer_config = dict(grad_clip=dict(max_norm=0.1, norm_type=2)) checkpoint_config = dict(interval=20) # 20个epoch...
1.)norm_decay_mult=self.paramwise_cfg.get('norm_decay_mult',1.)dwconv_decay_mult=self.paramwise_cfg.get('dwconv_decay_mult',1.)bypass_duplicate=self.paramwise_cfg.get('bypass_duplicate',False)dcn_offset_lr_mult=self.paramwise_cfg.get('dcn_offset_lr...
paramwise_cfg=dict( custom_keys={'backbone': dict(lr_mult=0.1, decay_mult=1.0)})) 1. 2. 3. 4. 5. 6. 7. 其他配置 # learning policy max_epochs = 150 train_cfg = dict( type='EpochBasedTrainLoop', max_epochs=max_epochs, val_interval=1) val_cfg = dict(type='ValLoop') test_...
model=dict(backbone=dict(init_cfg=dict(type='Pretrained',prefix='backbone.',checkpoint=checkpoint)))# 此处配置参数是最佳性能参数 optimizer=dict(_delete_=True,type='AdamW',lr=0.0002,weight_decay=0.05,paramwise_cfg=dict(norm_decay_mult=0.,bypass_duplicate=True)) 基于上一小节的先验,我们首先使用...
# lr变了,新增了paramwise_cfg参数,其他保留schedule1x的配置 optimizer = dict( lr=0.01, paramwise_cfg=dict(bias_lr_mult=2., bias_decay_mult=0.)) # 改写了grad_clip参数 optimizer_config = dict( _delete_=True, grad_clip=dict(max_norm=35, norm_type=2)) ...
核心是依靠 paramwise_cfg 参数,关闭 norm 和 bias 的weight decay。 注意:MMDetection 中的 lr 设置是针对总 batch 的,上面写的 lr =0.01 是指的 8 卡 x 8 bs 的情况,而不算单卡的,如果你的总 bs 不是 64,那么你需要手动进行线性缩放。
_base_ = ['../_base_/default_runtime.py']...# optimizeroptimizer = dict( # 设置使用AdamW优化器(默认使用的是SGD)type='AdamW',lr=0.0001,weight_decay=0.0001,paramwise_cfg=dict(custom_keys={'backbone': dict(lr_mult=0.1, decay_mult=1.0)}))evaluation = dict(interval=5, metric='bbox'...
('bypass_duplicate', False)dcn_offset_lr_mult = self.paramwise_cfg.get('dcn_offset_lr_mult', 1.)for name, param in module.named_parameters(recurse=False):param_group = {'params': [param]}if not param.requires_grad:params.append(param_group)continue# 对自定义 key 进行设置新的参数组...
register_module class CocktailOptimizerConstructor(object): def __init__(self, optimizer_cfg, paramwise_cfg=None): def __call__(self, model): return my_optimizer 开发新组件 backbone,参考MobilenetV2 neck, 参考PAFPN head 参考Retinaface roi extractor,参考 DCN ROIAlign 关于head相关组件,核心的点...
paramwise_cfg=dict( custom_keys=dict( absolute_pos_embed=dict( decay_mult=0.0), norm=dict( decay_mult=0.0), relative_position_bias_table=dict( decay_mult=0.0))), type='OptimWrapper') param_scheduler=[ dict(begin=0, by_epoch=False, ...