Ошибка Keras при работе с ImageDataGenerator

Я пытаюсь выполнить простую задачу, в которой модель принимает изображение в качестве входных данных и создает другое изображение в качестве вывода. Есть две папки с именем input , которые содержат входные изображения, и еще одна папка с именем output , которая содержит исходные изображения или метку y. Чтобы разделить всю папку на обучение и проверку, я сделал следующие шаги:

      # This is supposed to make training split which contains x label
train_set_X = train_datagen.flow_from_directory(
    train_path,
    class_mode='input',
    classes=['input'],
    subset='training'
)

# This is supposed to make validation split which contains x label
validation_set_X = train_datagen.flow_from_directory(
    train_path,
    class_mode='input',
    classes=['input'],
    subset ='validation'
)


# THis makes the training split's Y label

train_set_Y = train_datagen.flow_from_directory(
    train_cleaned_path,
    class_mode='input',
    classes=['output'],
    subset ='training'
)

# THis makes the validation split's Y label
validation_set_Y =train_datagen.flow_from_directory(
    train_cleaned_path,
    class_mode='output',
    classes=['train_cleaned'],
    subset ='validation'
)

но когда я использовал вышеупомянутые расщепления следующим образом:

      history= conv_NN.fit(train_set_X, train_set_Y,
                              validation_data = (validation_set_X, validation_set_Y), 
                              epochs=20, batch_size=16,
                              callbacks= [early_stop,tensorboard_callback], 
                              verbose=1)

Я получаю следующую ошибку:

      ValueError: `y` argument is not supported when using `keras.utils.Sequence` as input.

Пожалуйста, помогите мне узнать, что здесь происходит и что я делаю неправильно? Заранее спасибо.

1 ответ

при использовании генераторов model.fit ожидает, что генератор предоставит значения x и y. Поэтому вы не можете указать метки y, как вы сделали с кодом

      history= conv_NN.fit(train_set_X, train_set_Y

Я думаю, вы можете достичь того, чего хотите, с

      train_gen=zip(train_set_X,train_set_Y)
valid_gen=zip(validation_set_X,validation_set_Y)
history= conv_NN.fit(train_gen,valisation_data = valid_gen,  
                              epochs=20, batch_size=16,
                              callbacks= [early_stop,tensorboard_callback], 
                              verbose=1)
Другие вопросы по тегам