在Google Colaboratory中长时间运行的会话结束后,如何用剩余的时间训练模型?

时间:2019-01-28 12:25:42

标签: google-colaboratory

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

在Google Colaboratory上的会话结束后,我应该怎么做才能在未完成的时期训练我的模型?

2 个答案:

答案 0 :(得分:1)

一定间隔后,您将必须保存检查点。如果您的纪元执行得很快,则可以在5-10个纪元后保存模型,否则在每个纪元后保存模型。并检查出代码以重新读取最新的检查点(基于某些命名约定)。现在这有什么问题。

  
      
  1. 由于这是协作且免费的,因此它们不会为您提供专用的GPU实例,因此您可以随时断开连接   刷新浏览器/关闭浏览器/断开互联网连接等。
  2.   
  3. 这将为您分配临时存储空间。
  4.   
  5. 加上合作伙伴,您可以为数据和模型提供有限的存储量。
  6.   

因此,您需要将检查点保存在某些“永久”存储上。协作支持Google Drive。您可以检查如何将文件保存在那里。 另外,您还必须检查如何从那里阅读。

或者如果您正在寻找其他选择。 AWS竞价型实例可以是一个合理的选择(无论如何付款,如果您可以从某个地方获得一些学生学分,就可以使用它)。只需提一下,Colab还是Google的现场实例。您也可以访问www.crestle.com,每小时花费3美分。

答案 1 :(得分:0)

协作的FAQ包含以下语句:

  
      
  1. 什么是协作实验室?协作实验室是用于机器学习教育和研究的研究工具。
  2.   
  3. 协作室旨在用于交互使用。长期运行的背景   尤其是在GPU上的计算可能会停止。 ... 我们鼓励   希望通过运行连续或长期运行的计算的用户   合作实验室的用户界面,以使用local runtime
  4.   

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

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

鉴于您的协作培训几乎已经完成,选择3可能是最容易上手的。这取决于您使用的是什么库,以及它们是否支持此库。

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