我想同时增强 keras 中的 X
(500,28,28,1)、Y
(500,28,28,1) 图像集并将它们存储在用于可视化结果的数组(在我可以训练网络之前)。 输出 y 不是标签而是图像。
我在 y_train
(Mnist 数据集)中复制 X_train
,并且我想在 x
、y
中应用相同的效果code> 用于训练网络。但是,我无法对 X 和 y 进行转换。我仅在 X 上获得 ZCA。我的代码是:
'''
(X_train, y_train), (X_test, y_test) = mnist.load_data()
X_train = X_train.reshape((X_train.shape[0], 28, 28, 1))
X_train = X_train.astype('float32')
y_train=X_train
datagen = ImageDataGenerator(zca_whitening=True)
datagen.fit(X_train)
datagen.fit(y_train)
training_set=datagen.flow(X_train,y_train,batch_size=100):
temp=np.asarray(training_set[0])
'''
temp[0...] 应用了 ZCA,而 temp[1..] 没有任何效果
最佳答案
您需要将 X_train, y_train
和 X_test, y_test
的对作为参数传递给 datagen
流
方法。这是一个例子:
datagen = ImageDataGenerator(zca_whitening=True)
datagen.fit(X_train) # to compute quantities required for featurewise normalization
training_set = datagen.flow(X_train, y_train, batch_size=100)
test_set = datagen.flow(X_test, y_test, batch_size=100)
classifier.fit_generator(training_set, validation_data=test_set, epochs=100)
这允许同时增强输入X
和相应的真实标签Y
来训练神经网络。
希望这有帮助!
关于python - 在 Keras 中同时增强 X,y,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59560639/