Keras ImageDataGenerator不同的图像

时间:2018-06-29 20:49:07

标签: python keras

我在使用Keras的ImageDataGenerator进行图像增强时遇到了麻烦。现在,我正在尝试垂直翻转训练数据集中的图像。 X_batch是我的翻转图像数据集,而X_train是我的原始训练数据集。

有人可以解释为什么X_batch中的图像与X_train中的图像顺序不同吗? X_batch[0]应该是X_train[0]的翻转版本,而X_batch[0]是我的数据集中另一个图像的翻转版本。

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)    

datagen = ImageDataGenerator(vertical_flip=True)
datagen.fit(X_train)

for X_batch, y_batch in datagen.flow(X_train, y_train):
    X_batch = X_batch.astype('uint8')

    plt.subplot(2, 1, 1)
    plt.imshow(X_batch[0]) // flipped image

    plt.subplot(2, 1, 2)
    plt.imshow(X_train[0]) // original image

    plt.show()
    break

1 个答案:

答案 0 :(得分:1)

根据Keras documentationflow方法使用一个名为shuffle的参数,如果将其设置为True(默认情况下),则会对数据进行混洗,然后应用图像转换。如果您不喜欢这种行为,可以将其设置为False

for X_batch, y_batch in datagen.flow(X_train, y_train, shuffle=False):
    ...