我没有 GPU 支持,所以我的模型经常需要几个小时来训练。我可以分批训练我的模型吗?例如,如果我想为我的模型设置 100 个 epoch,但是由于断电,我的训练停止(在第 50 个 epoch),但是当我重新训练我的模型时,我想从它离开的地方训练它(从第 50 个时代开始)。
如果有人可以通过一些例子来解释它,将不胜感激。
我没有 GPU 支持,所以我的模型经常需要几个小时来训练。我可以分批训练我的模型吗?例如,如果我想为我的模型设置 100 个 epoch,但是由于断电,我的训练停止(在第 50 个 epoch),但是当我重新训练我的模型时,我想从它离开的地方训练它(从第 50 个时代开始)。
如果有人可以通过一些例子来解释它,将不胜感激。
使用 tensorflow,目前为您的模型获得持久性的最直接和最简单的方法是使用tf.train.MonitoredTrainingSession. 您只需要使用它来代替tf.Session()经常使用的正常。这是一个说明性的 Python 片段:
with tf.train.MonitoredTrainingSession(checkpoint_dir='/tmp/mymodel',
save_summaries_secs=600) as sess:
_ = sess.run(train_op, feed_dict={...})
这样,您的模型会每 600 秒自动保存一次,/tmp/mymodel并在您下次重新启动程序时恢复。