Keras中图片数据预处理步骤总结

将硬盘中的图片文件预处理后生成浮点数张量,步骤如下:

(1)读取图像文件

(2)将文件解码为RGB像素网格

(3)将像素网格转换为浮点数张量

(4)将像素值(0-255)缩放到(0-1)区间

在Keras中,以上步骤可通过ImageDataGenerator类完成,该类位于keras.preprocessing.image模块中,ImageDataGenerator()是keras.preprocessing.image模块中的图片生成器,同时也可以在batch中对数据进行增强,扩充数据集大小,增强模型的泛化能力。比如进行旋转,变形,归一化等等。如将图像缩放为1/255:

gen = ImageDataGenerator(rescale=1/255)

完成图像处理后,通过ImageDataGenerator对象可得到增强数据生成器,生成小批量梯度下降所需的数据:

generator = gen.flow_from_directory(图片来源路径,目标矩阵大小,批量大小,类别描述方式)

注意:类别描述方式参数是class_mode,可选binary:二分类即标签用01描述,损失函数用binary_crossentropy;categorical:多分类即标签用one-hot型描述,损失函数用categorical_crossentropy,sparse:多分类标签可为数字,损失函数用sparse_categorical_crossentropy

接下来利用生成器可以进行训练了:

history = model.fit_generator(generator,steps_per_epoch,epochs,validation_data,validation_steps)

注意,steps_per_epoch是指按生成器每次生成的数据条数,要将数据全部训练一次需要多少批,比如全部数据1000条,生成器每次20条,则steps_per_epoch为50;epochs指全部训练的次数,后面的validation_data是指验证集生成器,validation_steps是指验证集全部训练一次需要多少批。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值