mindspore.dataset.vision.MixUp
- class mindspore.dataset.vision.MixUp(batch_size, alpha, is_single=True)[source]
Randomly mix up a batch of numpy.ndarray images together with its labels.
Each image will be multiplied by a random weight \(lambda\) generated from the Beta distribution and then added to another image multiplied by \(1 - lambda\). The same transformation will be applied to their labels with the same value of \(lambda\). Make sure that the labels are one-hot encoded in advance.
- Parameters
batch_size (int) – The number of images in a batch.
alpha (float) – The alpha and beta parameter for the Beta distribution.
is_single (bool, optional) – If
True
, it will randomly mix up [img0, …, img(n-1), img(n)] with [img1, …, img(n), img0] in each batch. Otherwise, it will randomly mix up images with the output of the previous batch. Default:True
.
- Raises
TypeError – If batch_size is not of type integer.
TypeError – If alpha is not of type float.
TypeError – If is_single is not of type boolean.
ValueError – If batch_size is not positive.
ValueError – If alpha is not positive.
- Supported Platforms:
CPU
Examples
>>> import mindspore.dataset as ds >>> import mindspore.dataset.vision as vision >>> import mindspore.dataset.transforms as transforms >>> >>> image_folder_dataset = ds.ImageFolderDataset("/path/to/image_folder_dataset_directory") >>> # first decode the image >>> image_folder_dataset = image_folder_dataset.map(operations=vision.Decode(), ... input_columns="image") >>> # then ont hot decode the label >>> image_folder_dataset = image_folder_dataset.map(operations=transforms.OneHot(10), ... input_columns="label") >>> # batch the samples >>> batch_size = 4 >>> image_folder_dataset = image_folder_dataset.batch(batch_size=batch_size) >>> # finally mix up the images and labels >>> image_folder_dataset = image_folder_dataset.map( ... operations=py_vision.MixUp(batch_size=batch_size, alpha=0.2), ... input_columns=["image", "label"])
- Tutorial Examples: