|
|
|
@ -36,6 +36,16 @@ class OneHot(cde.OneHotOp):
|
|
|
|
|
|
|
|
|
|
Raises:
|
|
|
|
|
RuntimeError: feature size is bigger than num_classes.
|
|
|
|
|
|
|
|
|
|
Examples:
|
|
|
|
|
>>> import mindspore.dataset.transforms.c_transforms as c_transforms
|
|
|
|
|
>>> import mindspore.dataset.vision.c_transforms as c_vision
|
|
|
|
|
>>>
|
|
|
|
|
>>> onehot_op = c_transforms.OneHot(num_classes=10)
|
|
|
|
|
>>> data1 = data1.map(operations=onehot_op, input_columns=["label"])
|
|
|
|
|
>>> mixup_batch_op = c_vision.MixUpBatch(alpha=0.8)
|
|
|
|
|
>>> data1 = data1.batch(4)
|
|
|
|
|
>>> data1 = data1.map(operations=mixup_batch_op, input_columns=["image", "label"])
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
@check_num_classes
|
|
|
|
@ -46,12 +56,17 @@ class OneHot(cde.OneHotOp):
|
|
|
|
|
|
|
|
|
|
class Fill(cde.FillOp):
|
|
|
|
|
"""
|
|
|
|
|
Tensor operation to create a tensor filled with passed scalar value.
|
|
|
|
|
Tensor operation to create a tensor filled with input scalar value.
|
|
|
|
|
The output tensor will have the same shape and type as the input tensor.
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
fill_value (Union[str, bytes, int, float, bool])) : scalar value
|
|
|
|
|
to fill created tensor with.
|
|
|
|
|
|
|
|
|
|
Examples:
|
|
|
|
|
>>> import mindspore.dataset.transforms.c_transforms as c_transforms
|
|
|
|
|
>>>
|
|
|
|
|
>>> fill_op = c_transforms.Fill(3)
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
@check_fill_value
|
|
|
|
@ -64,7 +79,12 @@ class TypeCast(cde.TypeCastOp):
|
|
|
|
|
Tensor operation to cast to a given MindSpore data type.
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
data_type (mindspore.dtype): mindspore.dtype to be casted to.
|
|
|
|
|
data_type (mindspore.dtype): mindspore.dtype to be cast to.
|
|
|
|
|
|
|
|
|
|
Examples:
|
|
|
|
|
>>> import mindspore.dataset.transforms.c_transforms as c_transforms
|
|
|
|
|
>>>
|
|
|
|
|
>>> type_cast_op = c_transforms.TypeCast(mstype.int32)
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
@check_de_type
|
|
|
|
@ -78,7 +98,7 @@ class Slice(cde.SliceOp):
|
|
|
|
|
"""
|
|
|
|
|
Slice operation to extract a tensor out using the given n slices.
|
|
|
|
|
|
|
|
|
|
The functionality of Slice is similar to NumPy indexing feature.
|
|
|
|
|
The functionality of Slice is similar to NumPy's indexing feature.
|
|
|
|
|
(Currently only rank-1 tensors are supported).
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
@ -93,17 +113,19 @@ class Slice(cde.SliceOp):
|
|
|
|
|
5. :py:obj:`Ellipses`: Slice all dimensions between the two slices. Similar to `...` in Python indexing.
|
|
|
|
|
|
|
|
|
|
Examples:
|
|
|
|
|
>>> # Data before
|
|
|
|
|
>>> # | col |
|
|
|
|
|
>>> # +---------+
|
|
|
|
|
>>> # | [1,2,3] |
|
|
|
|
|
>>> # +---------|
|
|
|
|
|
>>> data = data.map(operations=Slice(slice(1,3))) # slice indices 1 and 2 only
|
|
|
|
|
>>> # Data after
|
|
|
|
|
>>> # | col |
|
|
|
|
|
>>> # +---------+
|
|
|
|
|
>>> # | [2,3] |
|
|
|
|
|
>>> # +---------|
|
|
|
|
|
>>> import mindspore.dataset.transforms.c_transforms as c_transforms
|
|
|
|
|
>>>
|
|
|
|
|
>>> # Data before
|
|
|
|
|
>>> # | col |
|
|
|
|
|
>>> # +---------+
|
|
|
|
|
>>> # | [1,2,3] |
|
|
|
|
|
>>> # +---------|
|
|
|
|
|
>>> data1 = data1.map(operations=c_transforms.Slice(slice(1,3))) # slice indices 1 and 2 only
|
|
|
|
|
>>> # Data after
|
|
|
|
|
>>> # | col |
|
|
|
|
|
>>> # +---------+
|
|
|
|
|
>>> # | [2,3] |
|
|
|
|
|
>>> # +---------|
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
@check_slice_op
|
|
|
|
@ -143,18 +165,20 @@ class Mask(cde.MaskOp):
|
|
|
|
|
Any element of the tensor that matches the predicate will be evaluated to True, otherwise False.
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
operator (Relational): One of the relational operator EQ, NE LT, GT, LE or GE
|
|
|
|
|
constant (Union[str, int, float, bool]): constant to be compared to.
|
|
|
|
|
Constant will be casted to the type of the input tensor
|
|
|
|
|
dtype (mindspore.dtype, optional): type of the generated mask. Default to bool
|
|
|
|
|
operator (Relational): One of the relational operators EQ, NE LT, GT, LE or GE
|
|
|
|
|
constant (Union[str, int, float, bool]): Constant to be compared to.
|
|
|
|
|
Constant will be cast to the type of the input tensor.
|
|
|
|
|
dtype (mindspore.dtype, optional): Type of the generated mask (Default to bool).
|
|
|
|
|
|
|
|
|
|
Examples:
|
|
|
|
|
>>> import mindspore.dataset.transforms.c_transforms as c_transforms
|
|
|
|
|
>>>
|
|
|
|
|
>>> # Data before
|
|
|
|
|
>>> # | col1 |
|
|
|
|
|
>>> # +---------+
|
|
|
|
|
>>> # | [1,2,3] |
|
|
|
|
|
>>> # +---------+
|
|
|
|
|
>>> data = data.map(operations=Mask(Relational.EQ, 2))
|
|
|
|
|
>>> data1 = data1.map(operations=c_transforms.Mask(Relational.EQ, 2))
|
|
|
|
|
>>> # Data after
|
|
|
|
|
>>> # | col1 |
|
|
|
|
|
>>> # +--------------------+
|
|
|
|
@ -174,18 +198,20 @@ class PadEnd(cde.PadEndOp):
|
|
|
|
|
Pad input tensor according to `pad_shape`, need to have same rank.
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
pad_shape (list(int)): list on integers representing the shape needed. Dimensions that set to `None` will
|
|
|
|
|
pad_shape (list(int)): List of integers representing the shape needed. Dimensions that set to `None` will
|
|
|
|
|
not be padded (i.e., original dim will be used). Shorter dimensions will truncate the values.
|
|
|
|
|
pad_value (Union[str, bytes, int, float, bool]), optional): value used to pad. Default to 0 or empty
|
|
|
|
|
string in case of Tensors of strings.
|
|
|
|
|
pad_value (Union[str, bytes, int, float, bool]), optional): Value used to pad. Default to 0 or empty
|
|
|
|
|
string in case of tensors of strings.
|
|
|
|
|
|
|
|
|
|
Examples:
|
|
|
|
|
>>> import mindspore.dataset.transforms.c_transforms as c_transforms
|
|
|
|
|
>>>
|
|
|
|
|
>>> # Data before
|
|
|
|
|
>>> # | col |
|
|
|
|
|
>>> # +---------+
|
|
|
|
|
>>> # | [1,2,3] |
|
|
|
|
|
>>> # +---------|
|
|
|
|
|
>>> data = data.map(operations=PadEnd(pad_shape=[4], pad_value=10))
|
|
|
|
|
>>> data1 = data1.map(operations=c_transforms.PadEnd(pad_shape=[4], pad_value=10))
|
|
|
|
|
>>> # Data after
|
|
|
|
|
>>> # | col |
|
|
|
|
|
>>> # +------------+
|
|
|
|
@ -205,9 +231,17 @@ class Concatenate(cde.ConcatenateOp):
|
|
|
|
|
Tensor operation that concatenates all columns into a single tensor.
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
axis (int, optional): concatenate the tensors along given axis (Default=0).
|
|
|
|
|
axis (int, optional): Concatenate the tensors along given axis (Default=0).
|
|
|
|
|
prepend (numpy.array, optional): NumPy array to be prepended to the already concatenated tensors (Default=None).
|
|
|
|
|
append (numpy.array, optional): NumPy array to be appended to the already concatenated tensors (Default=None).
|
|
|
|
|
|
|
|
|
|
Examples:
|
|
|
|
|
>>> import mindspore.dataset.transforms.c_transforms as c_transforms
|
|
|
|
|
>>>
|
|
|
|
|
>>> # concatenate string
|
|
|
|
|
>>> prepend_tensor = np.array(["dw", "df"], dtype='S')
|
|
|
|
|
>>> append_tensor = np.array(["dwsdf", "df"], dtype='S')
|
|
|
|
|
>>> concatenate_op = c_transforms.Concatenate(0, prepend_tensor, append_tensor)
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
@check_concat_type
|
|
|
|
@ -224,12 +258,14 @@ class Duplicate(cde.DuplicateOp):
|
|
|
|
|
Duplicate the input tensor to a new output tensor. The input tensor is carried over to the output list.
|
|
|
|
|
|
|
|
|
|
Examples:
|
|
|
|
|
>>> import mindspore.dataset.transforms.c_transforms as c_transforms
|
|
|
|
|
>>>
|
|
|
|
|
>>> # Data before
|
|
|
|
|
>>> # | x |
|
|
|
|
|
>>> # +---------+
|
|
|
|
|
>>> # | [1,2,3] |
|
|
|
|
|
>>> # +---------+
|
|
|
|
|
>>> data = data.map(operations=Duplicate(), input_columns=["x"],
|
|
|
|
|
>>> data1 = data1.map(operations=c_transforms.Duplicate(), input_columns=["x"],
|
|
|
|
|
>>> output_columns=["x", "y"], column_order=["x", "y"])
|
|
|
|
|
>>> # Data after
|
|
|
|
|
>>> # | x | y |
|
|
|
|
@ -247,8 +283,11 @@ class Compose(cde.ComposeOp):
|
|
|
|
|
transforms (list): List of transformations to be applied.
|
|
|
|
|
|
|
|
|
|
Examples:
|
|
|
|
|
>>> compose = Compose([vision.Decode(), vision.RandomCrop()])
|
|
|
|
|
>>> dataset = ds.map(operations=compose)
|
|
|
|
|
>>> import mindspore.dataset.transforms.c_transforms as c_transforms
|
|
|
|
|
>>> import mindspore.dataset.vision.c_transforms as c_vision
|
|
|
|
|
>>>
|
|
|
|
|
>>> compose = c_transforms.Compose([c_vision.Decode(), c_vision.RandomCrop()])
|
|
|
|
|
>>> data1 = data1.map(operations=compose)
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
@check_random_transform_ops
|
|
|
|
@ -258,15 +297,18 @@ class Compose(cde.ComposeOp):
|
|
|
|
|
|
|
|
|
|
class RandomApply(cde.RandomApplyOp):
|
|
|
|
|
"""
|
|
|
|
|
Randomly performs a series of transforms with a given probability.
|
|
|
|
|
Randomly perform a series of transforms with a given probability.
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
transforms (list): List of transformations to be applied.
|
|
|
|
|
prob (float, optional): The probability to apply the transformation list (default=0.5)
|
|
|
|
|
|
|
|
|
|
Examples:
|
|
|
|
|
>>> rand_apply = RandomApply([vision.RandomCrop()])
|
|
|
|
|
>>> dataset = ds.map(operations=rand_apply)
|
|
|
|
|
>>> import mindspore.dataset.transforms.c_transforms as c_transforms
|
|
|
|
|
>>> import mindspore.dataset.vision.c_transforms as c_vision
|
|
|
|
|
>>>
|
|
|
|
|
>>> rand_apply = c_transforms.RandomApply([c_vision.RandomCrop()])
|
|
|
|
|
>>> data1 = data1.map(operations=rand_apply)
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
@check_random_transform_ops
|
|
|
|
@ -282,8 +324,11 @@ class RandomChoice(cde.RandomChoiceOp):
|
|
|
|
|
transforms (list): List of transformations to be chosen from to apply.
|
|
|
|
|
|
|
|
|
|
Examples:
|
|
|
|
|
>>> rand_choice = RandomChoice([vision.CenterCrop(), vision.RandomCrop()])
|
|
|
|
|
>>> dataset = ds.map(operations=rand_choice)
|
|
|
|
|
>>> import mindspore.dataset.transforms.c_transforms as c_transforms
|
|
|
|
|
>>> import mindspore.dataset.vision.c_transforms as c_vision
|
|
|
|
|
>>>
|
|
|
|
|
>>> rand_choice = c_transforms.RandomChoice([c_vision.CenterCrop(), c_vision.RandomCrop()])
|
|
|
|
|
>>> data1 = data1.map(operations=rand_choice)
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
@check_random_transform_ops
|
|
|
|
|