基于华为云ModelArts进行数据集预处理 | 【玩转华为云】
数据集预处理
1基础知识
数据预处理在众多深度学习算法中都起着重要作用,数据预处理可以提高模型精度,加快模型收敛速度,提升模型性能,这里主要介绍MindSpore常用的数据预处理方式。
数据是深度学习的基础,良好的数据输入可以对整个深度神经网络训练起到非常积极的作用。在训练前对已加载的数据集进行数据处理,可以解决诸如数据量过大、样本分布不均等问题,从而获得更加优化的数据输入。
2代码讲解
- Shuffle
对数据集进行混洗,随机打乱数据顺序。设定的buffer_size越大,混洗程度越大,但时间、计算资源消耗也会更大。
dataset2 = dataset1.shuffle(buffer_size=5)
- Map
将指定的函数或算子作用于数据集的指定列数据,实现数据映射操作。用户可以自定义映射函数,也可以直接使用c_transforms或py_transforms中的算子针对图像、文本数据进行数据增强。
dataset2 = dataset1.map(operations=pyfunc, input_columns=["data"])
- Batch
将数据集分批,分别输入到训练系统中进行训练,可以减少训练轮次,达到加速训练过程的目的。
dataset1 = dataset1.batch(batch_size=2, drop_remainder=False)
# drop_remainder=False 不去除剩余的数据(不满足batch的数据)
- Repeat
对数据集进行重复,达到扩充数据量的目的。repeat和batch操作的顺序会影响训练batch的数量,建议将repeat置于batch之后。
dataset1 = dataset1.repeat(count=2)
- Zip
将两个数据集进行列拼接,合并为一个数据集。如果两个数据集的列名相同,则不会合并,请注意列的命名;如果两个数据集的行数不同,合并后的行数将和较小行数保持一致。
dataset3 = ds.zip((dataset1, dataset2))
数据增强
1基础知识
在计算机视觉任务中,数据量过小或是样本场景单一等问题都会影响模型的训练效果,可以通过数据增强操作对图像进行预处理,从而提升模型的泛化性。
2代码讲解
随机裁剪图片
1.import mindspore.dataset.vision.c_transforms as CV
2.
3.# 随机裁剪:输出大小(32x32), padding 方式 左上右下。
4.random_crop_op = CV.RandomCrop([32, 20], [4, 4, 4, 4])
5.mnist_dataset1 = mnist_dataset.map(operations=random_crop_op, input_columns=[“image”])调整图片大小
1.# 调整图像大小
2.resize = CV.Resize([20, 35])
3.mnist_dataset1 = mnist_dataset.map(operations=resize, input_columns=[“image”])像素值修改
1.# rescale 缩放系数,shift 平移大小,相当于ax+b
2.rescale = CV.Rescale(rescale=3, shift=100)
3.mnist_dataset1 = mnist_dataset.map(operations=rescale, input_columns=[“image”])图像标准化
将输入的NumPy图像数组(形状必须为(C, H, W))用给定的均值和标准差进行标准化。
数组的值必须在(0, 1]范围内。1.normalize_op = CV.Normalize(mean=(123.68,116.78,103.94), std=[1, 1, 1])
2.dataset = dataset.map(operations=normalize_op, input_columns=[“image”])随机水平翻转图像
1.# 水平翻转图片,随机翻转概率为1
2.RandomHorizontalFlip = CV.RandomHorizontalFlip(1)
3.dataset = dataset1.map(operations=RandomHorizontalFlip, input_columns=[“image”])转换图像通道
1.# 转置输入图像从形状(H, W, C)到形状(C, H, W)
2.HWC2CHW = CV.HWC2CHW()
3.dataset1 = dataset.map(operations=HWC2CHW, input_columns=[“image”])
- 点赞
- 收藏
- 关注作者
评论(0)