【发布时间】:2017-04-13 07:25:04
【问题描述】:
我正在用 tensorflow 编写神经网络代码。我做到了每 1000 个 epoch 保存一次变量。所以,我希望为不同的文件保存第 1001 个纪元、第 2001 个纪元、第 3001 个纪元……的变量。 下面的代码是我做的保存功能。
def save(self, epoch):
model_name = "MODEL_save"
checkpoint_dir = os.path.join(model_name)
if not os.path.exists(checkpoint_dir):
os.makedirs(checkpoint_dir)
self.saver.save(self.sess, checkpoint_dir + '/model', global_step=epoch)
self.saver.save(self.sess, checkpoint_dir + '/model')
print("path for saved %s" % checkpoint_dir)
一旦调用该函数,我将这段代码保存两次。因为我想通过使用“global_step=epoch”来保存每 1000 个 epoch 的变量历史记录。并且想在没有指定纪元的情况下将最新的变量保存在文件中。 每当满足纪元条件时,我都会调用此函数,如下所示。
for epoch in xrange(self.m_total_epoch):
.... CODE FOR NEURAL NETWORK ....
if epoch%1000 == 1 and epoch != 1:
self.save(epoch)
假设当前纪元是 29326,我希望目录中所有保存的文件从 1001、2001、3001 ... 29001。但是,只有部分文件来自 26001、27001、28001、29001。我检查了它是否发生在其他电脑。这与我的预期不同。为什么会发生?
【问题讨论】:
标签: python tensorflow neural-network