mindspore.dataset.vision.ToType
- class mindspore.dataset.vision.ToType(data_type)[源代码]
将输入转换为指定的MindSpore数据类型或NumPy数据类型。
效果同
mindspore.dataset.transforms.TypeCast
。说明
此操作默认通过 CPU 执行,也支持异构加速到 GPU 或 Ascend 上执行。
- 参数:
data_type (Union[mindspore.dtype, numpy.dtype]) - 输出图像的数据类型,例如
numpy.float32
。
- 异常:
TypeError - 当 data_type 的类型不为
mindspore.dtype
或numpy.dtype
。
- 支持平台:
CPU
GPU
Ascend
样例:
>>> import numpy as np >>> import mindspore.dataset as ds >>> import mindspore.dataset.vision as vision >>> import numpy as np >>> from mindspore.dataset.transforms import Compose >>> >>> # Use the transform in dataset pipeline mode >>> data = np.random.randint(0, 255, size=(1, 100, 100, 3)).astype(np.uint8) >>> numpy_slices_dataset = ds.NumpySlicesDataset(data, ["image"]) >>> transforms_list = Compose([vision.RandomHorizontalFlip(0.5), ... vision.ToTensor(), ... vision.ToType(np.float32)]) >>> # apply the transform to dataset through map function >>> numpy_slices_dataset = numpy_slices_dataset.map(operations=transforms_list, input_columns="image") >>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True): ... print(item["image"].shape, item["image"].dtype) ... break (3, 100, 100) float32 >>> >>> # Use the transform in eager mode >>> data = np.array([2.71606445312564e-03, 6.3476562564e-03]).astype(np.float64) >>> output = vision.ToType(np.float32)(data) >>> print(output, output.dtype) [0.00271606 0.00634766] float32
- 教程样例: