我们已经知道,将数据输入神经网络之前,应该将数据格式化为经过预处理的浮点数张量。现在,数据以JPEG文件的形式保存在硬盘中,所以数据预处理步骤大致如下。
- 读取图像文件。
- 将JPEG文件解码为RGB像素网格。
- 将这些像素网格转换为浮点数张量。
- 将像素值(0-255范围内)缩放到[0,1]区间(正如你所知,神经网络喜欢处理较小的输入值)。
这些步骤可能看起来有点吓人,但是Keras拥有自动完成这些步骤的工具。Keras有一个图像处理辅助工具的模块,位于keras.preprocessing.image。特别地,它包含ImageDataGenerator类,可以快速创建Python生成器,能够将硬盘上的图像文件自动转换为预处理好的张量批量。下面我们将用到这个类。
from keras.preprocessing.image import ImageDataGenerator
train_datagen = ImageDataGenerator(rescale=1./255)
test_datagen = ImageDataGenerator(rescale=1./255)
train_generator = train_datagen.flow_from_directory(
train_dir,
target_size = (150,150),
batch_size = 20,
class_mode='binary')
validation_generator = test_datagen.flow_from_directory(

本文介绍了在深度学习中,如何对图像数据进行预处理,包括读取JPEG文件、解码、转换为浮点数张量并缩放像素值。Keras的`ImageDataGenerator`类提供了自动化这一过程的工具,它可以生成预处理后的张量批量,用于模型训练。通过`fit_generator`方法,模型可以使用该生成器进行拟合,并通过指定`steps_per_epoch`参数来控制每轮训练中使用的样本数量。
最低0.47元/天 解锁文章
215

被折叠的 条评论
为什么被折叠?



