当我在 Google Colab 上运行深度学习训练代码时,生成的权重和偏差是不是会保存在某个地方?

Posted

技术标签:

【中文标题】当我在 Google Colab 上运行深度学习训练代码时,生成的权重和偏差是不是会保存在某个地方?【英文标题】:When I run deep learning training code on Google Colab, do the resulting weights and biases get saved somewhere?当我在 Google Colab 上运行深度学习训练代码时,生成的权重和偏差是否会保存在某个地方? 【发布时间】:2020-04-25 03:03:28 【问题描述】:

我正在 Google Colab 笔记本上训练来自 this repository 的一些深度学习代码。培训正在进行中,似乎需要一两天时间。

我是深度学习的新手,但我的问题是:

一旦 Google Colab 笔记本完成了训练脚本的运行,这是否意味着生成的权重和偏差将被硬写入某个模型(在我的 Google Drive 上的存储库文件夹中),因此我可以然后在将来的任何时候对我喜欢的任何测试数据运行代码?或者,一旦我关闭 Google Colab 笔记本,我是否会丢失权重和偏差信息,并且如果我想使用神经网络,是否必须再次运行训练脚本?

我意识到这可能取决于脚本的详细信息(同样,存储库 is here),但我认为这些事情也可能有一种通用的方式。

任何有助于理解的帮助将不胜感激。

【问题讨论】:

您可以使用各种减重技术来减重。我不知道 colab 自己在节省权重,如果您使用 keras 可以使用 model.save_weights(Path),其他框架还有其他选项。否则开始使用随机状态。这就是我的建议 【参考方案1】:

; Colab 没有内置检查点;任何保存都必须由用户完成 - 因此除非存储库代码这样做,否则由您决定。

请注意,repo 需要弄清楚如何连接到远程服务器(或连接到本地设备)以进行数据传输;浏览其train.py,没有这样的事情。


如何保存模型?见this SO;对于最小版本 - 最常见且可靠的选择是将您的 Google Drive“挂载”到 Colab 上,并将保存/加载路径指向直接

from google.colab import drive
drive.mount('/content/drive') # this should trigger an authentication prompt
%cd '/content/drive/My Drive/'
# alternatively, %cd '/content/drive/My Drive/my_folder/'

例如,一旦 cd'd 进入我的驱动器中的 DL Code(见下文),您可以简单地执行 model.save("model0.h5"),这将在 DL Code 中创建 model0.h5,包含整个模型架构及其优化器。对于权重,请使用model.save_weights()

【讨论】:

代码使用 Pytorch 运行——保存模型的命令是否仅对 tensorflow 有效? @user1551817 是的,这是针对 TensorFlow/Keras - 不确定 Pytorch,但这是一个单独的问题;例如,参见here 在 PyTorch 中使用 torch.save(model)

以上是关于当我在 Google Colab 上运行深度学习训练代码时,生成的权重和偏差是不是会保存在某个地方?的主要内容,如果未能解决你的问题,请参考以下文章

pip 安装了 google.colab,现在无法在 Jupyter 笔记本上运行代码

在 Google Colab 上请求特定类型的 GPU

深入学习Google Colab:加载大型图像数据集的时间很长,如何加速这个过程?

使用GOOGLE COLAB训练深度学习模型

神经网络学习小记录70——Pytorch 使用Google Colab进行深度学习

google Colab 使用教程 免费GPU google Colaboratory 上运行 pytorch tensorboard