保存和加载图像生成器 (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系列) (深度学习)

imgaug:加载和保存图像

保存tensorflow模型为pb文件

学习笔记TF015:加载图像图像格式图像操作颜色

Tensorflow2 图像分类-Flowers数据深度学习模型保存读取参数查看和图像预测

Tensorflow2 图像分类-Flowers数据深度学习模型保存读取参数查看和图像预测