保存和加载图像生成器 (Tensorflow Keras)
Posted
技术标签:
【中文标题】保存和加载图像生成器 (Tensorflow Keras)【英文标题】:Saving and loading image generators (Tensorflow Keras) 【发布时间】:2021-12-23 07:57:44 【问题描述】:我使用来自 Tensorflow Keras 的 ImageDataGenerator 类及其 flow_from_directory 方法创建了图像数据的 Python 生成器,如下所示。我想在单独的 Python 文件中执行图像预处理和模型构建,所以我必须保存这些生成器(train_generator、val_generator 和 test_generator 对象),然后将它们加载到模型构建文件中。我该怎么做?
train_datagen = ImageDataGenerator(rescale=1./255)
train_generator = train_datagen.flow_from_directory(train_dir, target_size=(256, 256), batch_size=20,
class_mode='categorical')
val_datagen = ImageDataGenerator(rescale=1./255)
val_generator = val_datagen.flow_from_directory(val_dir, target_size=(256, 256), batch_size=20,
class_mode='categorical')
test_datagen = ImageDataGenerator(rescale=1./255)
test_generator = test_datagen.flow_from_directory(test_dir, target_size=(256, 256), batch_size=20,
class_mode='categorical')
.flow_from_directory()
有一个 save_to_dir=
参数,但之后我不知道如何加载它。
【问题讨论】:
【参考方案1】:要保存这些生成的文件,您需要在.flow_from_directory()
中定义save_to_dir
,如下所示(示例代码):
train_datagen = ImageDataGenerator(rescale=1./255)
train_generator = train_datagen.flow_from_directory(train_dir,
target_size=(256, 256),
batch_size=20,
class_mode='categorical',
save_to_dir='/content/GoogleDrive/My Drive/MY WORK/Augmented/',
save_prefix='aug',
save_format='png',)
定义模型后,只需将此train_generator
拟合到模型中即可加载增强数据。
history = model.fit(
train_generator,
steps_per_epoch= 4, # (number of total images)/(batch_size)
epochs=1)
【讨论】:
但保存后如何将其加载到另一个文件中?实际上,这个问题很简单,我可以在我使用它们的同一个文件中创建生成器。以上是关于保存和加载图像生成器 (Tensorflow Keras)的主要内容,如果未能解决你的问题,请参考以下文章
24- 深度学习的模型保存和加载 (TensorFlow系列) (深度学习)