Keras 当我从\u目录使用ImageDataGenerator.flow\u时,如何获得真正的标签

Keras 当我从\u目录使用ImageDataGenerator.flow\u时,如何获得真正的标签,keras,Keras,我有一个运行的代码,其中作为数据输入,我有两个numpy数组(X_train,y_true)。我喜欢ImageDataGenerator的数据增强功能 我可以用它来获取相应的numpy数组吗 下面是一些代码: train\u data\u dir=“包含每个a类图像目录的目录路径” 从keras.preprocessing.image导入ImageDataGenerator datagen=ImageDataGenerator(重缩放=1./255, 水平翻转=真, 旋转(范围=360) 生成器

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

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

下面是一些代码:

train\u data\u dir=“包含每个a类图像目录的目录路径”
从keras.preprocessing.image导入ImageDataGenerator
datagen=ImageDataGenerator(重缩放=1./255,
水平翻转=真,
旋转(范围=360)
生成器=来自目录的datagen.flow\u(
列车数据目录,
目标尺寸=(图像宽度、图像高度),
批次尺寸=22,
class_模式=无,
洗牌=真)
x=生成器。下一个()

现在x是一个np.array,包含我的两个类的图像。我能在某处找到带有标签的对应数组吗?

这很简单。发电机必须同时输出x和y:

x, y = generator.next()
另一个选项取决于您的python:

x, y = next(generator)
由于您使用了
class\u mode=None
,因此生成器没有返回任何Y

应使用其中一种方法使生成器生成标签:

  • 分类的
  • 二进制的
  • 稀疏的

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

谢谢,我尝试了这两种方法,但在这两种情况下我都得到了:ValueError:太多的值无法解压缩(预期为2)啊,您使用的是
class\u mode=None
。这可防止发电机产生Y形零件。(更新了答案)。太好了:)--如果您认为这回答了您的问题,请将其标记为已回答。谢谢!我试过了,成功了!现在我明白了为什么我在使用
class\u mode=binary