【问题标题】:How to train model with remaining epochs after long running session has ended in Google Colaboratory.?在 Google Colaboratory 中长时间运行会话结束后,如何用剩余的 epoch 训练模型。?
【发布时间】:2019-06-15 19:37:10
【问题描述】:

我正在使用 Google Colab 用 60 个 epoch 训练我的 3D 卷积神经网络,但是当它达到 57 个 epoch 时,我的会话就结束了。重新连接后,训练从 epoch 1 开始。

我在 Google Colaboratory 上的会话结束后,我应该如何在未完成的 epoch 上训练我的模型?

【问题讨论】:

    标签: google-colaboratory


    【解决方案1】:

    您必须在一段时间后保存检查点。如果您的 epoch 执行速度很快,您可以在 5-10 个 epoch 后保存模型,否则在每个 epoch 后保存。并检查代码以重新阅读最新的检查点(基于一些命名约定)。现在这有什么问题。

    1. 由于这是 Collaboratory 并且它是免费的,因此他们不会为您提供专用的 GPU 实例,因此它可以随时断开连接 刷新浏览器/关闭浏览器/失去互联网连接等。
    2. 这样就可以分配给您的临时存储空间了。
    3. 此外,协作室为您的数据和模型提供了一些有限的存储空间。

    因此,您需要将检查点保存在一些“持久”存储中。 Collaboratory 支持 google drive。您可以检查如何在此处保存文件。 此外,您还必须检查如何从那里读取。

    或者,如果您正在寻找替代方案。 AWS 现货实例可能是一个合理的选择(不管它是付费的,如果你可以从某个地方获得一些学生学分,你可以使用它)。顺便提一下,Colab 也是 Google 的一个 Spot 实例。您也可以访问 www.crestle.com,每小时 3 美分。

    【讨论】:

      【解决方案2】:

      Colaboratory 的FAQ 包括以下声明:

      1. 什么是 Colaboratory? Colaboratory 是一种用于机器学习教育和研究的研究工具。
      2. Colaboratory 旨在用于交互式使用。长期运行的背景 可能会停止计算,尤其是在 GPU 上。 ... 我们鼓励 希望通过以下方式运行连续或长时间运行计算的用户 Colaboratory 的 UI 使用 local runtime

      训练 ML 模型通常需要长时间运行的计算。所以我正在考虑的选项是:

      1. 按照建议使用local runtime。这可能是 Cloud VM 或您的笔记本电脑。
      2. 使用Cloud DataLab - 您可以控制(并支付)谷歌云中的虚拟机资源。
      3. 检查点每个时期并将检查点和权重保存到持久存储。请参阅I/O cookbook。如果 Notebook 已重置,则从检查点重新开始训练。

      选项 3 可能是最容易上手的,因为您在 Colaboratory 上的培训几乎完成了。这取决于您使用的是什么库,以及它们是否支持。

      如果您正在运行更大的计算,请考虑使用本地运行时或 DataLab。

      【讨论】:

        猜你喜欢
        • 2021-07-30
        • 1970-01-01
        • 2019-01-09
        • 1970-01-01
        • 1970-01-01
        • 2018-12-19
        • 2021-01-12
        • 1970-01-01
        • 2017-11-29
        相关资源
        最近更新 更多