基于keras的数据增广(data augmentation)

当深度学习中遇到数据不足的问题时,数据增广是防止过拟合的有效手段。本文以图像为例,介绍了如何利用Keras库进行数据扩充,包括水平翻转、扭曲、变形等操作。通过修改现有的代码,可以对整个文件夹的图像进行批量数据增广,从而提高模型的泛化能力。
摘要由CSDN通过智能技术生成

在实际的深度学习当中,我们通常会遇到收集的数据过少,收集数据过于困难等,导致训练过程中很容易发生过拟合等现象.这时候我们就需要对数据进行扩充来避免这种现象.

下面就以图片来做例子,最简单的对图片进行扩充的方法是翻转,包括水平翻转和垂直翻转,但一般图像用到最多的是水平翻转,(正常物体不可能跑到天上去).还有对图像进行扭曲,变形,拉伸,填充,改变hsv或者rgb的值等等.

keras数据库提供了很好的解决途径.

#图片生成器ImageDataGenerator
keras.preprocessing.image.ImageDataGenerator(featurewise_center=False,
    samplewise_center=False,
    featurewise_std_normalization=False,
    samplewise_std_normalization=False,
    zca_whitening=False,
    zca_epsilon=1e-6,
    rotation_range=0.,
    width_shift_range=0.,
    height_shift_range=0.,
    shear_range=0.,
    zoom_range=0.,
    channel_shift_range=0.,
    fill_mode='nearest',
    cval=0.,
    horizontal_flip=False,
    vertical_flip=False,
    rescale=None,
    preprocessing_function=None,
    data_format=K.image_data_format())
#用以生成一个batch的图像数据,支持实时数据提升。训练时该函数会无限生成数据,直到达到规定的epoch次数为止。
'''参数
featurewise_center:布尔值,使输入数据集去中心化(均值为0), 按feature执行

samplewise_center:布尔值,使输入数据的每个样本均值为0

featurewise_std_normalization:布尔值,将输入除以数据集的标准差以完成标准化, 按feature执行

samplewise_std_normalization:布尔值,将输入的每个样本除以其自身的标准差

zca_whitening:布尔值,对输入数据施
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值