Я строю классификатор изображений, используя встроенный в Keras Re snet (добавленный в последовательный) и генераторы данных. Изображения хранятся в отдельных папках, причем папки выступают в качестве классов.
Проблема состоит в том, что в наборе обучающих данных 464 класса по сравнению с 683 в наборе проверочных данных. Таким образом, когда я запускаю:
model.fit_generator(
train_datagen,
steps_per_epoch = STEP_SIZE_TRAIN,
epochs = EPOCHS,
verbose = 1,
callbacks = [cp_callback, cp_tensorboard],
validation_data = val_datagen,
validation_freq = 2
)
, я получаю ошибку
ValueError: Error when checking target: expected dense_2 to have shape (464,) but got array with shape (683,)
Это имеет смысл; модель, обученная на тренировочном наборе, не может оценить классы, для которых у нее нет узлов. Тем не менее, возможно ли изменить мою модель или разделение набора данных для решения этой проблемы?
В качестве альтернативы, есть ли способ использовать validation_split с генераторами данных, позволяющий мне проверять, не касаясь отдельного набора данных?