Я новичок в углубленном изучении Keras, и у меня возникли проблемы с обучением "densenet121", включенным в число приложений Keras. Используемые данные - это изображения размером 28x28 в градациях серого .png, которые я загружаю с помощью Image_generator (). Flow_from_directory (), где я изменяю их размер до 32x32 и преобразую их в RGB, поскольку, насколько я понимаю, минимальный входной размер для DenseNet121 составляет 32x32x3. Тем не менее, я все еще получаю следующую ошибку при вызове model.fit ():
ValueError: Ошибка при проверке цели: ожидалось, что у relu будет 4 измерения, но получен массив с формой (32, 10)
Ниже приведен код, используемый.
model = DenseNet121(weights='imagenet', include_top=False, input_shape=(32, 32, 3))
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
training_batches = ImageDataGenerator().flow_from_directory(directory=DATADIR_TRAIN, target_size=(32, 32), color_mode='rgb', classes=CATEGORIES)
testing_batches = ImageDataGenerator().flow_from_directory(directory=DATADIR_TEST, target_size=(32, 32), color_mode='rgb', classes=CATEGORIES)
model.fit_generator(training_batches, verbose=2, epochs=5)
val_loss, val_acc = model.evaluate_generator(testing_batches)
print(val_loss, val_acc)
Где я все испортил?