【发布时间】:2019-06-15 19:37:10
【问题描述】:
我正在使用 Google Colab 用 60 个 epoch 训练我的 3D 卷积神经网络,但是当它达到 57 个 epoch 时,我的会话就结束了。重新连接后,训练从 epoch 1 开始。
我在 Google Colaboratory 上的会话结束后,我应该如何在未完成的 epoch 上训练我的模型?
【问题讨论】:
我正在使用 Google Colab 用 60 个 epoch 训练我的 3D 卷积神经网络,但是当它达到 57 个 epoch 时,我的会话就结束了。重新连接后,训练从 epoch 1 开始。
我在 Google Colaboratory 上的会话结束后,我应该如何在未完成的 epoch 上训练我的模型?
【问题讨论】:
您必须在一段时间后保存检查点。如果您的 epoch 执行速度很快,您可以在 5-10 个 epoch 后保存模型,否则在每个 epoch 后保存。并检查代码以重新阅读最新的检查点(基于一些命名约定)。现在这有什么问题。
- 由于这是 Collaboratory 并且它是免费的,因此他们不会为您提供专用的 GPU 实例,因此它可以随时断开连接 刷新浏览器/关闭浏览器/失去互联网连接等。
- 这样就可以分配给您的临时存储空间了。
- 此外,协作室为您的数据和模型提供了一些有限的存储空间。
因此,您需要将检查点保存在一些“持久”存储中。 Collaboratory 支持 google drive。您可以检查如何在此处保存文件。 此外,您还必须检查如何从那里读取。
或者,如果您正在寻找替代方案。 AWS 现货实例可能是一个合理的选择(不管它是付费的,如果你可以从某个地方获得一些学生学分,你可以使用它)。顺便提一下,Colab 也是 Google 的一个 Spot 实例。您也可以访问 www.crestle.com,每小时 3 美分。
【讨论】:
Colaboratory 的FAQ 包括以下声明:
- 什么是 Colaboratory? Colaboratory 是一种用于机器学习教育和研究的研究工具。
- Colaboratory 旨在用于交互式使用。长期运行的背景 可能会停止计算,尤其是在 GPU 上。 ... 我们鼓励 希望通过以下方式运行连续或长时间运行计算的用户 Colaboratory 的 UI 使用 local runtime。
训练 ML 模型通常需要长时间运行的计算。所以我正在考虑的选项是:
选项 3 可能是最容易上手的,因为您在 Colaboratory 上的培训几乎完成了。这取决于您使用的是什么库,以及它们是否支持。
如果您正在运行更大的计算,请考虑使用本地运行时或 DataLab。
【讨论】: