diff --git a/dygraph/configs/fcn_hrnet/fcn_hrnetw18_cityscapes_1024x512_100k.yml b/dygraph/configs/fcn_hrnet/fcn_hrnetw18_cityscapes_1024x512_100k.yml index 7f9cfed0f5fcf0cf904f8e3cbab25e2275d6468d..fb4c531bb4e6cbb498988be9685c95415873f610 100644 --- a/dygraph/configs/fcn_hrnet/fcn_hrnetw18_cityscapes_1024x512_100k.yml +++ b/dygraph/configs/fcn_hrnet/fcn_hrnetw18_cityscapes_1024x512_100k.yml @@ -7,3 +7,6 @@ model: num_classes: 19 backbone_channels: [270] backbone_pretrained: pretrained_model/hrnet_w18_imagenet + +optimizer: + weight_decay: 0.0005 diff --git a/dygraph/utils/config.py b/dygraph/utils/config.py index e0577a6e0eaaa5353c680bfded30094cacd969ab..4b1cf410e8c4baebcb3131c098d4ca1267defba5 100644 --- a/dygraph/utils/config.py +++ b/dygraph/utils/config.py @@ -137,6 +137,12 @@ class Config(object): lr = self.learning_rate args = self.optimizer_args args.setdefault('momentum', 0.9) + weight_decay = args.get('weight_decay', None) + if weight_decay is not None: + args.pop('weight_decay') + regularization = fluid.regularizer.L2DecayRegularizer( + regularization_coeff=weight_decay) + args.setdefault('regularization', None) return fluid.optimizer.Momentum( lr, parameter_list=self.model.parameters(), **args) else: