diff --git a/paddlex/cv/nets/detection/yolo_v3.py b/paddlex/cv/nets/detection/yolo_v3.py index 2fba001ea8991ce9368c5442acc9e7d260df2110..46c7ef02bb0a63276ac51a0587061497d9ef896a 100644 --- a/paddlex/cv/nets/detection/yolo_v3.py +++ b/paddlex/cv/nets/detection/yolo_v3.py @@ -153,7 +153,7 @@ class YOLOv3: def _upsample(self, input, scale=2, name=None): out = fluid.layers.resize_nearest( - input=input, scale=float(scale), name=name) + input=input, scale=float(scale), name=name, align_corners=False) return out def _detection_block(self, input, channel, name=None): @@ -242,7 +242,7 @@ class YOLOv3: nms_top_k=self.nms_topk, keep_top_k=self.nms_keep_topk, nms_threshold=self.nms_iou_threshold, - normalized=False, + normalized=True, nms_eta=1.0, background_label=-1) return pred diff --git a/paddlex/cv/nets/hrnet.py b/paddlex/cv/nets/hrnet.py index c366f13686a69206c3ee18d84b08c102fba6df92..d4fe2d5918632ecec85a3cbb4057ab3d49023f43 100644 --- a/paddlex/cv/nets/hrnet.py +++ b/paddlex/cv/nets/hrnet.py @@ -241,7 +241,7 @@ class HRNet(object): align_mode=1) else: y = fluid.layers.resize_nearest( - input=y, scale=2**(j - i)) + input=y, scale=2**(j - i), align_corners=False) residual = fluid.layers.elementwise_add( x=residual, y=y, act=None) elif j < i: diff --git a/paddlex/cv/nets/segmentation/deeplabv3p.py b/paddlex/cv/nets/segmentation/deeplabv3p.py index 4f9e538a28abe37481b96a517019b252f6d96f45..1100ed3a37ddc80c8bcfa7e2a44f4e452701c4b0 100644 --- a/paddlex/cv/nets/segmentation/deeplabv3p.py +++ b/paddlex/cv/nets/segmentation/deeplabv3p.py @@ -151,8 +151,8 @@ class DeepLabv3p(object): padding=0, param_attr=param_attr)) input_shape = fluid.layers.shape(input) - image_avg = fluid.layers.resize_bilinear(image_avg, - input_shape[2:]) + image_avg = fluid.layers.resize_bilinear( + image_avg, input_shape[2:], align_corners=False) with scope("aspp0"): aspp0 = bn_relu( @@ -260,7 +260,9 @@ class DeepLabv3p(object): decode_shortcut_shape = fluid.layers.shape(decode_shortcut) encode_data = fluid.layers.resize_bilinear( - encode_data, decode_shortcut_shape[2:]) + encode_data, + decode_shortcut_shape[2:], + align_corners=False) encode_data = fluid.layers.concat( [encode_data, decode_shortcut], axis=1) if self.decoder_use_sep_conv: @@ -362,7 +364,8 @@ class DeepLabv3p(object): bias_attr=True, param_attr=param_attr) image_shape = fluid.layers.shape(image) - logit = fluid.layers.resize_bilinear(logit, image_shape[2:]) + logit = fluid.layers.resize_bilinear( + logit, image_shape[2:], align_corners=False) if self.num_classes == 1: out = sigmoid_to_softmax(logit) diff --git a/paddlex/cv/nets/segmentation/fast_scnn.py b/paddlex/cv/nets/segmentation/fast_scnn.py index 71866e56df9adf31c45d841a7bcde3a062c3067a..f7d6ee20a48f3a59613da41b11dad08475e25123 100644 --- a/paddlex/cv/nets/segmentation/fast_scnn.py +++ b/paddlex/cv/nets/segmentation/fast_scnn.py @@ -86,26 +86,27 @@ class FastSCNN(object): 64, 128, 128) with scope('classifier'): logit = self._classifier(x, 128) - logit = fluid.layers.resize_bilinear(logit, size, align_mode=0) + logit = fluid.layers.resize_bilinear( + logit, size, align_corners=False, align_mode=1) if len(self.multi_loss_weight) == 3: with scope('aux_layer_higher'): higher_logit = self._aux_layer(higher_res_features, self.num_classes) higher_logit = fluid.layers.resize_bilinear( - higher_logit, size, align_mode=0) + higher_logit, size, align_corners=False, align_mode=1) with scope('aux_layer_lower'): lower_logit = self._aux_layer(lower_res_feature, self.num_classes) lower_logit = fluid.layers.resize_bilinear( - lower_logit, size, align_mode=0) + lower_logit, size, align_corners=False, align_mode=1) logit = (logit, higher_logit, lower_logit) elif len(self.multi_loss_weight) == 2: with scope('aux_layer_higher'): higher_logit = self._aux_layer(higher_res_features, self.num_classes) higher_logit = fluid.layers.resize_bilinear( - higher_logit, size, align_mode=0) + higher_logit, size, align_corners=False, align_mode=1) logit = (logit, higher_logit) else: logit = (logit, ) @@ -317,7 +318,8 @@ class FastSCNN(object): data_bn, out_shape=fluid.layers.shape(input)[2:], name=psp_name + '_interp', - align_mode=0) + align_corners=False, + align_mode=1) cat_layers.append(interp) cat_layers = [input] + cat_layers out = fluid.layers.concat(cat_layers, axis=1, name='psp_cat') @@ -342,7 +344,7 @@ class FastSCNN(object): w = shape[-1] h = shape[-2] lower_res_feature = fluid.layers.resize_bilinear( - lower_res_feature, [h, w], align_mode=0) + lower_res_feature, [h, w], align_corners=False, align_mode=1) with scope('dwconv'): lower_res_feature = relu( diff --git a/paddlex/cv/nets/segmentation/unet.py b/paddlex/cv/nets/segmentation/unet.py index f3675ea5124d684809ebaf1138545a4ea6fd6cec..3f11eaae3132a3b83025646786a4ce348728ac76 100644 --- a/paddlex/cv/nets/segmentation/unet.py +++ b/paddlex/cv/nets/segmentation/unet.py @@ -144,7 +144,8 @@ class UNet(object): with scope("up"): if self.upsample_mode == 'bilinear': short_cut_shape = fluid.layers.shape(short_cut) - data = fluid.layers.resize_bilinear(data, short_cut_shape[2:]) + data = fluid.layers.resize_bilinear( + data, short_cut_shape[2:], align_corners=False) else: data = deconv( data,