根据Google colab的说法,在GPU上训练DL模型需要12小时time limit。过去,其他人也有类似的questions,但是对于在超过12小时的限制后如何保存和加载模型的培训尚无明确答案,包括保存已完成的纪元数/保存其他参数。是否有自动脚本可以保存相关参数并在另一台VM上恢复操作?我是个菜鸟。明确的答案将不胜感激。
答案 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时可以加载最新的检查点。
在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});
}
在图形中创建一个from google.colab import drive
drive.mount('/content/gdrive')
:
saver
定期(例如,每个纪元)将检查点保存在云端硬盘中:
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存储库中加载检查点。