【写在前面】:大家好,我是【猪葛】
一个很看好AI前景的算法工程师
在接下来的系列博客里面我会持续更新Keras的教学内容(文末有大纲)
内容主要分为两部分
第一部分是Keras的基础知识
第二部分是使用Keras搭建FasterCNN、YOLO目标检测神经网络
代码复用性高
如果你也感兴趣,欢迎关注我的动态一起学习
学习建议:
有些内容一开始学起来有点蒙,对照着“学习目标”去学习即可
一步一个脚印,走到山顶再往下看一切风景就全明了了
本篇博客学习目标:1、掌握Keras中使用ImageDataGenerator 类进行图像预处理的方法;2、理解如何给模型喂数据进行训练的方法(先理解一次,以后会继续讲解的)
文章目录
一、ImageDataGenerator 类
import tensorflow.keras as keras
# 函数作用:通过实时数据增强生成张量图像数据批次。数据将不断循环(按批次)。
keras.preprocessing.image.ImageDataGenerator(featurewise_center=False,
samplewise_center=False,
featurewise_std_normalization=False,
samplewise_std_normalization=False,
zca_whitening=False,
zca_epsilon=1e-06,
rotation_range=0,
width_shift_range=0.0,
height_shift_range=0.0,
brightness_range=None,
shear_range=0.0,
zoom_range=0.0,
channel_shift_range=0.0,
fill_mode='nearest',
cval=0.0,
horizontal_flip=False,
vertical_flip=False,
rescale=None,
preprocessing_function=None,
data_format=None,
validation_split=0.0,
dtype=None)
函数作用:
通过实时数据增强生成张量图像数据批次。数据将不断循环(按批次)。
参数提示:
因为这参数比较多,而且比较难以理解,我会在下面解释小例子的时候结合实例来解释这些参数,所以大家一开始看不懂没关系,先跳过也行。一般这些参数都选择默认值,然后对图片的处理使用这个类的方法来实现
常见参数:
horizontal_flip: 布尔值。随机水平翻转。vertical_flip: 布尔值。随机垂直翻转。rescale: 重缩放因子。默认为None。如果是 None 或 0,不进行缩放,否则将数据乘以所提供的值(在应用任何其他转换之前)。preprocessing_function: 应用于每个输入的函数。这个函数会在任何其他改变之前运行。这个函数需要一个参数:一张图像(秩为 3 的 Numpy 张量),并且应该输出一个同尺寸的 Numpy 张量。data_format: 图像数据格式,{“channels_first”, “channels_last”} 之一。"channels_last"模式表示图像输入尺寸应该为 (samples, height, width, channels),"channels_first"模式表示输入尺寸应该为 (samples, channels, height, width)。默认为 在 Keras 配置文件 ~/.keras/keras.json 中的 image_data_format 值。如果你从未设置它,那它就是 “channels_last”。validation_split: 浮点数。Float. 保留用于验证的图像的比例(严格在0和1之间)。dtype: 生成数组使用的数据类型。rotation_range: 整数。随机旋转的度数范围。featurewise_center: 布尔值。将输入数据的均值设置为 0,逐特征进行。samplewise_center: 布尔值。将每个样本的均值设置为 0。featurewise_std_normalization: 布尔值。将输入除以数据标准差,逐特征进行。samplewise_std_normalization: 布尔值。将每个输入除以其标准差。zca_epsilon: ZCA 白化的 epsilon 值,默认为 1e-6。zca_whitening: 布尔值。是否应用 ZCA 白化。width_shift_range: 浮点数、一维数组或整数,宽度缩放比例height_shift_range: 浮点数、一维数组或整数,高度缩放比例shear_range: 浮点数。剪切强度(以弧度逆时针方向剪切角度)。zoom_range: 浮点数 或 [lower, upper]。随机缩放范围。如果是浮点数,[lower, upper] = [1-zoom_range, 1+zoom_range]。
二、ImageDataGenerator 类的类方法
2-1、flow函数
flow(
x,
y=None,
batch_size=32,
shuffle=True,
sample_weight=None,
seed=Non

本文介绍Keras中ImageDataGenerator类的使用方法及如何利用model.fit_generator()函数训练模型。内容包括图像预处理、数据增强及批量训练。
最低0.47元/天 解锁文章
2692





