使用dataset.vision.RandomXXX算子进行数据增强无效
收藏回复举报
使用dataset.vision.RandomXXX算子进行数据增强无效
发表于2023-12-19 14:32:10
0 查看

1 系统环境

硬件环境(Ascend/GPU/CPU): Ascend/GPU/CPU

MindSpore版本: mindspore=1.9.0

执行模式(PyNative/ Graph):不限

Python版本: Python=3.9

操作系统平台: 不限

2 报错信息

2.2问题描述

希望得到同一幅图像的2副不同的随机增强变换,结果得到的总是相同的结果。运行出来diff的值一直是0,应该如何修改代码。

self.tranforms = [
    # vision.RandomCrop(32, padding=4),
    vision.RandomResizedCrop(32, scale=(0.5, 1.0)),
    vision.RandomHorizontalFlip(0.5),
    vision.RandomColorAdjust(0.4, 0.4, 0.2, 0.1),
    # vision.RandomSolarize(),
    vision.RandomEqualize(0.5),
    vision.ToTensor(),
    vision.Normalize(
        mean=[0.4914, 0.4822, 0.4465], 
        std=[0.2471, 0.2435, 0.2616], 
        is_hwc=False)
]

du = de.GeneratorDataset(
    train_unlabeled_dataset,
    shuffle=True,
    num_parallel_workers=self.args.num_workers,
    # python_multiprocessing=True,
    column_names=[
        "unlabel0",
        "target",
        "index",
        "uncr"])
du = du.map(operations=transforms.Duplicate(), input_columns=["unlabel0"], output_columns=["unlabel0", "unlabel1"], column_order=["unlabel0", "unlabel1", "target",
        "index", "uncr"])
du = du.map(operations=self.tranforms, input_columns=["unlabel0"], num_parallel_workers=self.args.num_workers)
du = du.map(operations=self.transforms, input_columns=["unlabel1"], num_parallel_workers=self.args.num_workers)
du = du.batch(
    args.batchsize,
    num_parallel_workers=args.num_workers,
    # python_multiprocessing=True,
    drop_remainder=True)

unlabel_iterable = du.create_tuple_iterator(
            num_epochs=-1, do_copy=False)
unlabel_iterator = iter(unlabel_iterable)
inputs_u, inputs_u2, _, _, temp_u = unlabel_iterator.__next__()
diff = ops.abs(inputs_u - inputs_u2).sum()

3 根因分析

******此处由用户填写******

4 解决方案

******此处由用户填写******

包含文字方案和最终脚本代码

请将正确的脚本打包并上传附件

我要发帖子