如何在Google Colab中的另一台VM上拍摄和恢复模型训练的快照?

时间:2018-10-08 21:27:51

标签: python tensorflow deep-learning pytorch google-colaboratory

根据Google colab的说法,在GPU上训练DL模型需要12小时time limit。过去,其他人也有类似的questions,但是对于在超过12小时的限制后如何保存和加载模型的培训尚无明确答案,包括保存已完成的纪元数/保存其他参数。是否有自动脚本可以保存相关参数并在另一台VM上恢复操作?我是个菜鸟。明确的答案将不胜感激。

3 个答案:

答案 0 :(得分:0)

安装驱动器,并从那里保存和加载持久数据。

from google.colab import drive
drive.mount('/content/gdrive')

https://colab.research.google.com/notebooks/io.ipynb#scrollTo=RWSJpsyKqHjH

答案 1 :(得分:0)

据我所知,只要您达到12小时的限制,就无法自动重新连接到另一个VM。因此,无论如何,您都必须在时间到时手动重新连接。

正如鲍勃·史密斯(Bob Smith)指出的那样,您可以在Colab VM中挂载Google云端硬盘,以便可以从那里保存和加载数据。特别是,您可以定期保存模型检查点,以便在连接到新的Colab VM时可以加载最新的检查点。

  1. 在Colab VM中安装驱动器:

    var str = '000201021642333310011114235204546757034445802IN5910My Company6005Vegas6304bb02';
    var headerLength = 6; // assuming header length is always 6
    var header = str.substring(0, 6);
    
    var tags = [];
    
    // start after header
    var i = 6;
    while (i < str.length) {
        var tag = str.substring(i, i + 2);
        i += 2;
        var valueLength = Number(str.substring(i, i + 2));
        i += 2;
        var value = str.substring(i, i + valueLength);
        i += valueLength;
        tags.push({tag: tag, value: value});
    }
    
  2. 在图形中创建一个from google.colab import drive drive.mount('/content/gdrive')

    saver
  3. 定期(例如,每个纪元)将检查点保存在云端硬盘中:

    saver = tf.train.Saver()
    

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

saver.save(session, CHECKPOINT_PATH)

看看documentation,以了解有关saver.restore(session, CHECKPOINT_PATH) ... # Start training with the restored model. 的更多信息。

答案 2 :(得分:0)

您可以从colab访问github,从而可以将模型检查点定期保存到github。会话结束后,您可以启动另一个会话并从github存储库中加载检查点。