python - 如何在 Google Colab 中的另一个虚拟机上拍摄和恢复模型训练的快照?

标签 python tensorflow deep-learning pytorch google-colaboratory

有12小时time limit根据 google colab 的说法,用于在 GPU 上训练 DL 模型。其他人也有类似的questions过去,当超过 12 小时限制时,如何在训练中途保存和加载模型,包括保存已完成的 epoch 数量/保存其他参数,还没有明确的答案。是否有一个自动脚本可以让我保存相关参数并在另一台虚拟机上恢复操作?我是一个十足的菜鸟;明确的答案将不胜感激。

最佳答案

据我所知,只要达到 12 小时限制,就无法自动重新连接到另一个虚拟机。所以无论如何,时间到了你都得手动重新连接。

正如 Bob Smith 指出的那样,您可以在 Colab VM 中安装 Google Drive,以便可以从那里保存和加载数据。特别是,您可以定期保存模型检查点,以便在连接到新的 Colab 虚拟机时加载最新的检查点。

  1. 在 Colab 虚拟机中安装驱动器:

    from google.colab import drive
    drive.mount('/content/gdrive')
    
  2. 在图表中创建一个saver:

    saver = tf.train.Saver()
    
  3. 定期(例如每个时期)在云端硬盘中保存检查点:

    saver.save(session, CHECKPOINT_PATH)
    

当您连接到新的 Colab VM 时(由于超时),请在 VM 中再次装载 Drive 并恢复训练阶段之前的最新检查点:

saver.restore(session, CHECKPOINT_PATH)
...
# Start training with the restored model.

看看documentation了解有关 tf.train.Saver 的更多信息。

关于python - 如何在 Google Colab 中的另一个虚拟机上拍摄和恢复模型训练的快照?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52710348/

相关文章:

python - 在 Spark Dataframe 中选择一系列列

python - 过滤不静音视频ffmpeg-python

python - 如何使用 tf.py_function 在 map 函数内将张量转换为 numpy 数组

python - 获取 Tensorflow 中线性回归的系数

python - 如何创建 Python/Django Egg?

python - Tensorflow - 数据维度、占位符

python - 如何使 Keras 神经网络在 Iris 数据上优于逻辑回归

deep-learning - Caffe快照: . SolverState与.CaffeModel

machine-learning - 在测试阶段计算数据 block 的平均值

python - PyQt - 如何用 sip API 2 替换 QString