【问题标题】:DirectoryIterator in KerasKeras 中的 DirectoryIterator
【发布时间】:2021-02-19 18:40:00
【问题描述】:

我想在使用数据生成器时只加载没有标签的图像。我正在训练一个自动编码器,用于在 imagenet 数据集上进行图像重建。 Imagenet 数据集的架构如下所示。

数据/ 数据/火车/ 数据/火车/红色/ 数据/火车/蓝色/ 数据/火车/绿色/ 数据/火车/粉红色/

我正在使用下面给出的代码。

train_it = datagen.flow_from_directory(directory=”/dataset/Imagenet2012/train/”,
                                       target_size=(224, 224),
                                       color_mode=”rgb”,
                                       batch_size=32,
                                       class_mode=None,
                                       shuffle=True,
                                       seed=42
                                       )

我已将 class_mode 更改为 None,但当我调用 fit 函数时,我仍然收到下面给出的错误。我的 fit 函数的代码如下。

autoencoder.fit(val_it,val_it,
                batch_size=32,
                epochs=5,
                verbose=2,
                shuffle=True

)

我得到的错误是

y argument is not supported when data is a generator or Sequence instance.Instead pass targets
as the second element of the generator.

我想将原始图像作为 y 变量传递给 model.fit 函数。该数据集包括 1281167 张用于训练的图像。当我尝试使用 numpy 加载所有图像时,加载大约需要 6 个小时。 请帮我解决一下这个。 或者请给我推荐一个自定义数据生成器的代码。

谢谢

【问题讨论】:

  • 哪行代码给出了错误?一个最小的可重现示例将有助于调试
  • 编辑了我的问题。

标签: python machine-learning keras dataloader imagenet


【解决方案1】:

如果您希望生成器传递与Xy 相同的图像,则必须设置class_mode='input'

另外,由于它是一个生成器,您不必显式传递Xyclass_mode='input' 将为您处理。


train_it = datagen.flow_from_directory(directory=”/dataset/Imagenet2012/train/”,
                                       target_size=(224, 224),
                                       color_mode=”rgb”,
                                       batch_size=32,
                                       class_mode="input",
                                       shuffle=True,
                                       seed=42)
autoencoder.fit(train_it,
                epochs=5,
                verbose=2)

docs 中了解更多信息。

class_mode = "input" 将是与输入图像相同的图像(主要用于自动编码器)。

【讨论】:

    猜你喜欢
    • 2019-12-03
    • 2018-06-26
    • 2020-03-08
    • 2011-01-10
    • 2012-09-13
    • 1970-01-01
    • 2019-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多