【问题标题】:How do you save progress during a Keras Tuner run?如何在 Keras Tuner 运行期间保存进度?
【发布时间】:2021-07-13 07:45:23
【问题描述】:

我目前正在使用免费的 Google Colab 实例上的 Keras Tuner 浏览更大的搜索空间。由于使用限制,我的搜索运行将在完成之前中断。我想定期保存我的搜索进度以防出现这些中断,并在 Colab 资源再次可供我使用时从上一个检查点恢复。 我找到了有关如何从运行中保存特定模型的文档,但我想保存整个搜索状态,包括已经尝试过的内容以及这些实验的结果。

我可以直接调用Tuner.get_state(),保存结果,然后从我离开Tuner.set_state() 的地方继续吗?还是有别的办法?

【问题讨论】:

    标签: tensorflow keras deep-learning keras-tuner


    【解决方案1】:

    您无需致电tuner.get_state()tuner.set_state()。在实例化Tuner 时,说RandomSearch,如example 中所述,

    # While creating the tuner for the first time
    tuner = RandomSearch(
        build_model,
        objective="val_accuracy",
        max_trials=3,
        executions_per_trial=2,
        directory="my_dir",
        project_name="helloworld",
    )
    

    您需要设置参数directoryproject_name。检查点保存在此目录中。您可以将此目录保存为 ZIP 文件并使用 files.download() 下载。

    当您获得一个新的 Colab 实例时,解压缩该存档并恢复 my_dir 目录。再次使用,实例化Tuner

    # While loading the Tuner
    tuner = RandomSearch(
        build_model,
        objective="val_accuracy",
        max_trials=3,
        executions_per_trial=2,
        directory="my_dir", # <----- Use the directory as you did earlier
        overwrite=False, # <------- 
        project_name="helloworld",
    )
    

    现在开始搜索,您会注意到best params so far 没有改变。此外,tuner.results_summary() 返回所有搜索结果。

    请参阅Tunerhere 的文档。

    【讨论】:

    • 谢谢!一周前阅读文档描述“目录:一个字符串,工作目录的相对路径”。没有提供足够的信息来说明如何处理它。有了你的答案,现在似乎很明显了。
    猜你喜欢
    • 1970-01-01
    • 2021-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-23
    • 2021-03-14
    • 2021-12-28
    • 1970-01-01
    相关资源
    最近更新 更多