繁体   English   中英

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

[英]Read data directly from folders for training in keras

我在 keras 中使用 resnet 进行超分辨率,我已将我的数据拆分为训练和测试(70-30),并从测试数据中提取 20% 用于验证。我正在尝试使用 datagen.flow_from_directory 读取数据,但它显示0 个图像0 课。主要问题是我没有课。 我只有高分辨率图像和低分辨率图像。 高分辨率图像进入 output,低分辨率图像进入输入。 我如何加载数据而不将它们分成类

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根据您指定为第一个参数的目录下的每个子目录将数据拆分为类。 因此,您应该在目标下至少有一个子目录。

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

根据此处的文档, class_mode应该是其中之一:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM