chenguowei01 5 years ago
parent
commit
881fc5df1a

+ 1 - 2
paddlex/cv/datasets/dataset.py

@@ -228,8 +228,7 @@ def generate_minibatch(batch_data, label_padding_value=255):
             
         elif len(data) > 1:
             if isinstance(data[1], np.ndarray) and len(data[1].shape) > 1:
-                # padding the image and label of segmentation
-                # during the training  and evaluating phase
+                # padding the image and label of segmentation during the training
                 # the data[1] of segmentation is a image array,
                 # so len(data[1].shape) > 1
                 padding_label = np.zeros(

+ 2 - 1
paddlex/cv/models/deeplabv3p.py

@@ -360,7 +360,7 @@ class DeepLabv3p(BaseAPI):
                 pred = pred[0:num_samples]
 
             for i in range(num_samples):
-                one_pred = pred[i].astype('int64')
+                one_pred = pred[i].astype('uint8')
                 one_label = labels[i]
                 for info in im_info[i][::-1]:
                     if info[0] == 'resize':
@@ -372,6 +372,7 @@ class DeepLabv3p(BaseAPI):
                     else:
                         raise Exception("Unexpected info '{}' in im_info".format(
                             info[0]))
+                one_pred = one_pred.astype('int64')
                 one_pred = one_pred[np.newaxis, :, :, np.newaxis]
                 one_label = one_label[np.newaxis, np.newaxis, :, :]
                 mask = one_label != self.ignore_index

+ 2 - 2
paddlex/cv/transforms/seg_transforms.py

@@ -90,7 +90,7 @@ class Compose(SegTransform):
         if label is not None:
             if not isinstance(label, np.ndarray):
                 label = np.asarray(Image.open(label))
-                origin_label = label.copy()
+            origin_label = label.copy()
         for op in self.transforms:
             if isinstance(op, SegTransform):
                 outputs = op(im, im_info, label)
@@ -105,7 +105,7 @@ class Compose(SegTransform):
                     outputs = (im, im_info, label)
                 else:
                     outputs = (im, im_info)
-        if type(self.transforms[-1]).__name__ == 'ArrangeSegmenter':
+        if self.transforms[-1].__class__.__name__ == 'ArrangeSegmenter':
             if self.transforms[-1].mode == 'eval':
                 if label is not None:
                     outputs = (im, im_info, origin_label)