Я пытаюсь изучить синтаксис Keras и играть с Вводным примером v3
У меня есть 4-классная многоклассовая игрушка для классификации, поэтому я изменил следующие строки из примера:
NB_CLASS = 4 # number of classes
DIM_ORDERING = 'tf' # 'th' (channels, width, height) or 'tf' (width, height, channels)
Мои наборы игрушек имеют следующие размеры:
- Размер массива, содержащий все изображения: (595, 299, 299, 3)
- Размер массива, содержащего учебные изображения: (416, 299, 299, 3)
- Размер массива, содержащего метки тренировки: (179, 4)
- Размер массива, содержащего тестовые изображения: (179, 299, 299, 3)
- Размер массива, содержащий тестовые метки: (179, 4)
Затем я попытаюсь обучить модель следующим кодом:
# fit the model on the batches generated by datagen.flow()
# https://github.com/fchollet/keras/issues/1627
# http://keras.io/models/sequential/#sequential-model-methods
checkpointer = ModelCheckpoint(filepath="/tmp/weights.hdf5", verbose=1, save_best_only=True)
model.fit_generator(datagen.flow(X_train, Y_train,
batch_size=32),
nb_epoch=10,
samples_per_epoch=32,
class_weight=None, #classWeights,
verbose=2,
validation_data=(X_test, Y_test),
callbacks=[checkpointer])
Затем я получаю следующую ошибку:
Exception: The model expects 2 input arrays, but only received one array. Found: array with shape (179, 4)`
Скорее всего, это связано с тем, что Inception хотел бы иметь вспомогательные классификаторы (Szegedy et al., 2014):
model = Model(input=img_input, output=[preds, aux_preds])
Как присвоить две метки методу в Keras, не являющемся продвинутым программистом на Python?