From 7fbb36cbc58fd230ff77843def9a74ecf7545500 Mon Sep 17 00:00:00 2001 From: shenwei41 Date: Wed, 26 Aug 2020 14:35:36 +0800 Subject: [PATCH] Modify the problem of dividing by 0 --- mindspore/dataset/core/validator_helpers.py | 8 ++++++++ mindspore/dataset/transforms/vision/c_transforms.py | 2 +- mindspore/dataset/transforms/vision/py_transforms.py | 2 +- mindspore/dataset/transforms/vision/validators.py | 4 ++-- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/mindspore/dataset/core/validator_helpers.py b/mindspore/dataset/core/validator_helpers.py index d9f3267244..0215e472d8 100644 --- a/mindspore/dataset/core/validator_helpers.py +++ b/mindspore/dataset/core/validator_helpers.py @@ -60,6 +60,14 @@ def check_value(value, valid_range, arg_name=""): valid_range[1])) +def check_value_normalize_std(value, valid_range, arg_name=""): + arg_name = pad_arg_name(arg_name) + if value <= valid_range[0] or value > valid_range[1]: + raise ValueError( + "Input {0}is not within the required interval of ({1} to {2}).".format(arg_name, valid_range[0], + valid_range[1])) + + def check_range(values, valid_range, arg_name=""): arg_name = pad_arg_name(arg_name) if not valid_range[0] <= values[0] <= values[1] <= valid_range[1]: diff --git a/mindspore/dataset/transforms/vision/c_transforms.py b/mindspore/dataset/transforms/vision/c_transforms.py index f87b1747bf..fc7f3a070c 100644 --- a/mindspore/dataset/transforms/vision/c_transforms.py +++ b/mindspore/dataset/transforms/vision/c_transforms.py @@ -105,7 +105,7 @@ class RandomSharpness(cde.RandomSharpnessOp): Raises: TypeError : If degrees is not a list or tuple. - ValueError: If degrees is not positive. + ValueError: If degrees is negative. ValueError: If degrees is in (max, min) format instead of (min, max). Examples: diff --git a/mindspore/dataset/transforms/vision/py_transforms.py b/mindspore/dataset/transforms/vision/py_transforms.py index f66050949d..b5e22b2f1e 100644 --- a/mindspore/dataset/transforms/vision/py_transforms.py +++ b/mindspore/dataset/transforms/vision/py_transforms.py @@ -224,7 +224,7 @@ class Normalize: """ Normalize the input Numpy image array of shape (C, H, W) with the given mean and standard deviation. - The values of the array need to be in range [0.0, 1.0]. + The values of the array need to be in range (0.0, 1.0]. Args: mean (sequence): List or tuple of mean values for each channel, w.r.t channel order. diff --git a/mindspore/dataset/transforms/vision/validators.py b/mindspore/dataset/transforms/vision/validators.py index 2be8d0d41a..04824425f7 100644 --- a/mindspore/dataset/transforms/vision/validators.py +++ b/mindspore/dataset/transforms/vision/validators.py @@ -22,7 +22,7 @@ from mindspore._c_dataengine import TensorOp from .utils import Inter, Border, ImageBatchFormat from ...core.validator_helpers import check_value, check_uint8, FLOAT_MAX_INTEGER, check_pos_float32, \ check_2tuple, check_range, check_positive, INT32_MAX, parse_user_args, type_check, type_check_list, \ - check_tensor_op, UINT8_MAX + check_tensor_op, UINT8_MAX, check_value_normalize_std def check_crop_size(size): @@ -92,7 +92,7 @@ def check_normalize_py_param(mean, std): for mean_value in mean: check_value(mean_value, [0., 1.], "mean_value") for std_value in std: - check_value(std_value, [0., 1.], "std_value") + check_value_normalize_std(std_value, [0., 1.], "std_value") def check_fill_value(fill_value):