我有一个代码运行在哪里作为数据输入我有两个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()
现在x是一个np.array,包含我的两个类的图像。我可以找到带有标签的相应数组吗?
答案 0 :(得分:4)
这很简单。生成器必须同时输出x和y:
x, y = generator.next()
另一个选项取决于你的python:
x, y = next(generator)
您的生成器未返回任何Y,但,因为您使用了class_mode=None
。
您应该使用其中一个来使生成器生成标签:
通常,对于多类目的,您会选择“分类”。对于一个类(是/否),使用“二进制”。