Browse Source

!25560 Support bytes input for decode op

Merge pull request !25560 from luoyang/serving
tags/v1.6.0
i-robot Gitee 4 years ago
parent
commit
958c2a8e00
2 changed files with 10 additions and 2 deletions
  1. +3
    -1
      mindspore/dataset/vision/c_transforms.py
  2. +7
    -1
      tests/ut/python/dataset/test_eager_vision.py

+ 3
- 1
mindspore/dataset/vision/c_transforms.py View File

@@ -432,7 +432,9 @@ class Decode(ImageTensorOperation):
Returns:
img (NumPy), Decoded image.
"""
if not isinstance(img, np.ndarray) or img.ndim != 1 or img.dtype.type is np.str_:
if isinstance(img, bytes):
img = np.frombuffer(img, np.uint8)
elif not isinstance(img, np.ndarray) or img.ndim != 1 or img.dtype.type is np.str_:
raise TypeError(
"Input should be an encoded image in 1-D NumPy format, got {}.".format(type(img)))
return super().__call__(img)


+ 7
- 1
tests/ut/python/dataset/test_eager_vision.py View File

@@ -25,9 +25,15 @@ def test_eager_decode():

img = C.Decode()(img)
logger.info("Image.type: {}, Image.shape: {}".format(type(img), img.shape))

assert img.shape == (2268, 4032, 3)

fp = open("../data/dataset/apple.jpg", "rb")
img2 = fp.read()

img2 = C.Decode()(img2)
logger.info("Image.type: {}, Image.shape: {}".format(type(img2), img2.shape))
assert img2.shape == (2268, 4032, 3)


def test_eager_resize():
img = cv2.imread("../data/dataset/apple.jpg")


Loading…
Cancel
Save