Как одновременно применить увеличение к X_train и y_train - PullRequest
0 голосов
/ 19 января 2020

Я сталкиваюсь с этой проблемой создания набора данных из очень немногих изображений.

И на входе (X_train), и на выходе (y_train) содержатся изображения размером (28x28), такие как MNIST. Например, в моем коде:

(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 для X_train и y_train одновременно и сохранить их в массиве набора данных. Не хочу передавать его на обучение.

Спасибо за помощь

1 Ответ

0 голосов
/ 20 января 2020

Помните, что расширение само по себе не применяется к целевой переменной y_train, а только к входным переменным X_train. Генератор будет воспроизводить только те же метки истинности заземления y для вновь сгенерированного X.

Следовательно, для подгонки генератора используется только X_train:

datagen.fit(X_train)

Если Вы не хотите передавать дополненные данные на тренировку, вы можете l oop над генератором после подгонки , чтобы получить сгенерированные образцы:

for X_batch, y_batch in datagen.flow(X_train, y_train, batch_size=32):
# Do whatever you want with the generated X_batch and y_batch.

Я понимаю, что это то, что вы готовы сделать. Смотрите примеры на keras do c.

...