Данные ImageDataGenerator готовятся к семантической сегментации

#python #tensorflow #keras #data-augmentation #mapping

Вопрос:

Подготовка моих данных с помощью ImageDataGenerator. До сих пор я делал следующее,

Для данных обучения:

 def data_aug(validation_split=0.25, batch_size=32, seed=42):
    datagen = ImageDataGenerator( rotation_range=10, 
                                  validation_split=0.2)
    
    # **train** data
    X_train_augmented = datagen.flow_from_directory(
                  directory='../input/train/fg_image',
                  target_size=(256, 256), 
                  shuffle=True,
                  batch_size=32,
                  seed=42
                  )
    
    Y_train_augmented = datagen.flow_from_directory(
                  directory='../input/train/gt_mask',
                  target_size=(256, 256), # resize to this size
                  shuffle=True,
                  batch_size=32, 
                  seed=42
                  )
    
    # **validation**: 
    X_test_augmented = datagen.flow_from_directory(
                  directory='../input/validation/fg_image',
                  target_size=(256, 256), # resize to this size
                  shuffle=True,
                  batch_size=32,
                  seed=42
                  )
    
    Y_test_augmented = datagen.flow_from_directory(
                  directory='../input/validation/gt_mask',
                  target_size=(256, 256), # resize to this size
                  shuffle=True,
                  batch_size=32,
                  seed=42
                  )

    
   
    train_generator = zip(X_train_augmented, Y_train_augmented)
    test_generator = zip(X_test_augmented, Y_test_augmented)
    
    return train_generator, test_generator

 

Затем, когда я попробовал тренировочный шаг:

 train_generator, test_generator = data_aug()

model.fit_generator(train_generator, steps_per_epoch=2000,epochs=50)
 

В итоге получилась ошибка в,

Ошибка значения: Модель слоя ожидает 1 вход(ы), но она получила 2 входных тензора. Полученные входные данные: [<tf.Tensor ‘IteratorGetNext:0’ форма=(Нет, Нет, Нет, Нет) dtype=float32>, <tf.Tensor ‘IteratorGetNext:0’ форма=(Нет, Нет, Нет, Нет) dtype=float32><tf.Tensor ‘IteratorGetNext:1’ форма=(Нет, нет) dtype=float32>]

(обновлено)

Комментарии:

1. Нужно посмотреть код для модели

2. @GerryP, Ты можешь найти это здесь .

3. Из сообщения об ошибке следует,что один из слоев в вашем коде ожидает ввода 1. Из кода его непонятно. Предоставьте нам полную информацию об ошибке. Спасибо!

4. @TFer обновил полную ошибку ! Вы также можете ознакомиться с архитектурой модели по приведенной выше ссылке.