提交 169eaf73 编写于 作者: T Tinazhang

reorganize util function visualize()

上级 ff059031
...@@ -12,12 +12,15 @@ ...@@ -12,12 +12,15 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# ============================================================================== # ==============================================================================
"""
Testing HWC2CHW op in DE
"""
import numpy as np import numpy as np
import mindspore.dataset as ds import mindspore.dataset as ds
import mindspore.dataset.transforms.vision.c_transforms as c_vision import mindspore.dataset.transforms.vision.c_transforms as c_vision
import mindspore.dataset.transforms.vision.py_transforms as py_vision import mindspore.dataset.transforms.vision.py_transforms as py_vision
from mindspore import log as logger from mindspore import log as logger
from util import diff_mse, visualize, save_and_check_md5 from util import diff_mse, visualize_list, save_and_check_md5
GENERATE_GOLDEN = False GENERATE_GOLDEN = False
...@@ -55,7 +58,7 @@ def test_HWC2CHW(plot=False): ...@@ -55,7 +58,7 @@ def test_HWC2CHW(plot=False):
mse = diff_mse(transposed_item, original_item.transpose(2, 0, 1)) mse = diff_mse(transposed_item, original_item.transpose(2, 0, 1))
assert mse == 0 assert mse == 0
if plot: if plot:
visualize(image, image_transposed) visualize_list(image, image_transposed)
def test_HWC2CHW_md5(): def test_HWC2CHW_md5():
...@@ -112,7 +115,7 @@ def test_HWC2CHW_comp(plot=False): ...@@ -112,7 +115,7 @@ def test_HWC2CHW_comp(plot=False):
image_c_transposed.append(c_image.transpose(1, 2, 0)) image_c_transposed.append(c_image.transpose(1, 2, 0))
image_py_transposed.append(py_image.transpose(1, 2, 0)) image_py_transposed.append(py_image.transpose(1, 2, 0))
if plot: if plot:
visualize(image_c_transposed, image_py_transposed) visualize_list(image_c_transposed, image_py_transposed, visualize_mode=2)
if __name__ == '__main__': if __name__ == '__main__':
......
...@@ -12,34 +12,19 @@ ...@@ -12,34 +12,19 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# ============================================================================== # ==============================================================================
"""
import matplotlib.pyplot as plt Testing AutoContrast op in DE
"""
import numpy as np import numpy as np
import mindspore.dataset.engine as de import mindspore.dataset.engine as de
import mindspore.dataset.transforms.vision.py_transforms as F import mindspore.dataset.transforms.vision.py_transforms as F
from mindspore import log as logger from mindspore import log as logger
from util import visualize_list
DATA_DIR = "../data/dataset/testImageNetData/train/" DATA_DIR = "../data/dataset/testImageNetData/train/"
def visualize(image_original, image_auto_contrast):
"""
visualizes the image using DE op and Numpy op
"""
num = len(image_auto_contrast)
for i in range(num):
plt.subplot(2, num, i + 1)
plt.imshow(image_original[i])
plt.title("Original image")
plt.subplot(2, num, i + num + 1)
plt.imshow(image_auto_contrast[i])
plt.title("DE AutoContrast image")
plt.show()
def test_auto_contrast(plot=False): def test_auto_contrast(plot=False):
""" """
Test AutoContrast Test AutoContrast
...@@ -94,7 +79,7 @@ def test_auto_contrast(plot=False): ...@@ -94,7 +79,7 @@ def test_auto_contrast(plot=False):
logger.info("MSE= {}".format(str(np.mean(mse)))) logger.info("MSE= {}".format(str(np.mean(mse))))
if plot: if plot:
visualize(images_original, images_auto_contrast) visualize_list(images_original, images_auto_contrast)
if __name__ == "__main__": if __name__ == "__main__":
......
...@@ -12,12 +12,15 @@ ...@@ -12,12 +12,15 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# ============================================================================== # ==============================================================================
"""
Testing CenterCrop op in DE
"""
import numpy as np import numpy as np
import mindspore.dataset as ds import mindspore.dataset as ds
import mindspore.dataset.transforms.vision.c_transforms as vision import mindspore.dataset.transforms.vision.c_transforms as vision
import mindspore.dataset.transforms.vision.py_transforms as py_vision import mindspore.dataset.transforms.vision.py_transforms as py_vision
from mindspore import log as logger from mindspore import log as logger
from util import diff_mse, visualize, save_and_check_md5 from util import diff_mse, visualize_list, save_and_check_md5
GENERATE_GOLDEN = False GENERATE_GOLDEN = False
...@@ -49,7 +52,7 @@ def test_center_crop_op(height=375, width=375, plot=False): ...@@ -49,7 +52,7 @@ def test_center_crop_op(height=375, width=375, plot=False):
image_cropped.append(item1["image"].copy()) image_cropped.append(item1["image"].copy())
image.append(item2["image"].copy()) image.append(item2["image"].copy())
if plot: if plot:
visualize(image, image_cropped) visualize_list(image, image_cropped)
def test_center_crop_md5(height=375, width=375): def test_center_crop_md5(height=375, width=375):
...@@ -93,17 +96,17 @@ def test_center_crop_comp(height=375, width=375, plot=False): ...@@ -93,17 +96,17 @@ def test_center_crop_comp(height=375, width=375, plot=False):
transform = py_vision.ComposeOp(transforms) transform = py_vision.ComposeOp(transforms)
data2 = data2.map(input_columns=["image"], operations=transform()) data2 = data2.map(input_columns=["image"], operations=transform())
image_cropped = [] image_c_cropped = []
image = [] image_py_cropped = []
for item1, item2 in zip(data1.create_dict_iterator(), data2.create_dict_iterator()): for item1, item2 in zip(data1.create_dict_iterator(), data2.create_dict_iterator()):
c_image = item1["image"] c_image = item1["image"]
py_image = (item2["image"].transpose(1, 2, 0) * 255).astype(np.uint8) py_image = (item2["image"].transpose(1, 2, 0) * 255).astype(np.uint8)
# Note: The images aren't exactly the same due to rounding error # Note: The images aren't exactly the same due to rounding error
assert diff_mse(py_image, c_image) < 0.001 assert diff_mse(py_image, c_image) < 0.001
image_cropped.append(c_image.copy()) image_c_cropped.append(c_image.copy())
image.append(py_image.copy()) image_py_cropped.append(py_image.copy())
if plot: if plot:
visualize(image, image_cropped) visualize_list(image_c_cropped, image_py_cropped, visualize_mode=2)
# pylint: disable=unnecessary-lambda # pylint: disable=unnecessary-lambda
......
...@@ -15,37 +15,19 @@ ...@@ -15,37 +15,19 @@
""" """
Testing CutOut op in DE Testing CutOut op in DE
""" """
import matplotlib.pyplot as plt
import numpy as np import numpy as np
import mindspore.dataset as ds import mindspore.dataset as ds
import mindspore.dataset.transforms.vision.c_transforms as c import mindspore.dataset.transforms.vision.c_transforms as c
import mindspore.dataset.transforms.vision.py_transforms as f import mindspore.dataset.transforms.vision.py_transforms as f
from mindspore import log as logger from mindspore import log as logger
from util import visualize_image, diff_mse
DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"] DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"]
SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json" SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json"
def visualize(image_1, image_2): def test_cut_out_op(plot=False):
"""
visualizes the image using RandomErasing and Cutout
"""
plt.subplot(141)
plt.imshow(image_1)
plt.title("RandomErasing")
plt.subplot(142)
plt.imshow(image_2)
plt.title("Cutout")
plt.subplot(143)
plt.imshow(image_1 - image_2)
plt.title("Difference image")
plt.show()
def test_cut_out_op():
""" """
Test Cutout Test Cutout
""" """
...@@ -87,7 +69,9 @@ def test_cut_out_op(): ...@@ -87,7 +69,9 @@ def test_cut_out_op():
logger.info("dtype of image_1: {}".format(image_1.dtype)) logger.info("dtype of image_1: {}".format(image_1.dtype))
logger.info("dtype of image_2: {}".format(image_2.dtype)) logger.info("dtype of image_2: {}".format(image_2.dtype))
# visualize(image_1, image_2) mse = diff_mse(image_1, image_2)
if plot:
visualize_image(image_1, image_2, mse)
def test_cut_out_op_multicut(): def test_cut_out_op_multicut():
...@@ -134,5 +118,5 @@ def test_cut_out_op_multicut(): ...@@ -134,5 +118,5 @@ def test_cut_out_op_multicut():
if __name__ == "__main__": if __name__ == "__main__":
test_cut_out_op() test_cut_out_op(plot=True)
test_cut_out_op_multicut() test_cut_out_op_multicut()
...@@ -15,12 +15,12 @@ ...@@ -15,12 +15,12 @@
""" """
Testing Decode op in DE Testing Decode op in DE
""" """
import numpy as np
import cv2 import cv2
import mindspore.dataset as ds import mindspore.dataset as ds
import mindspore.dataset.transforms.vision.c_transforms as vision import mindspore.dataset.transforms.vision.c_transforms as vision
from mindspore import log as logger from mindspore import log as logger
from util import diff_mse
DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"] DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"]
SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json" SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json"
...@@ -45,8 +45,7 @@ def test_decode_op(): ...@@ -45,8 +45,7 @@ def test_decode_op():
expected = cv2.imdecode(item2["image"], cv2.IMREAD_COLOR) expected = cv2.imdecode(item2["image"], cv2.IMREAD_COLOR)
expected = cv2.cvtColor(expected, cv2.COLOR_BGR2RGB) expected = cv2.cvtColor(expected, cv2.COLOR_BGR2RGB)
assert actual.shape == expected.shape assert actual.shape == expected.shape
diff = actual - expected mse = diff_mse(actual, expected)
mse = np.sum(np.power(diff, 2))
assert mse == 0 assert mse == 0
...@@ -71,8 +70,7 @@ def test_decode_op_tf_file_dataset(): ...@@ -71,8 +70,7 @@ def test_decode_op_tf_file_dataset():
expected = cv2.imdecode(item2["image"], cv2.IMREAD_COLOR) expected = cv2.imdecode(item2["image"], cv2.IMREAD_COLOR)
expected = cv2.cvtColor(expected, cv2.COLOR_BGR2RGB) expected = cv2.cvtColor(expected, cv2.COLOR_BGR2RGB)
assert actual.shape == expected.shape assert actual.shape == expected.shape
diff = actual - expected mse = diff_mse(actual, expected)
mse = np.sum(np.power(diff, 2))
assert mse == 0 assert mse == 0
......
...@@ -12,34 +12,19 @@ ...@@ -12,34 +12,19 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# ============================================================================== # ==============================================================================
"""
import matplotlib.pyplot as plt Testing Equalize op in DE
"""
import numpy as np import numpy as np
import mindspore.dataset.engine as de import mindspore.dataset.engine as de
import mindspore.dataset.transforms.vision.py_transforms as F import mindspore.dataset.transforms.vision.py_transforms as F
from mindspore import log as logger from mindspore import log as logger
from util import visualize_list
DATA_DIR = "../data/dataset/testImageNetData/train/" DATA_DIR = "../data/dataset/testImageNetData/train/"
def visualize(image_original, image_equalize):
"""
visualizes the image using DE op and Numpy op
"""
num = len(image_equalize)
for i in range(num):
plt.subplot(2, num, i + 1)
plt.imshow(image_original[i])
plt.title("Original image")
plt.subplot(2, num, i + num + 1)
plt.imshow(image_equalize[i])
plt.title("DE Color Equalized image")
plt.show()
def test_equalize(plot=False): def test_equalize(plot=False):
""" """
Test Equalize Test Equalize
...@@ -94,7 +79,7 @@ def test_equalize(plot=False): ...@@ -94,7 +79,7 @@ def test_equalize(plot=False):
logger.info("MSE= {}".format(str(np.mean(mse)))) logger.info("MSE= {}".format(str(np.mean(mse))))
if plot: if plot:
visualize(images_original, images_equalize) visualize_list(images_original, images_equalize)
if __name__ == "__main__": if __name__ == "__main__":
......
...@@ -20,7 +20,7 @@ import numpy as np ...@@ -20,7 +20,7 @@ import numpy as np
import mindspore.dataset as ds import mindspore.dataset as ds
import mindspore.dataset.transforms.vision.py_transforms as vision import mindspore.dataset.transforms.vision.py_transforms as vision
from mindspore import log as logger from mindspore import log as logger
from util import visualize from util import visualize_list
DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"] DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"]
SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json" SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json"
...@@ -63,7 +63,7 @@ def test_five_crop_op(plot=False): ...@@ -63,7 +63,7 @@ def test_five_crop_op(plot=False):
logger.info("dtype of image_1: {}".format(image_1.dtype)) logger.info("dtype of image_1: {}".format(image_1.dtype))
logger.info("dtype of image_2: {}".format(image_2.dtype)) logger.info("dtype of image_2: {}".format(image_2.dtype))
if plot: if plot:
visualize(np.array([image_1]*10), (image_2 * 255).astype(np.uint8).transpose(0, 2, 3, 1)) visualize_list(np.array([image_1]*10), (image_2 * 255).astype(np.uint8).transpose(0, 2, 3, 1))
# The output data should be of a 4D tensor shape, a stack of 5 images. # The output data should be of a 4D tensor shape, a stack of 5 images.
assert len(image_2.shape) == 4 assert len(image_2.shape) == 4
......
...@@ -12,34 +12,19 @@ ...@@ -12,34 +12,19 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# ============================================================================== # ==============================================================================
"""
import matplotlib.pyplot as plt Testing Invert op in DE
"""
import numpy as np import numpy as np
import mindspore.dataset.engine as de import mindspore.dataset.engine as de
import mindspore.dataset.transforms.vision.py_transforms as F import mindspore.dataset.transforms.vision.py_transforms as F
from mindspore import log as logger from mindspore import log as logger
from util import visualize_list
DATA_DIR = "../data/dataset/testImageNetData/train/" DATA_DIR = "../data/dataset/testImageNetData/train/"
def visualize(image_original, image_invert):
"""
visualizes the image using DE op and Numpy op
"""
num = len(image_invert)
for i in range(num):
plt.subplot(2, num, i + 1)
plt.imshow(image_original[i])
plt.title("Original image")
plt.subplot(2, num, i + num + 1)
plt.imshow(image_invert[i])
plt.title("DE Color Inverted image")
plt.show()
def test_invert(plot=False): def test_invert(plot=False):
""" """
Test Invert Test Invert
...@@ -94,7 +79,7 @@ def test_invert(plot=False): ...@@ -94,7 +79,7 @@ def test_invert(plot=False):
logger.info("MSE= {}".format(str(np.mean(mse)))) logger.info("MSE= {}".format(str(np.mean(mse))))
if plot: if plot:
visualize(images_original, images_invert) visualize_list(images_original, images_invert)
if __name__ == "__main__": if __name__ == "__main__":
......
...@@ -19,7 +19,7 @@ import numpy as np ...@@ -19,7 +19,7 @@ import numpy as np
import mindspore.dataset as ds import mindspore.dataset as ds
import mindspore.dataset.transforms.vision.py_transforms as py_vision import mindspore.dataset.transforms.vision.py_transforms as py_vision
from mindspore import log as logger from mindspore import log as logger
from util import diff_mse, visualize, save_and_check_md5 from util import diff_mse, visualize_list, save_and_check_md5
GENERATE_GOLDEN = False GENERATE_GOLDEN = False
...@@ -71,7 +71,7 @@ def test_linear_transformation_op(plot=False): ...@@ -71,7 +71,7 @@ def test_linear_transformation_op(plot=False):
mse = diff_mse(image1, image2) mse = diff_mse(image1, image2)
assert mse == 0 assert mse == 0
if plot: if plot:
visualize(image, image_transformed) visualize_list(image, image_transformed)
def test_linear_transformation_md5_01(): def test_linear_transformation_md5_01():
""" """
......
...@@ -16,12 +16,11 @@ ...@@ -16,12 +16,11 @@
Testing Normalize op in DE Testing Normalize op in DE
""" """
import numpy as np import numpy as np
import matplotlib.pyplot as plt
import mindspore.dataset as ds import mindspore.dataset as ds
import mindspore.dataset.transforms.vision.c_transforms as c_vision import mindspore.dataset.transforms.vision.c_transforms as c_vision
import mindspore.dataset.transforms.vision.py_transforms as py_vision import mindspore.dataset.transforms.vision.py_transforms as py_vision
from mindspore import log as logger from mindspore import log as logger
from util import diff_mse, save_and_check_md5 from util import diff_mse, save_and_check_md5, visualize_image
DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"] DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"]
SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json" SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json"
...@@ -29,28 +28,6 @@ SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json" ...@@ -29,28 +28,6 @@ SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json"
GENERATE_GOLDEN = False GENERATE_GOLDEN = False
def visualize_mse(image_de_normalized, image_np_normalized, mse, image_original):
"""
visualizes the image using DE op and Numpy op
"""
plt.subplot(141)
plt.imshow(image_original)
plt.title("Original image")
plt.subplot(142)
plt.imshow(image_de_normalized)
plt.title("DE normalized image")
plt.subplot(143)
plt.imshow(image_np_normalized)
plt.title("Numpy normalized image")
plt.subplot(144)
plt.imshow(image_de_normalized - image_np_normalized)
plt.title("Difference image, mse : {}".format(mse))
plt.show()
def normalize_np(image, mean, std): def normalize_np(image, mean, std):
""" """
Apply the normalization Apply the normalization
...@@ -137,7 +114,7 @@ def test_normalize_op_c(plot=False): ...@@ -137,7 +114,7 @@ def test_normalize_op_c(plot=False):
logger.info("image_{}, mse: {}".format(num_iter + 1, mse)) logger.info("image_{}, mse: {}".format(num_iter + 1, mse))
assert mse < 0.01 assert mse < 0.01
if plot: if plot:
visualize_mse(image_de_normalized, image_np_normalized, mse, image_original) visualize_image(image_original, image_de_normalized, mse, image_np_normalized)
num_iter += 1 num_iter += 1
...@@ -174,7 +151,7 @@ def test_normalize_op_py(plot=False): ...@@ -174,7 +151,7 @@ def test_normalize_op_py(plot=False):
logger.info("image_{}, mse: {}".format(num_iter + 1, mse)) logger.info("image_{}, mse: {}".format(num_iter + 1, mse))
assert mse < 0.01 assert mse < 0.01
if plot: if plot:
visualize_mse(image_de_normalized, image_np_normalized, mse, image_original) visualize_image(image_original, image_de_normalized, mse, image_np_normalized)
num_iter += 1 num_iter += 1
......
...@@ -20,6 +20,7 @@ import numpy as np ...@@ -20,6 +20,7 @@ import numpy as np
import mindspore.dataset as ds import mindspore.dataset as ds
import mindspore.dataset.transforms.c_transforms as data_trans import mindspore.dataset.transforms.c_transforms as data_trans
from mindspore import log as logger from mindspore import log as logger
from util import diff_mse
DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"] DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"]
SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json" SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json"
...@@ -55,7 +56,7 @@ def test_one_hot(): ...@@ -55,7 +56,7 @@ def test_one_hot():
assert len(item1) == len(item2) assert len(item1) == len(item2)
label1 = item1["label"] label1 = item1["label"]
label2 = one_hot(item2["label"][0], depth) label2 = one_hot(item2["label"][0], depth)
mse = np.sum(label1 - label2) mse = diff_mse(label1, label2)
logger.info("DE one_hot: {}, Numpy one_hot: {}, diff: {}".format(label1, label2, mse)) logger.info("DE one_hot: {}, Numpy one_hot: {}, diff: {}".format(label1, label2, mse))
num_iter += 1 num_iter += 1
......
...@@ -19,7 +19,7 @@ import numpy as np ...@@ -19,7 +19,7 @@ import numpy as np
import mindspore.dataset as ds import mindspore.dataset as ds
import mindspore.dataset.transforms.vision.py_transforms as py_vision import mindspore.dataset.transforms.vision.py_transforms as py_vision
from mindspore import log as logger from mindspore import log as logger
from util import visualize, save_and_check_md5, \ from util import visualize_list, save_and_check_md5, \
config_get_set_seed, config_get_set_num_parallel_workers config_get_set_seed, config_get_set_num_parallel_workers
GENERATE_GOLDEN = False GENERATE_GOLDEN = False
...@@ -62,7 +62,7 @@ def test_random_affine_op(plot=False): ...@@ -62,7 +62,7 @@ def test_random_affine_op(plot=False):
image_affine.append(image1) image_affine.append(image1)
image_original.append(image2) image_original.append(image2)
if plot: if plot:
visualize(image_original, image_affine) visualize_list(image_original, image_affine)
def test_random_affine_md5(): def test_random_affine_md5():
......
...@@ -19,7 +19,7 @@ import numpy as np ...@@ -19,7 +19,7 @@ import numpy as np
import mindspore.dataset as ds import mindspore.dataset as ds
import mindspore.dataset.transforms.vision.py_transforms as py_vision import mindspore.dataset.transforms.vision.py_transforms as py_vision
from mindspore import log as logger from mindspore import log as logger
from util import visualize, config_get_set_seed, \ from util import visualize_list, config_get_set_seed, \
config_get_set_num_parallel_workers, save_and_check_md5 config_get_set_num_parallel_workers, save_and_check_md5
GENERATE_GOLDEN = False GENERATE_GOLDEN = False
...@@ -63,7 +63,7 @@ def test_random_apply_op(plot=False): ...@@ -63,7 +63,7 @@ def test_random_apply_op(plot=False):
image_apply.append(image1) image_apply.append(image1)
image_original.append(image2) image_original.append(image2)
if plot: if plot:
visualize(image_original, image_apply) visualize_list(image_original, image_apply)
def test_random_apply_md5(): def test_random_apply_md5():
......
...@@ -19,7 +19,7 @@ import numpy as np ...@@ -19,7 +19,7 @@ import numpy as np
import mindspore.dataset as ds import mindspore.dataset as ds
import mindspore.dataset.transforms.vision.py_transforms as py_vision import mindspore.dataset.transforms.vision.py_transforms as py_vision
from mindspore import log as logger from mindspore import log as logger
from util import visualize, diff_mse from util import visualize_list, diff_mse
DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"] DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"]
SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json" SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json"
...@@ -60,7 +60,7 @@ def test_random_choice_op(plot=False): ...@@ -60,7 +60,7 @@ def test_random_choice_op(plot=False):
image_choice.append(image1) image_choice.append(image1)
image_original.append(image2) image_original.append(image2)
if plot: if plot:
visualize(image_original, image_choice) visualize_list(image_original, image_choice)
def test_random_choice_comp(plot=False): def test_random_choice_comp(plot=False):
...@@ -102,7 +102,7 @@ def test_random_choice_comp(plot=False): ...@@ -102,7 +102,7 @@ def test_random_choice_comp(plot=False):
mse = diff_mse(image1, image2) mse = diff_mse(image1, image2)
assert mse == 0 assert mse == 0
if plot: if plot:
visualize(image_original, image_choice) visualize_list(image_original, image_choice)
def test_random_choice_exception_random_crop_badinput(): def test_random_choice_exception_random_crop_badinput():
......
...@@ -12,34 +12,19 @@ ...@@ -12,34 +12,19 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# ============================================================================== # ==============================================================================
"""
import matplotlib.pyplot as plt Testing RandomColor op in DE
"""
import numpy as np import numpy as np
import mindspore.dataset.engine as de import mindspore.dataset.engine as de
import mindspore.dataset.transforms.vision.py_transforms as F import mindspore.dataset.transforms.vision.py_transforms as F
from mindspore import log as logger from mindspore import log as logger
from util import visualize_list
DATA_DIR = "../data/dataset/testImageNetData/train/" DATA_DIR = "../data/dataset/testImageNetData/train/"
def visualize(image_original, image_random_color):
"""
visualizes the image using DE op and Numpy op
"""
num = len(image_random_color)
for i in range(num):
plt.subplot(2, num, i + 1)
plt.imshow(image_original[i])
plt.title("Original image")
plt.subplot(2, num, i + num + 1)
plt.imshow(image_random_color[i])
plt.title("DE Random Color image")
plt.show()
def test_random_color(degrees=(0.1, 1.9), plot=False): def test_random_color(degrees=(0.1, 1.9), plot=False):
""" """
Test RandomColor Test RandomColor
...@@ -94,7 +79,7 @@ def test_random_color(degrees=(0.1, 1.9), plot=False): ...@@ -94,7 +79,7 @@ def test_random_color(degrees=(0.1, 1.9), plot=False):
logger.info("MSE= {}".format(str(np.mean(mse)))) logger.info("MSE= {}".format(str(np.mean(mse))))
if plot: if plot:
visualize(images_original, images_random_color) visualize_list(images_original, images_random_color)
if __name__ == "__main__": if __name__ == "__main__":
......
...@@ -16,37 +16,18 @@ ...@@ -16,37 +16,18 @@
Testing RandomColorAdjust op in DE Testing RandomColorAdjust op in DE
""" """
import pytest import pytest
import matplotlib.pyplot as plt
import numpy as np import numpy as np
from util import diff_mse
import mindspore.dataset as ds import mindspore.dataset as ds
import mindspore.dataset.transforms.vision.c_transforms as c_vision import mindspore.dataset.transforms.vision.c_transforms as c_vision
import mindspore.dataset.transforms.vision.py_transforms as py_vision import mindspore.dataset.transforms.vision.py_transforms as py_vision
from mindspore import log as logger from mindspore import log as logger
from util import diff_mse, visualize_image
DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"] DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"]
SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json" SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json"
def visualize(first, mse, second):
"""
visualizes the image using DE op and OpenCV
"""
plt.subplot(141)
plt.imshow(first)
plt.title("c transformed image")
plt.subplot(142)
plt.imshow(second)
plt.title("py random_color_adjust image")
plt.subplot(143)
plt.imshow(first - second)
plt.title("Difference image, mse : {}".format(mse))
plt.show()
def util_test_random_color_adjust_error(brightness=(1, 1), contrast=(1, 1), saturation=(1, 1), hue=(0, 0)): def util_test_random_color_adjust_error(brightness=(1, 1), contrast=(1, 1), saturation=(1, 1), hue=(0, 0)):
""" """
Util function that tests the error message in case of grayscale images Util function that tests the error message in case of grayscale images
...@@ -126,7 +107,7 @@ def util_test_random_color_adjust_op(brightness=(1, 1), contrast=(1, 1), saturat ...@@ -126,7 +107,7 @@ def util_test_random_color_adjust_op(brightness=(1, 1), contrast=(1, 1), saturat
assert mse < 0.01 assert mse < 0.01
if plot: if plot:
visualize(c_image, mse, py_image) visualize_image(c_image, py_image, mse)
def test_random_color_adjust_op_brightness(plot=False): def test_random_color_adjust_op_brightness(plot=False):
......
...@@ -21,7 +21,7 @@ import mindspore.dataset.transforms.vision.py_transforms as py_vision ...@@ -21,7 +21,7 @@ import mindspore.dataset.transforms.vision.py_transforms as py_vision
import mindspore.dataset.transforms.vision.utils as mode import mindspore.dataset.transforms.vision.utils as mode
import mindspore.dataset as ds import mindspore.dataset as ds
from mindspore import log as logger from mindspore import log as logger
from util import save_and_check_md5, visualize, config_get_set_seed, \ from util import save_and_check_md5, visualize_list, config_get_set_seed, \
config_get_set_num_parallel_workers config_get_set_num_parallel_workers
...@@ -57,7 +57,7 @@ def test_random_crop_op_c(plot=False): ...@@ -57,7 +57,7 @@ def test_random_crop_op_c(plot=False):
image_cropped.append(image1) image_cropped.append(image1)
image.append(image2) image.append(image2)
if plot: if plot:
visualize(image, image_cropped) visualize_list(image, image_cropped)
def test_random_crop_op_py(plot=False): def test_random_crop_op_py(plot=False):
""" """
...@@ -91,7 +91,7 @@ def test_random_crop_op_py(plot=False): ...@@ -91,7 +91,7 @@ def test_random_crop_op_py(plot=False):
crop_images.append(crop) crop_images.append(crop)
original_images.append(original) original_images.append(original)
if plot: if plot:
visualize(original_images, crop_images) visualize_list(original_images, crop_images)
def test_random_crop_01_c(): def test_random_crop_01_c():
""" """
...@@ -534,7 +534,7 @@ def test_random_crop_comp(plot=False): ...@@ -534,7 +534,7 @@ def test_random_crop_comp(plot=False):
image_c_cropped.append(c_image) image_c_cropped.append(c_image)
image_py_cropped.append(py_image) image_py_cropped.append(py_image)
if plot: if plot:
visualize(image_c_cropped, image_py_cropped) visualize_list(image_c_cropped, image_py_cropped, visualize_mode=2)
if __name__ == "__main__": if __name__ == "__main__":
......
...@@ -23,7 +23,7 @@ import mindspore.dataset.transforms.vision.py_transforms as py_vision ...@@ -23,7 +23,7 @@ import mindspore.dataset.transforms.vision.py_transforms as py_vision
import mindspore.dataset.transforms.vision.utils as mode import mindspore.dataset.transforms.vision.utils as mode
import mindspore.dataset as ds import mindspore.dataset as ds
from mindspore import log as logger from mindspore import log as logger
from util import diff_mse, save_and_check_md5, visualize, \ from util import diff_mse, save_and_check_md5, visualize_list, \
config_get_set_seed, config_get_set_num_parallel_workers config_get_set_seed, config_get_set_num_parallel_workers
DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"] DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"]
...@@ -63,7 +63,7 @@ def test_random_crop_and_resize_op_c(plot=False): ...@@ -63,7 +63,7 @@ def test_random_crop_and_resize_op_c(plot=False):
crop_and_resize_images.append(crop_and_resize) crop_and_resize_images.append(crop_and_resize)
original_images.append(original) original_images.append(original)
if plot: if plot:
visualize(original_images, crop_and_resize_images) visualize_list(original_images, crop_and_resize_images)
def test_random_crop_and_resize_op_py(plot=False): def test_random_crop_and_resize_op_py(plot=False):
""" """
...@@ -101,7 +101,7 @@ def test_random_crop_and_resize_op_py(plot=False): ...@@ -101,7 +101,7 @@ def test_random_crop_and_resize_op_py(plot=False):
crop_and_resize_images.append(crop_and_resize) crop_and_resize_images.append(crop_and_resize)
original_images.append(original) original_images.append(original)
if plot: if plot:
visualize(original_images, crop_and_resize_images) visualize_list(original_images, crop_and_resize_images)
def test_random_crop_and_resize_01(): def test_random_crop_and_resize_01():
""" """
...@@ -319,7 +319,7 @@ def test_random_crop_and_resize_comp(plot=False): ...@@ -319,7 +319,7 @@ def test_random_crop_and_resize_comp(plot=False):
image_c_cropped.append(c_image) image_c_cropped.append(c_image)
image_py_cropped.append(py_image) image_py_cropped.append(py_image)
if plot: if plot:
visualize(image_c_cropped, image_py_cropped) visualize_list(image_c_cropped, image_py_cropped, visualize_mode=2)
if __name__ == "__main__": if __name__ == "__main__":
test_random_crop_and_resize_op_c(True) test_random_crop_and_resize_op_c(True)
......
...@@ -15,37 +15,18 @@ ...@@ -15,37 +15,18 @@
""" """
Testing RandomCropDecodeResize op in DE Testing RandomCropDecodeResize op in DE
""" """
import matplotlib.pyplot as plt
import numpy as np
import cv2 import cv2
import mindspore.dataset as ds import mindspore.dataset as ds
import mindspore.dataset.transforms.vision.c_transforms as vision import mindspore.dataset.transforms.vision.c_transforms as vision
from mindspore import log as logger from mindspore import log as logger
from util import diff_mse, visualize_image
DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"] DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"]
SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json" SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json"
def visualize(a, mse, original): def test_random_crop_decode_resize_op(plot=False):
"""
visualizes the image using DE op and Numpy Op
"""
plt.subplot(141)
plt.imshow(original)
plt.title("Original image")
plt.subplot(142)
plt.imshow(a)
plt.title("DE random_crop_decode_resize image")
plt.subplot(143)
plt.imshow(a - original)
plt.title("Difference image, mse : {}".format(mse))
plt.show()
def test_random_crop_decode_resize_op():
""" """
Test RandomCropDecodeResize op Test RandomCropDecodeResize op
""" """
...@@ -66,16 +47,15 @@ def test_random_crop_decode_resize_op(): ...@@ -66,16 +47,15 @@ def test_random_crop_decode_resize_op():
if num_iter > 0: if num_iter > 0:
break break
crop_and_resize = item1["image"] crop_and_resize_de = item1["image"]
original = item2["image"] original = item2["image"]
original = cv2.resize(original, (512, 256)) crop_and_resize_cv = cv2.resize(original, (512, 256))
diff = crop_and_resize - original mse = diff_mse(crop_and_resize_de, crop_and_resize_cv)
mse = np.sum(np.power(diff, 2))
logger.info("random_crop_decode_resize_op_{}, mse: {}".format(num_iter + 1, mse)) logger.info("random_crop_decode_resize_op_{}, mse: {}".format(num_iter + 1, mse))
# Uncomment below line if you want to visualize images if plot:
# visualize(crop_and_resize, mse, original) visualize_image(original, crop_and_resize_de, mse, crop_and_resize_cv)
num_iter += 1 num_iter += 1
if __name__ == "__main__": if __name__ == "__main__":
test_random_crop_decode_resize_op() test_random_crop_decode_resize_op(plot=True)
...@@ -15,36 +15,18 @@ ...@@ -15,36 +15,18 @@
""" """
Testing RandomErasing op in DE Testing RandomErasing op in DE
""" """
import matplotlib.pyplot as plt
import numpy as np import numpy as np
import mindspore.dataset as ds import mindspore.dataset as ds
import mindspore.dataset.transforms.vision.py_transforms as vision import mindspore.dataset.transforms.vision.py_transforms as vision
from mindspore import log as logger from mindspore import log as logger
from util import diff_mse, visualize_image
DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"] DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"]
SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json" SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json"
def visualize(image_1, image_2): def test_random_erasing_op(plot=False):
"""
visualizes the image using RandomErasing and Cutout
"""
plt.subplot(141)
plt.imshow(image_1)
plt.title("RandomErasing")
plt.subplot(142)
plt.imshow(image_2)
plt.title("Cutout")
plt.subplot(143)
plt.imshow(image_1 - image_2)
plt.title("Difference image")
plt.show()
def test_random_erasing_op():
""" """
Test RandomErasing and Cutout Test RandomErasing and Cutout
""" """
...@@ -82,8 +64,10 @@ def test_random_erasing_op(): ...@@ -82,8 +64,10 @@ def test_random_erasing_op():
logger.info("dtype of image_1: {}".format(image_1.dtype)) logger.info("dtype of image_1: {}".format(image_1.dtype))
logger.info("dtype of image_2: {}".format(image_2.dtype)) logger.info("dtype of image_2: {}".format(image_2.dtype))
# visualize(image_1, image_2) mse = diff_mse(image_1, image_2)
if plot:
visualize_image(image_1, image_2, mse)
if __name__ == "__main__": if __name__ == "__main__":
test_random_erasing_op() test_random_erasing_op(plot=True)
...@@ -19,7 +19,7 @@ import numpy as np ...@@ -19,7 +19,7 @@ import numpy as np
import mindspore.dataset.transforms.vision.py_transforms as py_vision import mindspore.dataset.transforms.vision.py_transforms as py_vision
import mindspore.dataset as ds import mindspore.dataset as ds
from mindspore import log as logger from mindspore import log as logger
from util import save_and_check_md5, visualize, \ from util import save_and_check_md5, visualize_list, \
config_get_set_seed, config_get_set_num_parallel_workers config_get_set_seed, config_get_set_num_parallel_workers
GENERATE_GOLDEN = False GENERATE_GOLDEN = False
...@@ -61,7 +61,7 @@ def test_random_grayscale_valid_prob(plot=False): ...@@ -61,7 +61,7 @@ def test_random_grayscale_valid_prob(plot=False):
image_gray.append(image1) image_gray.append(image1)
image.append(image2) image.append(image2)
if plot: if plot:
visualize(image, image_gray) visualize_list(image, image_gray)
def test_random_grayscale_input_grayscale_images(): def test_random_grayscale_input_grayscale_images():
""" """
......
...@@ -15,13 +15,12 @@ ...@@ -15,13 +15,12 @@
""" """
Testing the random horizontal flip op in DE Testing the random horizontal flip op in DE
""" """
import matplotlib.pyplot as plt
import numpy as np import numpy as np
import mindspore.dataset as ds import mindspore.dataset as ds
import mindspore.dataset.transforms.vision.c_transforms as c_vision import mindspore.dataset.transforms.vision.c_transforms as c_vision
import mindspore.dataset.transforms.vision.py_transforms as py_vision import mindspore.dataset.transforms.vision.py_transforms as py_vision
from mindspore import log as logger from mindspore import log as logger
from util import save_and_check_md5, visualize, diff_mse, \ from util import save_and_check_md5, visualize_list, visualize_image, diff_mse, \
config_get_set_seed, config_get_set_num_parallel_workers config_get_set_seed, config_get_set_num_parallel_workers
GENERATE_GOLDEN = False GENERATE_GOLDEN = False
...@@ -41,29 +40,7 @@ def h_flip(image): ...@@ -41,29 +40,7 @@ def h_flip(image):
return image return image
def visualize_mse(image_de_random_horizontal, image_pil_random_horizontal, mse, image_original): def test_random_horizontal_op(plot=False):
"""
visualizes the image using DE op and Numpy op
"""
plt.subplot(141)
plt.imshow(image_original)
plt.title("Original image")
plt.subplot(142)
plt.imshow(image_de_random_horizontal)
plt.title("DE random_horizontal image")
plt.subplot(143)
plt.imshow(image_pil_random_horizontal)
plt.title("Horizontally flipped image")
plt.subplot(144)
plt.imshow(image_de_random_horizontal - image_pil_random_horizontal)
plt.title("Difference image, mse : {}".format(mse))
plt.show()
def test_random_horizontal_op():
""" """
Test RandomHorizontalFlip op Test RandomHorizontalFlip op
""" """
...@@ -93,9 +70,10 @@ def test_random_horizontal_op(): ...@@ -93,9 +70,10 @@ def test_random_horizontal_op():
mse = diff_mse(image_h_flipped, image_h_flipped_2) mse = diff_mse(image_h_flipped, image_h_flipped_2)
logger.info("image_{}, mse: {}".format(num_iter + 1, mse)) logger.info("image_{}, mse: {}".format(num_iter + 1, mse))
# Uncomment below line if you want to visualize images
# visualize_mse(image_h_flipped, image_h_flipped_2, mse, image)
num_iter += 1 num_iter += 1
if plot:
visualize_image(image, image_h_flipped, mse, image_h_flipped_2)
def test_random_horizontal_valid_prob_c(): def test_random_horizontal_valid_prob_c():
""" """
...@@ -119,6 +97,7 @@ def test_random_horizontal_valid_prob_c(): ...@@ -119,6 +97,7 @@ def test_random_horizontal_valid_prob_c():
ds.config.set_seed(original_seed) ds.config.set_seed(original_seed)
ds.config.set_num_parallel_workers(original_num_parallel_workers) ds.config.set_num_parallel_workers(original_num_parallel_workers)
def test_random_horizontal_valid_prob_py(): def test_random_horizontal_valid_prob_py():
""" """
Test RandomHorizontalFlip op with py_transforms: valid non-default input, expect to pass Test RandomHorizontalFlip op with py_transforms: valid non-default input, expect to pass
...@@ -144,6 +123,7 @@ def test_random_horizontal_valid_prob_py(): ...@@ -144,6 +123,7 @@ def test_random_horizontal_valid_prob_py():
ds.config.set_seed(original_seed) ds.config.set_seed(original_seed)
ds.config.set_num_parallel_workers(original_num_parallel_workers) ds.config.set_num_parallel_workers(original_num_parallel_workers)
def test_random_horizontal_invalid_prob_c(): def test_random_horizontal_invalid_prob_c():
""" """
Test RandomHorizontalFlip op in c_transforms: invalid input, expect to raise error Test RandomHorizontalFlip op in c_transforms: invalid input, expect to raise error
...@@ -162,6 +142,7 @@ def test_random_horizontal_invalid_prob_c(): ...@@ -162,6 +142,7 @@ def test_random_horizontal_invalid_prob_c():
logger.info("Got an exception in DE: {}".format(str(e))) logger.info("Got an exception in DE: {}".format(str(e)))
assert "Input is not" in str(e) assert "Input is not" in str(e)
def test_random_horizontal_invalid_prob_py(): def test_random_horizontal_invalid_prob_py():
""" """
Test RandomHorizontalFlip op in py_transforms: invalid input, expect to raise error Test RandomHorizontalFlip op in py_transforms: invalid input, expect to raise error
...@@ -184,6 +165,7 @@ def test_random_horizontal_invalid_prob_py(): ...@@ -184,6 +165,7 @@ def test_random_horizontal_invalid_prob_py():
logger.info("Got an exception in DE: {}".format(str(e))) logger.info("Got an exception in DE: {}".format(str(e)))
assert "Input is not" in str(e) assert "Input is not" in str(e)
def test_random_horizontal_comp(plot=False): def test_random_horizontal_comp(plot=False):
""" """
Test test_random_horizontal_flip and compare between python and c image augmentation ops Test test_random_horizontal_flip and compare between python and c image augmentation ops
...@@ -220,12 +202,13 @@ def test_random_horizontal_comp(plot=False): ...@@ -220,12 +202,13 @@ def test_random_horizontal_comp(plot=False):
mse = diff_mse(image_c, image_py) mse = diff_mse(image_c, image_py)
assert mse < 0.001 assert mse < 0.001
if plot: if plot:
visualize(images_list_c, images_list_py) visualize_list(images_list_c, images_list_py, visualize_mode=2)
if __name__ == "__main__": if __name__ == "__main__":
test_random_horizontal_op() test_random_horizontal_op(plot=True)
test_random_horizontal_valid_prob_c() test_random_horizontal_valid_prob_c()
test_random_horizontal_valid_prob_py() test_random_horizontal_valid_prob_py()
test_random_horizontal_invalid_prob_c() test_random_horizontal_invalid_prob_c()
test_random_horizontal_invalid_prob_py() test_random_horizontal_invalid_prob_py()
test_random_horizontal_comp(True) test_random_horizontal_comp(plot=True)
...@@ -19,7 +19,7 @@ import numpy as np ...@@ -19,7 +19,7 @@ import numpy as np
import mindspore.dataset as ds import mindspore.dataset as ds
import mindspore.dataset.transforms.vision.py_transforms as py_vision import mindspore.dataset.transforms.vision.py_transforms as py_vision
from mindspore import log as logger from mindspore import log as logger
from util import visualize, config_get_set_seed, \ from util import visualize_list, config_get_set_seed, \
config_get_set_num_parallel_workers, save_and_check_md5 config_get_set_num_parallel_workers, save_and_check_md5
GENERATE_GOLDEN = False GENERATE_GOLDEN = False
...@@ -63,7 +63,7 @@ def test_random_order_op(plot=False): ...@@ -63,7 +63,7 @@ def test_random_order_op(plot=False):
image_order.append(image1) image_order.append(image1)
image_original.append(image2) image_original.append(image2)
if plot: if plot:
visualize(image_original, image_order) visualize_list(image_original, image_order)
def test_random_order_md5(): def test_random_order_md5():
......
...@@ -20,7 +20,7 @@ import mindspore.dataset as ds ...@@ -20,7 +20,7 @@ import mindspore.dataset as ds
import mindspore.dataset.transforms.vision.py_transforms as py_vision import mindspore.dataset.transforms.vision.py_transforms as py_vision
from mindspore.dataset.transforms.vision.utils import Inter from mindspore.dataset.transforms.vision.utils import Inter
from mindspore import log as logger from mindspore import log as logger
from util import visualize, save_and_check_md5, \ from util import visualize_list, save_and_check_md5, \
config_get_set_seed, config_get_set_num_parallel_workers config_get_set_seed, config_get_set_num_parallel_workers
...@@ -64,7 +64,7 @@ def test_random_perspective_op(plot=False): ...@@ -64,7 +64,7 @@ def test_random_perspective_op(plot=False):
image_perspective.append(image1) image_perspective.append(image1)
image_original.append(image2) image_original.append(image2)
if plot: if plot:
visualize(image_original, image_perspective) visualize_list(image_original, image_perspective)
def skip_test_random_perspective_md5(): def skip_test_random_perspective_md5():
......
...@@ -15,35 +15,16 @@ ...@@ -15,35 +15,16 @@
""" """
Testing the resize op in DE Testing the resize op in DE
""" """
import matplotlib.pyplot as plt
import mindspore.dataset as ds import mindspore.dataset as ds
import mindspore.dataset.transforms.vision.c_transforms as vision import mindspore.dataset.transforms.vision.c_transforms as vision
from mindspore import log as logger from mindspore import log as logger
from util import visualize_list
DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"] DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"]
SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json" SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json"
def visualize(image_de_resized, image_np_resized, mse): def test_random_resize_op(plot=False):
"""
visualizes the image using DE op and Numpy op
"""
plt.subplot(131)
plt.imshow(image_de_resized)
plt.title("DE resize image")
plt.subplot(132)
plt.imshow(image_np_resized)
plt.title("Numpy resized image")
plt.subplot(133)
plt.imshow(image_de_resized - image_np_resized)
plt.title("Difference image, mse : {}".format(mse))
plt.show()
def test_random_resize_op():
""" """
Test random_resize_op Test random_resize_op
""" """
...@@ -56,15 +37,20 @@ def test_random_resize_op(): ...@@ -56,15 +37,20 @@ def test_random_resize_op():
# apply map operations on images # apply map operations on images
data1 = data1.map(input_columns=["image"], operations=decode_op) data1 = data1.map(input_columns=["image"], operations=decode_op)
data1 = data1.map(input_columns=["image"], operations=resize_op)
data2 = data1.map(input_columns=["image"], operations=resize_op)
image_original = []
image_resized = []
num_iter = 0 num_iter = 0
for item in data1.create_dict_iterator(): for item1, item2 in zip(data1.create_dict_iterator(), data2.create_dict_iterator()):
_ = item["image"] image_1 = item1["image"]
# Uncomment below line if you want to visualize images image_2 = item2["image"]
# visualize(image_de_resized, image_np_resized, mse) image_original.append(image_1)
image_resized.append(image_2)
num_iter += 1 num_iter += 1
if plot:
visualize_list(image_original, image_resized)
if __name__ == "__main__": if __name__ == "__main__":
test_random_resize_op() test_random_resize_op(plot=True)
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
""" """
Testing RandomRotation op in DE Testing RandomRotation op in DE
""" """
import matplotlib.pyplot as plt
import numpy as np import numpy as np
import cv2 import cv2
...@@ -23,35 +22,13 @@ import mindspore.dataset as ds ...@@ -23,35 +22,13 @@ import mindspore.dataset as ds
import mindspore.dataset.transforms.vision.c_transforms as c_vision import mindspore.dataset.transforms.vision.c_transforms as c_vision
import mindspore.dataset.transforms.vision.py_transforms as py_vision import mindspore.dataset.transforms.vision.py_transforms as py_vision
from mindspore import log as logger from mindspore import log as logger
from util import visualize_image, diff_mse
DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"] DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"]
SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json" SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json"
def visualize(a, mse, original): def test_random_rotation_op(plot=False):
"""
visualizes the image using DE op and enCV
"""
plt.subplot(141)
plt.imshow(original)
plt.title("Original image")
plt.subplot(142)
plt.imshow(a)
plt.title("DE random_crop_and_resize image")
plt.subplot(143)
plt.imshow(a - original)
plt.title("Difference image, mse : {}".format(mse))
plt.show()
def diff_mse(in1, in2):
mse = (np.square(in1.astype(float) / 255 - in2.astype(float) / 255)).mean()
return mse * 100
def test_random_rotation_op():
""" """
Test RandomRotation op Test RandomRotation op
""" """
...@@ -73,17 +50,16 @@ def test_random_rotation_op(): ...@@ -73,17 +50,16 @@ def test_random_rotation_op():
for item1, item2 in zip(data1.create_dict_iterator(), data2.create_dict_iterator()): for item1, item2 in zip(data1.create_dict_iterator(), data2.create_dict_iterator()):
if num_iter > 0: if num_iter > 0:
break break
rotation = item1["image"] rotation_de = item1["image"]
original = item2["image"] original = item2["image"]
logger.info("shape before rotate: {}".format(original.shape)) logger.info("shape before rotate: {}".format(original.shape))
original = cv2.rotate(original, cv2.ROTATE_90_COUNTERCLOCKWISE) rotation_cv = cv2.rotate(original, cv2.ROTATE_90_COUNTERCLOCKWISE)
diff = rotation - original mse = diff_mse(rotation_de, rotation_cv)
mse = np.sum(np.power(diff, 2))
logger.info("random_rotation_op_{}, mse: {}".format(num_iter + 1, mse)) logger.info("random_rotation_op_{}, mse: {}".format(num_iter + 1, mse))
assert mse == 0 assert mse == 0
# Uncomment below line if you want to visualize images
# visualize(rotation, mse, original)
num_iter += 1 num_iter += 1
if plot:
visualize_image(original, rotation_de, mse, rotation_cv)
def test_random_rotation_expand(): def test_random_rotation_expand():
...@@ -148,6 +124,6 @@ def test_rotation_diff(): ...@@ -148,6 +124,6 @@ def test_rotation_diff():
if __name__ == "__main__": if __name__ == "__main__":
test_random_rotation_op() test_random_rotation_op(True)
test_random_rotation_expand() test_random_rotation_expand()
test_rotation_diff() test_rotation_diff()
...@@ -12,34 +12,19 @@ ...@@ -12,34 +12,19 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# ============================================================================== # ==============================================================================
"""
import matplotlib.pyplot as plt Testing RandomSharpness op in DE
"""
import numpy as np import numpy as np
import mindspore.dataset.engine as de import mindspore.dataset.engine as de
import mindspore.dataset.transforms.vision.py_transforms as F import mindspore.dataset.transforms.vision.py_transforms as F
from mindspore import log as logger from mindspore import log as logger
from util import visualize_list
DATA_DIR = "../data/dataset/testImageNetData/train/" DATA_DIR = "../data/dataset/testImageNetData/train/"
def visualize(image_original, image_random_sharpness):
"""
visualizes the image using DE op and Numpy op
"""
num = len(image_random_sharpness)
for i in range(num):
plt.subplot(2, num, i + 1)
plt.imshow(image_original[i])
plt.title("Original image")
plt.subplot(2, num, i + num + 1)
plt.imshow(image_random_sharpness[i])
plt.title("DE Random Sharpness image")
plt.show()
def test_random_sharpness(degrees=(0.1, 1.9), plot=False): def test_random_sharpness(degrees=(0.1, 1.9), plot=False):
""" """
Test RandomSharpness Test RandomSharpness
...@@ -94,7 +79,7 @@ def test_random_sharpness(degrees=(0.1, 1.9), plot=False): ...@@ -94,7 +79,7 @@ def test_random_sharpness(degrees=(0.1, 1.9), plot=False):
logger.info("MSE= {}".format(str(np.mean(mse)))) logger.info("MSE= {}".format(str(np.mean(mse))))
if plot: if plot:
visualize(images_original, images_random_sharpness) visualize_list(images_original, images_random_sharpness)
if __name__ == "__main__": if __name__ == "__main__":
......
...@@ -15,14 +15,12 @@ ...@@ -15,14 +15,12 @@
""" """
Testing the random vertical flip op in DE Testing the random vertical flip op in DE
""" """
import matplotlib.pyplot as plt
import numpy as np import numpy as np
import mindspore.dataset as ds import mindspore.dataset as ds
import mindspore.dataset.transforms.vision.c_transforms as c_vision import mindspore.dataset.transforms.vision.c_transforms as c_vision
import mindspore.dataset.transforms.vision.py_transforms as py_vision import mindspore.dataset.transforms.vision.py_transforms as py_vision
from mindspore import log as logger from mindspore import log as logger
from util import save_and_check_md5, visualize, diff_mse, \ from util import save_and_check_md5, visualize_list, visualize_image, diff_mse, \
config_get_set_seed, config_get_set_num_parallel_workers config_get_set_seed, config_get_set_num_parallel_workers
GENERATE_GOLDEN = False GENERATE_GOLDEN = False
...@@ -42,29 +40,7 @@ def v_flip(image): ...@@ -42,29 +40,7 @@ def v_flip(image):
return image return image
def visualize_with_mse(image_de_random_vertical, image_pil_random_vertical, mse, image_original): def test_random_vertical_op(plot=False):
"""
visualizes the image using DE op and Numpy op
"""
plt.subplot(141)
plt.imshow(image_original)
plt.title("Original image")
plt.subplot(142)
plt.imshow(image_de_random_vertical)
plt.title("DE random_vertical image")
plt.subplot(143)
plt.imshow(image_pil_random_vertical)
plt.title("vertically flipped image")
plt.subplot(144)
plt.imshow(image_de_random_vertical - image_pil_random_vertical)
plt.title("Difference image, mse : {}".format(mse))
plt.show()
def test_random_vertical_op():
""" """
Test random_vertical with default probability Test random_vertical with default probability
""" """
...@@ -96,9 +72,10 @@ def test_random_vertical_op(): ...@@ -96,9 +72,10 @@ def test_random_vertical_op():
diff = image_v_flipped - image_v_flipped_2 diff = image_v_flipped - image_v_flipped_2
mse = np.sum(np.power(diff, 2)) mse = np.sum(np.power(diff, 2))
logger.info("image_{}, mse: {}".format(num_iter + 1, mse)) logger.info("image_{}, mse: {}".format(num_iter + 1, mse))
# Uncomment below line if you want to visualize images
# visualize_with_mse(image_v_flipped, image_v_flipped_2, mse, image)
num_iter += 1 num_iter += 1
if plot:
visualize_image(image, image_v_flipped, mse, image_v_flipped_2)
def test_random_vertical_valid_prob_c(): def test_random_vertical_valid_prob_c():
""" """
...@@ -122,6 +99,7 @@ def test_random_vertical_valid_prob_c(): ...@@ -122,6 +99,7 @@ def test_random_vertical_valid_prob_c():
ds.config.set_seed(original_seed) ds.config.set_seed(original_seed)
ds.config.set_num_parallel_workers(original_num_parallel_workers) ds.config.set_num_parallel_workers(original_num_parallel_workers)
def test_random_vertical_valid_prob_py(): def test_random_vertical_valid_prob_py():
""" """
Test RandomVerticalFlip op with py_transforms: valid non-default input, expect to pass Test RandomVerticalFlip op with py_transforms: valid non-default input, expect to pass
...@@ -147,6 +125,7 @@ def test_random_vertical_valid_prob_py(): ...@@ -147,6 +125,7 @@ def test_random_vertical_valid_prob_py():
ds.config.set_seed(original_seed) ds.config.set_seed(original_seed)
ds.config.set_num_parallel_workers(original_num_parallel_workers) ds.config.set_num_parallel_workers(original_num_parallel_workers)
def test_random_vertical_invalid_prob_c(): def test_random_vertical_invalid_prob_c():
""" """
Test RandomVerticalFlip op in c_transforms: invalid input, expect to raise error Test RandomVerticalFlip op in c_transforms: invalid input, expect to raise error
...@@ -165,6 +144,7 @@ def test_random_vertical_invalid_prob_c(): ...@@ -165,6 +144,7 @@ def test_random_vertical_invalid_prob_c():
logger.info("Got an exception in DE: {}".format(str(e))) logger.info("Got an exception in DE: {}".format(str(e)))
assert "Input is not" in str(e) assert "Input is not" in str(e)
def test_random_vertical_invalid_prob_py(): def test_random_vertical_invalid_prob_py():
""" """
Test RandomVerticalFlip op in py_transforms: invalid input, expect to raise error Test RandomVerticalFlip op in py_transforms: invalid input, expect to raise error
...@@ -186,6 +166,7 @@ def test_random_vertical_invalid_prob_py(): ...@@ -186,6 +166,7 @@ def test_random_vertical_invalid_prob_py():
logger.info("Got an exception in DE: {}".format(str(e))) logger.info("Got an exception in DE: {}".format(str(e)))
assert "Input is not" in str(e) assert "Input is not" in str(e)
def test_random_vertical_comp(plot=False): def test_random_vertical_comp(plot=False):
""" """
Test test_random_vertical_flip and compare between python and c image augmentation ops Test test_random_vertical_flip and compare between python and c image augmentation ops
...@@ -223,13 +204,13 @@ def test_random_vertical_comp(plot=False): ...@@ -223,13 +204,13 @@ def test_random_vertical_comp(plot=False):
mse = diff_mse(image_c, image_py) mse = diff_mse(image_c, image_py)
assert mse < 0.001 assert mse < 0.001
if plot: if plot:
visualize(images_list_c, images_list_py) visualize_list(images_list_c, images_list_py, visualize_mode=2)
if __name__ == "__main__": if __name__ == "__main__":
test_random_vertical_op() test_random_vertical_op(plot=True)
test_random_vertical_valid_prob_c() test_random_vertical_valid_prob_c()
test_random_vertical_valid_prob_py() test_random_vertical_valid_prob_py()
test_random_vertical_invalid_prob_c() test_random_vertical_invalid_prob_c()
test_random_vertical_invalid_prob_py() test_random_vertical_invalid_prob_py()
test_random_vertical_comp(True) test_random_vertical_comp(plot=True)
...@@ -15,12 +15,10 @@ ...@@ -15,12 +15,10 @@
""" """
Testing the rescale op in DE Testing the rescale op in DE
""" """
import matplotlib.pyplot as plt
import numpy as np
import mindspore.dataset as ds import mindspore.dataset as ds
import mindspore.dataset.transforms.vision.c_transforms as vision import mindspore.dataset.transforms.vision.c_transforms as vision
from mindspore import log as logger from mindspore import log as logger
from util import visualize_image, diff_mse
DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"] DATA_DIR = ["../data/dataset/test_tf_file_3_images/train-0000-of-0001.data"]
SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json" SCHEMA_DIR = "../data/dataset/test_tf_file_3_images/datasetSchema.json"
...@@ -52,25 +50,7 @@ def get_rescaled(image_id): ...@@ -52,25 +50,7 @@ def get_rescaled(image_id):
return None return None
def visualize(image_de_rescaled, image_np_rescaled, mse): def test_rescale_op(plot=False):
"""
visualizes the image using DE op and Numpy op
"""
plt.subplot(131)
plt.imshow(image_de_rescaled)
plt.title("DE rescale image")
plt.subplot(132)
plt.imshow(image_np_rescaled)
plt.title("Numpy rescaled image")
plt.subplot(133)
plt.imshow(image_de_rescaled - image_np_rescaled)
plt.title("Difference image, mse : {}".format(mse))
plt.show()
def test_rescale_op():
""" """
Test rescale Test rescale
""" """
...@@ -83,19 +63,20 @@ def test_rescale_op(): ...@@ -83,19 +63,20 @@ def test_rescale_op():
# apply map operations on images # apply map operations on images
data1 = data1.map(input_columns=["image"], operations=decode_op) data1 = data1.map(input_columns=["image"], operations=decode_op)
data1 = data1.map(input_columns=["image"], operations=rescale_op)
data2 = data1.map(input_columns=["image"], operations=rescale_op)
num_iter = 0 num_iter = 0
for item in data1.create_dict_iterator(): for item1, item2 in zip(data1.create_dict_iterator(), data2.create_dict_iterator()):
image_de_rescaled = item["image"] image_original = item1["image"]
image_de_rescaled = item2["image"]
image_np_rescaled = get_rescaled(num_iter) image_np_rescaled = get_rescaled(num_iter)
diff = image_de_rescaled - image_np_rescaled mse = diff_mse(image_de_rescaled, image_np_rescaled)
mse = np.sum(np.power(diff, 2))
logger.info("image_{}, mse: {}".format(num_iter + 1, mse)) logger.info("image_{}, mse: {}".format(num_iter + 1, mse))
# Uncomment below line if you want to visualize images
# visualize(image_de_rescaled, image_np_rescaled, mse)
num_iter += 1 num_iter += 1
if plot:
visualize_image(image_original, image_de_rescaled, mse, image_np_rescaled)
if __name__ == "__main__": if __name__ == "__main__":
test_rescale_op() test_rescale_op(plot=True)
...@@ -17,10 +17,10 @@ Testing TenCrop in DE ...@@ -17,10 +17,10 @@ Testing TenCrop in DE
import pytest import pytest
import numpy as np import numpy as np
from util import visualize, save_and_check_md5
import mindspore.dataset as ds import mindspore.dataset as ds
import mindspore.dataset.transforms.vision.py_transforms as vision import mindspore.dataset.transforms.vision.py_transforms as vision
from mindspore import log as logger from mindspore import log as logger
from util import visualize_list, save_and_check_md5
GENERATE_GOLDEN = False GENERATE_GOLDEN = False
...@@ -62,7 +62,7 @@ def util_test_ten_crop(crop_size, vertical_flip=False, plot=False): ...@@ -62,7 +62,7 @@ def util_test_ten_crop(crop_size, vertical_flip=False, plot=False):
logger.info("dtype of image_2: {}".format(image_2.dtype)) logger.info("dtype of image_2: {}".format(image_2.dtype))
if plot: if plot:
visualize(np.array([image_1]*10), (image_2 * 255).astype(np.uint8).transpose(0, 2, 3, 1)) visualize_list(np.array([image_1]*10), (image_2 * 255).astype(np.uint8).transpose(0, 2, 3, 1))
# The output data should be of a 4D tensor shape, a stack of 10 images. # The output data should be of a 4D tensor shape, a stack of 10 images.
assert len(image_2.shape) == 4 assert len(image_2.shape) == 4
......
...@@ -12,35 +12,20 @@ ...@@ -12,35 +12,20 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# ============================================================================== # ==============================================================================
"""
import matplotlib.pyplot as plt Testing UniformAugment in DE
"""
import numpy as np import numpy as np
import mindspore.dataset.engine as de import mindspore.dataset.engine as de
import mindspore.dataset.transforms.vision.c_transforms as C import mindspore.dataset.transforms.vision.c_transforms as C
import mindspore.dataset.transforms.vision.py_transforms as F import mindspore.dataset.transforms.vision.py_transforms as F
from mindspore import log as logger from mindspore import log as logger
from util import visualize_list
DATA_DIR = "../data/dataset/testImageNetData/train/" DATA_DIR = "../data/dataset/testImageNetData/train/"
def visualize(image_original, image_ua):
"""
visualizes the image using DE op and Numpy op
"""
num = len(image_ua)
for i in range(num):
plt.subplot(2, num, i + 1)
plt.imshow(image_original[i])
plt.title("Original image")
plt.subplot(2, num, i + num + 1)
plt.imshow(image_ua[i])
plt.title("DE UniformAugment image")
plt.show()
def test_uniform_augment(plot=False, num_ops=2): def test_uniform_augment(plot=False, num_ops=2):
""" """
Test UniformAugment Test UniformAugment
...@@ -102,7 +87,7 @@ def test_uniform_augment(plot=False, num_ops=2): ...@@ -102,7 +87,7 @@ def test_uniform_augment(plot=False, num_ops=2):
logger.info("MSE= {}".format(str(np.mean(mse)))) logger.info("MSE= {}".format(str(np.mean(mse))))
if plot: if plot:
visualize(images_original, images_ua) visualize_list(images_original, images_ua)
def test_cpp_uniform_augment(plot=False, num_ops=2): def test_cpp_uniform_augment(plot=False, num_ops=2):
...@@ -157,7 +142,7 @@ def test_cpp_uniform_augment(plot=False, num_ops=2): ...@@ -157,7 +142,7 @@ def test_cpp_uniform_augment(plot=False, num_ops=2):
np.transpose(image, (0, 2, 3, 1)), np.transpose(image, (0, 2, 3, 1)),
axis=0) axis=0)
if plot: if plot:
visualize(images_original, images_ua) visualize_list(images_original, images_ua)
num_samples = images_original.shape[0] num_samples = images_original.shape[0]
mse = np.zeros(num_samples) mse = np.zeros(num_samples)
...@@ -226,6 +211,7 @@ def test_cpp_uniform_augment_exception_nonpositive_numops(num_ops=0): ...@@ -226,6 +211,7 @@ def test_cpp_uniform_augment_exception_nonpositive_numops(num_ops=0):
logger.info("Got an exception in DE: {}".format(str(e))) logger.info("Got an exception in DE: {}".format(str(e)))
assert "num_ops" in str(e) assert "num_ops" in str(e)
def test_cpp_uniform_augment_exception_float_numops(num_ops=2.5): def test_cpp_uniform_augment_exception_float_numops(num_ops=2.5):
""" """
Test UniformAugment invalid float number of ops Test UniformAugment invalid float number of ops
...@@ -245,6 +231,7 @@ def test_cpp_uniform_augment_exception_float_numops(num_ops=2.5): ...@@ -245,6 +231,7 @@ def test_cpp_uniform_augment_exception_float_numops(num_ops=2.5):
logger.info("Got an exception in DE: {}".format(str(e))) logger.info("Got an exception in DE: {}".format(str(e)))
assert "integer" in str(e) assert "integer" in str(e)
def test_cpp_uniform_augment_random_crop_badinput(num_ops=1): def test_cpp_uniform_augment_random_crop_badinput(num_ops=1):
""" """
Test UniformAugment with greater crop size Test UniformAugment with greater crop size
...@@ -273,8 +260,8 @@ def test_cpp_uniform_augment_random_crop_badinput(num_ops=1): ...@@ -273,8 +260,8 @@ def test_cpp_uniform_augment_random_crop_badinput(num_ops=1):
if __name__ == "__main__": if __name__ == "__main__":
test_uniform_augment(num_ops=1) test_uniform_augment(num_ops=1, plot=True)
test_cpp_uniform_augment(num_ops=1) test_cpp_uniform_augment(num_ops=1, plot=True)
test_cpp_uniform_augment_exception_pyops(num_ops=1) test_cpp_uniform_augment_exception_pyops(num_ops=1)
test_cpp_uniform_augment_exception_large_numops(num_ops=6) test_cpp_uniform_augment_exception_large_numops(num_ops=6)
test_cpp_uniform_augment_exception_nonpositive_numops(num_ops=0) test_cpp_uniform_augment_exception_nonpositive_numops(num_ops=0)
......
...@@ -25,6 +25,11 @@ from mindspore import log as logger ...@@ -25,6 +25,11 @@ from mindspore import log as logger
# These are the column names defined in the testTFTestAllTypes dataset # These are the column names defined in the testTFTestAllTypes dataset
COLUMNS = ["col_1d", "col_2d", "col_3d", "col_binary", "col_float", COLUMNS = ["col_1d", "col_2d", "col_3d", "col_binary", "col_float",
"col_sint16", "col_sint32", "col_sint64"] "col_sint16", "col_sint32", "col_sint64"]
# These are list of plot title in different visualize modes
PLOT_TITLE_DICT = {
1: ["Original image", "Transformed image"],
2: ["c_transform image", "py_transform image"]
}
SAVE_JSON = False SAVE_JSON = False
...@@ -206,19 +211,54 @@ def diff_me(in1, in2): ...@@ -206,19 +211,54 @@ def diff_me(in1, in2):
return mse / 255 * 100 return mse / 255 * 100
def visualize(image_original, image_transformed): def visualize_list(image_list_1, image_list_2, visualize_mode=1):
""" """
visualizes the image using DE op and Numpy op visualizes a list of images using DE op
""" """
num = len(image_transformed) plot_title = PLOT_TITLE_DICT[visualize_mode]
num = len(image_list_1)
for i in range(num): for i in range(num):
plt.subplot(2, num, i + 1) plt.subplot(2, num, i + 1)
plt.imshow(image_original[i]) plt.imshow(image_list_1[i])
plt.title("Original image") plt.title(plot_title[0])
plt.subplot(2, num, i + num + 1) plt.subplot(2, num, i + num + 1)
plt.imshow(image_transformed[i]) plt.imshow(image_list_2[i])
plt.title("Transformed image") plt.title(plot_title[1])
plt.show()
def visualize_image(image_original, image_de, mse=None, image_lib=None):
"""
visualizes one example image with optional input: mse, image using 3rd party op.
If three images are passing in, different image is calculated by 2nd and 3rd images.
"""
num = 2
if image_lib is not None:
num += 1
if mse is not None:
num += 1
plt.subplot(1, num, 1)
plt.imshow(image_original)
plt.title("Original image")
plt.subplot(1, num, 2)
plt.imshow(image_de)
plt.title("DE Op image")
if image_lib is not None:
plt.subplot(1, num, 3)
plt.imshow(image_lib)
plt.title("Lib Op image")
if mse is not None:
plt.subplot(1, num, 4)
plt.imshow(image_de - image_lib)
plt.title("Diff image,\n mse : {}".format(mse))
elif mse is not None:
plt.subplot(1, num, 3)
plt.imshow(image_original - image_de)
plt.title("Diff image,\n mse : {}".format(mse))
plt.show() plt.show()
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册