diff --git a/dygraph/paddleseg/models/backbones/resnet_vd.py b/dygraph/paddleseg/models/backbones/resnet_vd.py index d7dfc66fd5dc44a6a27c04eea73dc692f857c61c..2876c753eb36f2da0f0bd955ba9c614aabf71616 100644 --- a/dygraph/paddleseg/models/backbones/resnet_vd.py +++ b/dygraph/paddleseg/models/backbones/resnet_vd.py @@ -363,7 +363,7 @@ class ResNet_vd(fluid.dygraph.Layer): y = self.pool2d_avg(y) y = fluid.layers.reshape(y, shape=[-1, self.pool2d_avg_channels]) y = self.out(y) - return y, feat_list + return feat_list # def init_weight(self, pretrained_model=None): @@ -385,6 +385,7 @@ class ResNet_vd(fluid.dygraph.Layer): pretrained_model)) +@manager.BACKBONES.add_component def ResNet18_vd(**args): model = ResNet_vd(layers=18, **args) return model diff --git a/dygraph/paddleseg/models/fcn.py b/dygraph/paddleseg/models/fcn.py index 87446e017d142aa15aa373b9c17976701576a387..2015609d5efbe60c16ae29d72d153ddf9272db42 100644 --- a/dygraph/paddleseg/models/fcn.py +++ b/dygraph/paddleseg/models/fcn.py @@ -70,11 +70,11 @@ class FCN(fluid.dygraph.Layer): self.model_pretrained = model_pretrained self.backbone_indices = backbone_indices if channels is None: - channels = backbone_channels[backbone_indices[0]] + channels = backbone_channels[0] self.backbone = backbone self.conv_last_2 = ConvBNLayer( - num_channels=backbone_channels[backbone_indices[0]], + num_channels=backbone_channels[0], num_filters=channels, filter_size=1, stride=1) diff --git a/dygraph/paddleseg/utils/config.py b/dygraph/paddleseg/utils/config.py index 270cabba6281980e79dfd1735756c49169e938ae..7be20929f3e2053eda0cb891e03a49c105c7de75 100644 --- a/dygraph/paddleseg/utils/config.py +++ b/dygraph/paddleseg/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: