直接从文件夹中读取数据以在keras中进行训练

Read data directly from folders for training in keras

我正在 keras 中使用 resnet 进行超分辨率处理,我已将我的数据分成训练和测试 (70-30),并从测试数据中提取 20% 用于验证。我正在尝试使用 [=15 读取数据=] 但它显示 0 张图像 类。主要问题是我没有 类。我只有高分辨率图像和低分辨率图像。高分辨率图像用于输出,低分辨率图像用于输入。我如何加载数据而不将它们分开 类s

from keras.preprocessing.image import ImageDataGenerator
import os

train_dir =  r'G:\images\train'

train_datagen = ImageDataGenerator(rescale=1./255)


train_generator = train_datagen.flow_from_directory(train_dir)

要为 0 类 解析 0 张图像,请注意一个常见的错误是您指定的目标文件夹 没有子目录. ImageDataGenerator 根据您指定为第一个参数的目录下的每个子目录将数据拆分为 类。所以,你的target下至少应该有一个子目录。

此外,生成器应该标记它们以便将它们提供给您的网络。默认情况下,它使用 categorical 方法作为 2D one-hot 编码标签。但是,如果您希望以其他方式使用标签,请设置 class_mode 参数。例如,对于输入没有标签的自动编码器,您应该将其指定为 class_mode=input.

根据文档 hereclass_mode 应该是以下之一:

  • categorical 将是 2D one-hot 编码标签,(默认模式)
  • binary 将是一维二进制标签,
  • sparse 将是一维整数标签,
  • input 将是与输入图像相同的图像(主要用于处理 自编码器)。
  • None,不返回任何标签(生成器只会生成批量图像数据,这对与 model.predict() 一起使用很有用)