mindspore.dataset.vision.UniformAugment
- class mindspore.dataset.vision.UniformAugment(transforms, num_ops=2)[源代码]
从指定序列中均匀采样一批数据处理操作,并按顺序随机执行,即采样出的操作也可能不被执行。
序列中的所有数据处理操作要求具有相同的输入和输出类型。后一个操作能够处理前一个操作的输出数据。
- 参数:
transforms (Sequence) - 数据处理操作序列。
num_ops (int,可选) - 均匀采样的数据处理操作数。默认值:
2
。
- 异常:
TypeError - 当 transforms 的类型不为数据处理操作序列。
TypeError - 当 num_ops 的类型不为int。
ValueError - 当 num_ops 不为正数。
- 支持平台:
CPU
样例:
>>> import numpy as np >>> import mindspore.dataset as ds >>> import mindspore.dataset.vision as vision >>> from mindspore.dataset.transforms import Compose >>> >>> # Use the transform in dataset pipeline mode >>> seed = ds.config.get_seed() >>> ds.config.set_seed(12345) >>> data = np.random.randint(0, 255, size=(1, 100, 100, 3)).astype(np.uint8) >>> numpy_slices_dataset = ds.NumpySlicesDataset(data, ["image"]) >>> transform = [vision.CenterCrop(64), ... vision.RandomColor(), ... vision.RandomSharpness(), ... vision.RandomRotation(30)] >>> transforms_list = Compose([vision.UniformAugment(transform), ... vision.ToTensor()]) >>> # 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.random.randint(0, 255, size=(100, 100, 3)).astype(np.uint8) >>> transform = [vision.RandomCrop(size=[20, 40], padding=[32, 32, 32, 32]), ... vision.RandomCrop(size=[20, 40], padding=[32, 32, 32, 32])] >>> output = vision.UniformAugment(transform)(data) >>> print(output.shape, output.dtype) (20, 40, 3) uint8 >>> ds.config.set_seed(seed)
- 教程样例: