Размер набора данных не увеличивается при увеличении изображения с помощью класса ImageDataGenerator в keras - PullRequest
0 голосов
/ 27 мая 2019

Я использую трансферное обучение для семантической сегментации (чтобы найти только один класс). У меня есть набор данных из 50 изображений. Я хочу увеличить размер набора данных путем увеличения данных и обучить свою модель всем данным (оригинал + расширенный вариант).

Я использую ImageDataGenerator класс и fit_generator в кератах для этого. Однако во время тренировок моя модель работает только на 50 изображениях.

Мне кажется, что моя модель учится только на 50 сгенерированных изображениях.

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

Мой код такой:

data_gen_args = dict(horizontal_flip=True,
                 vertical_flip=True,
                 rotation_range=90,
                 width_shift_range=0.1,
                 height_shift_range=0.1,
                 zoom_range=0.2,
                 validation_split=0.2)

image_datagen = ImageDataGenerator(**data_gen_args)
mask_datagen = ImageDataGenerator(**data_gen_args)
seed = 1

image_generator = image_datagen.flow(
                  train_X,
                  batch_size=2,
                  seed=seed)

mask_generator = mask_datagen.flow(
                 train_labels,
                 batch_size=2,
                 seed=seed)

train_generator = zip(image_generator, mask_generator)

history = model.fit_generator(train_generator, epochs =50 ,verbose = 1, 
                             steps_per_epoch=len(train_X)/2)

Я адаптировал код от https://keras.io/preprocessing/image/.

...