I отделка модель тренировка обработка. Во время обучения я использовал ModelCheckpint для сохранения веса лучшей модели с помощью:keras: загрузить сохраненную модель весов в модели для оценки
checkpoint = ModelCheckpoint(filepath, monitor='val_acc', verbose=1,
save_best_only=True, mode='max')
После тренировки я загрузить модели весов в к модели для оценки, но я обнаружил, что модель не дает лучшую точность наблюдаемой во время обучения. Я перезагрузить модель следующим образом:
model.load_weights(filepath) #load saved weights
model = Sequential()
model.add(Convolution2D(32, 7, 7, input_shape=(3, 128, 128)))
....
....
model.compile(loss='categorical_crossentropy',
optimizer=sgd,
metrics=['accuracy'])
#evaluate the model
scores = model.evaluate_generator(test_generator,val_samples)
print("Accuracy = ", scores[1])
Самая высокая точность спасена Modelcheckpoint составляет около 85%, но перекомпилировано модель дает только точность 16%?
Есть ли что-то не так, что я делаю?
Чтобы быть в безопасности, есть ли способ напрямую сохранить лучшую модель, а не вес модели?
Что вы подразумеваете под словом сохранения лучшей модели во время обучения? Модель не меняется во время обучения |: любой способ, если вы хотите это сделать ... вы можете использовать флаг save_weights_only = False, и он сохранит модель каждой эпохи ... Вы напомнили мне о вопросе, который я задал: https://stackoverflow.com/questions/48139494/tensorflow-keras-modelcheckpoint-saving-model-while-training-why –