Я хочу использовать keras.applications.resnet50
для обучения Resnet для решения проблемы двух классов, используя следующую настройку:
from keras.layers import Dropout, Flatten, Dense
from keras.applications.resnet50 import ResNet50
from keras.models import Model
resNet = ResNet50(include_top=False, weights=None)
y = resNet.output
y = Flatten()(y)
y = Dense(2, activation='softmax')(y)
model = Model(inputs=resNet.input, outputs=y)
opt = keras.optimizers.Adam()
model.compile(optimizer=opt, loss='categorical_crossentropy', metrics=['accuracy'])
epochs = 15
model.fit(train_tensors, train_targets,
validation_data=(valid_tensors, valid_targets),
epochs=epochs, batch_size=10, callbacks=[checkpointer], verbose=1)
Запуск кода приводит к ошибке
Exception: The shape of the input to "Flatten" is not fully defined
Так чтоДолжно быть что-то не так с входным тензором для выходного слоя, который в моем случае является закодированным вектором с одной горячей точкой, то есть одномерным массивом размера 2. Что я делаю не так?