#python #tensorflow #keras
#python #tensorflow #keras
Вопрос:
Я обучил модель и сохранил ее в формате .h5. когда я использовал тот же файл, обучил модель, сохранил ее и загрузил, это дало хорошую точность, например, 84%. Но когда я использовал код только для загрузки модели и использовал его для оценки тестовых данных, точность была очень низкой, примерно 1,004%. Я не могу понять причину этого.
history=model.fit([x1, x2], y,
epochs=1,
batch_size=256,
shuffle = False,
verbose = 1,
validation_split=0.2,
class_wei&ht=custom_wei&ht_dict,
callbacks=[early_stoppin&_cb]
)
model.save('my_models/model_context1.h5')
Затем я использовал следующий код для загрузки сохраненной модели и оценки ее по тестовым данным.
model=load_model("my_models/model_context1.h5")
print(model.summary())
score = model.evaluate([x1_test, x2_test], y_test)
print("Accuracy after loadin& Model:", score[1]*100)
Что не так с тем, как я пытаюсь оценить точность обученной модели по тестовым данным? и использование сохраненного файла .h5.
Комментарии:
1. пожалуйста, покажите код, который вы использовали для сохранения модели.
2. Я добавил способ сохранения модели с помощью команды model.save.
Ответ №1:
Я подозреваю, что это связано с тем, что если вы использовали model.save по умолчанию, он сохраняет его в так называемом формате SavedModel. Это отличается от формата .h5.Чтобы сохранить их в формате .h5, вы передаете save_format=’h5 в model.save или передаете ему имя файла, которое заканчивается на .h5. Документация находится здесь..Смотрите пример. Формат SavedModel является предпочтительным форматом, поэтому я бы посоветовал вам использовать его, поскольку в конечном итоге они обесценят формат .h5.
Комментарии:
1. Я использовал
model.save('my_models/model_context1.h5')
, и это именно то, что говорится в документации, либо save_format=’h5′, либо передать имя файла, заканчивающееся на.h5.2. да, все выглядит нормально. Как вы загружаете тестовые данные? Используете ли вы Ima&eDataGenerator? Вы уверены, что представляете данные точно таким же образом как для случаев no train, так и для retrain.?