如何解决直接从文件夹中读取数据以在 keras 中进行训练
我正在使用 keras 中的 resnet 进行超分辨率,我已将我的数据分成训练和测试(70-30)以及测试数据的 20% 进行验证。我正在尝试使用 datagen.flow_from_directory 读取数据,但它的显示 0 个类的 0 个图像。主要问题是我没有类。我只有高分辨率图像和低分辨率图像。高分辨率图像进入输出,低分辨率图像进入输入。我如何加载数据而不在类中将它们分开
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
根据您指定为第一个参数的目录下的每个子目录将数据拆分为类。所以,你应该在目标下至少有一个子目录。
此外,生成器应该标记它们以便将它们提供给您的网络。默认情况下,它使用 categorical 方法作为二维单热编码标签。但是,如果您希望以其他方式使用标签,请设置 class_mode
参数。例如,对于输入没有标签的自动编码器,您应该将其指定为 class_mode=input
。
根据文档 here,class_mode
应该是其中之一:
-
categorical
将是 2D one-hot 编码标签,(默认模式) -
binary
将是一维二进制标签, -
sparse
将是一维整数标签, -
input
将是与输入图像相同的图像(主要用于处理 自编码器)。 -
None
,不返回标签(生成器只会生成批量图像数据,这对于与model.predict()
一起使用很有用)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。