tensorflow进行数据增强

tensorflow进行数据增强


我们在进行训练的时候,如果输入的样本有限,会导致网络陷入过拟合。

在tensorflow里有专门针对这个的解决方法,tf.ImageDataGenerator,它的作用是进行数据增强。在给定数据的基础上进行 旋转,剪切,缩放等操作,来获得更多的数据。

例:

train_datagen = keras.preprocession.image.ImageDataGenerator(
    rescale=1./255, # 像素点255,范围(0,1)
    rotation_range = 30, #随机旋转角度范围在(-30,30)
    width_shift_range = 0.2, #水平位移(-0.2,0.2),提高数据鲁棒性,如大于1,表示像素值
    height_shift_range = 0.2, #上下位移(-0.2,0.2),如大于1,表示像素值
    shear_range = 0.2, #剪切强度
    zoom_range = 0.2, #缩放程度
    horizontal_flip = True, # 是不是随机做水平翻转
    fill_mode = 'nearest' #填充像素,离他最近的真实像素点进行填充
)

数据增强处理,不会占用更多的存储空间,即在数据增强过程中,原始的数据不会被修改,所有的处理过程都是在内存中即时的。

注意:
虽然数据增强提高了数据的随机性,但是如果数据或者应用场景不具备这样的随机性,那么不仅不会起到作用,还会增加训练所需的时间。

还有一点,平时我们使用model.fit训练数据,但这是在数据集不是很大的时间比较好用,当我们处理非常大的数据集的时候,就不适合用fit。这个时候我们需要用到keras.fit_generator函数。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值