Ошибка 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)