当我使用 ImageDataGenerator.flow_from_directory 时如何获得真正的标签

JMa*_*ath 2 keras

我有一个代码运行,其中作为数据输入我有两个 numpy 数组(X_train,y_true)。我喜欢 ImageDataGenerator 的数据增强。

我可以用它来获取相应的 numpy 数组吗?

这是一些代码:

train_data_dir="Path to directory containing for each class a directory of images"

from keras.preprocessing.image import ImageDataGenerator
datagen = ImageDataGenerator(rescale=1. / 255,
                         horizontal_flip=True,
                         rotation_range=360)
generator = datagen.flow_from_directory(
       train_data_dir,
       target_size=(img_width, img_height),
       batch_size=22,
       class_mode=None,
       shuffle=True)

x=generator.next()
Run Code Online (Sandbox Code Playgroud)

现在 xaa np.array,包含我的两个类的图像。我可以在某处找到带有标签的相应数组吗?

Dan*_*ler 8

这很简单。生成器必须同时输出 x 和 y:

x, y = generator.next()
Run Code Online (Sandbox Code Playgroud)

另一个选项取决于您的python:

x, y = next(generator)
Run Code Online (Sandbox Code Playgroud)

但是您的生成器没有返回任何 Y,因为您使用了class_mode=None.

您应该使用其中之一来使生成器生成标签:

  • 绝对的
  • 二进制

通常,对于多类目的,您会使用“分类”。对于一个类(是/否),使用“二进制”。