mindspore.dataset.transforms.TypeCast

View Source On Gitee
class mindspore.dataset.transforms.TypeCast(data_type)[source]

Tensor operation to cast to a given MindSpore data type or NumPy data type.

Note

This operation is executed on the CPU by default, but it is also supported to be executed on the GPU or Ascend via heterogeneous acceleration.

Parameters

data_type (Union[mindspore.dtype, numpy.dtype]) – mindspore.dtype or numpy.dtype (e.g. numpy.float32) to be cast to.

Raises

TypeError – If data_type is not of MindSpore data type bool, int, float, string or type numpy.dtype .

Supported Platforms:

CPU GPU Ascend

Examples

>>> import numpy as np
>>> import mindspore.dataset as ds
>>> import mindspore.dataset.transforms as transforms
>>> from mindspore import dtype as mstype
>>>
>>> # Use the transform in dataset pipeline mode
>>> # Generate 1d int numpy array from 0 - 63
>>> def generator_1d():
...     for i in range(64):
...         yield (np.array([i]),)
>>>
>>> generator_dataset = ds.GeneratorDataset(generator_1d, column_names='col')
>>> type_cast_op = transforms.TypeCast(mstype.int32)
>>> generator_dataset = generator_dataset.map(operations=type_cast_op)
>>> for item in generator_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
...     print(item["col"].shape, item["col"].dtype)
...     break
(1,) int32
>>>
>>> # Use the transform in eager mode
>>> data = np.array([2.71606445312564e-03, 6.3476562564e-03]).astype(np.float64)
>>> output = transforms.TypeCast(np.float16)(data)
>>> print(output.shape, output.dtype)
(2,) float16