1

我目前正在尝试使用 keras Tuner 为我的 CNN 创建一个模型,尽管我在保存模型以供将来使用时遇到了一些问题。

正如我习惯的那样,我可以定期保存我的模型model.save(filename)以接收.model文件;但是,当尝试使用以下代码进行此操作时:

tuner = RandomSearch(
    build_model,
    objective = "val_accuracy",
    max_trials = 5,
    executions_per_trial = 1,
    directory = LOG_DIR
)

tuner.search(x= x_train, y= y_train, epochs= 1, batch_size=64, validation_data= (x_test, y_test))

bestModels = tuner.get_best_models(num_models=1)
highestScoreModel= models[0]

highestScoreModel.fit(x=x_train, y=y_train, batch_size=64, epochs=5, verbose=1, validation_split=0.2)

highestScoreModel.save("Trained_Model")

我收到了一个Trained_Model文件夹,里面没有模型,只有参数。如果有人可以帮助我保存实际经过训练的模型,我将不胜感激。

================= 编辑/更新 ================

我现在找到了一种通过筛选生成的试用文件来获取 trial_id 的方法。虽然,当我运行时:

trial_id = getID()
tuner.save_model(trial_id=trial_id, model=highestScoreModel, step=0)

似乎什么也没发生,没有保存文件出现。再次,我将不胜感激在这件事上的任何帮助。

4

1 回答 1

1

尝试这个

Tuner.save_model(trial_id, model, step=0)

在哪里

  • trial_id是您的型号试用号
  • model是你训练有素的模型
  • 并且step是纪元数
于 2021-03-07T22:30:37.773 回答