Как создавать дополненные изображения как метки в Keras.ImageDataGenerator - PullRequest
0 голосов
/ 17 июня 2020

Я создаю вариационный автоматический кодировщик на основе набора данных Fashion MNIST, поэтому я создаю модель с одним и тем же изображением (1,28,28) как на входе, так и на выходе. Теперь я хочу обучить модель на расширенных изображениях, для чего мне понадобится пользовательский генератор данных. Я хочу:

  1. Иметь одинаковые дополнения как на входе, так и на выходе.
  2. Используйте функцию потока для обучения модели.

I попробовал это, переопределив функцию потока (см. код ниже), но похоже, что это увеличивает только вход, а не выход.

Не могли бы вы указать, что я делаю неправильно?

#Altered from the Keras source code
class VAEDataGenerator(ImageDataGenerator):
    def flow(self,
             x,
             batch_size=32,
             shuffle=True,
             sample_weight=None,
             seed=None,
             save_to_dir=None,
             save_prefix='',
             save_format='png',
             subset=None):
        return NumpyArrayIterator(
            x,
            x,
            self,
            batch_size=batch_size,
            shuffle=shuffle,
            sample_weight=sample_weight,
            seed=seed,
            data_format=self.data_format,
            save_to_dir=save_to_dir,
            save_prefix=save_prefix,
            save_format=save_format,
            subset=subset
        )

И затем я хочу использовать генератор данных:

train_datagen = VAEDataGenerator(horizontal_flip=True, data_format='channels_first')
vae.fit(train_datagen.flow(training_images),
         shuffle=True,
         epochs=epochs,
         validation_data=(test_images, test_images))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...