- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正尝试在一些图像数据上训练自动编码器。数据集太大了,内存都放不下。所以很明显,我想借助 Keras 中的 flow_from_directory
从目录中按需加载数据。
我的数据集结构如下
./Dataset/
./Train/
../1.jpg
../2.jpg
等等。
我试过像这样使用 flow_from_directory
train_generator = datagen.flow_from_directory(
TRAIN_FOLDER,
target_size = (256, 256),
color_mode = 'rgb',
batch_size = batch_size,
class_mode = 'input')
这给我一个输出 Found 0 images belonging to 0 classes.
如果我尝试用这个生成器拟合模型,我会得到一个 ZeroDivisionError
。
我曾在各种场合使用过 flow_from_directory
、flow
和 flow_from_dataframe
,但在那些情况下,我正在解决分类问题并且有n 个类目录中的 n 个文件夹。
如何按需从目录加载图像以训练自动编码器。?来自 Keras 文档 here我看到了
class_mode:“输入”将是与输入图像相同的图像(主要用于自动编码器)
但这也没有解决问题。
我发现的一个解决方法是在列车内创建另一个文件夹并将所有文件移入其中。除了这个还有什么直接的方法吗?
最佳答案
Keras 文档在这里确实不是很精确,而且它实际工作的方式并不直观(至少对我而言)......
在这里,即使您使用的是 class_mode='input'
,这意味着没有类(或者每张图片都是其自己的类,但是您喜欢这样说),您的图片仍然必须位于子文件夹内。
因此,在您的 Train
文件夹中,只需创建另一个子文件夹并将所有图像移入其中。然后输出将是 Found xxx images belonging to 1 classes.
您甚至可以有多个子文件夹,生成的 X
和 Y
数据将是相同的,只是控制台输出会不同(并且具有误导性):找到属于 yy 类的 xxx 个图像。
如果确实存在类并且您有另一个模型使用它们(使用 class_mode='categorical'
或 class_mode='binary'
),这可能很有用。然后这个模型可以从同一个文件夹加载它的数据。
关于keras - 使用自动编码器的 flow_from_directory 按需加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55061877/
我是一名优秀的程序员,十分优秀!