Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tensorflow保护程序似乎覆盖了已保存的现有变量文件_Python_Tensorflow_Neural Network - Fatal编程技术网

Python Tensorflow保护程序似乎覆盖了已保存的现有变量文件

Python Tensorflow保护程序似乎覆盖了已保存的现有变量文件,python,tensorflow,neural-network,Python,Tensorflow,Neural Network,我正在用tensorflow编写神经网络代码。我做到了每1000个历元保存一次变量。所以,我希望保存1001个历元、2001个历元、3001个历元的变量。。。对于不同的文件。 下面的代码是我制作的save函数 def save(self, epoch): model_name = "MODEL_save" checkpoint_dir = os.path.join(model_name) if not os.path.exists(checkpoint_dir):

我正在用tensorflow编写神经网络代码。我做到了每1000个历元保存一次变量。所以,我希望保存1001个历元、2001个历元、3001个历元的变量。。。对于不同的文件。 下面的代码是我制作的save函数

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个历元保存变量的历史记录。并希望在文件中保存最新变量,而不指定历元。 只要满足如下所示的历元条件,我就调用这个函数

for epoch in xrange(self.m_total_epoch):

    .... CODE FOR NEURAL NETWORK ....

    if epoch%1000 == 1 and epoch != 1:
        self.save(epoch)

假设当前epoch是29326,我希望目录中所有保存的文件都是10012001。。。29001但是,只有来自26001、27001、28001、29001的部分文件。我在其他电脑上查过了。这和我预料的不一样。为什么会这样

tf.train.Saver
在其构造函数中有一个
max\u to\u keep
参数,它只保存最新的模型。这个
max_to_keep
参数的默认值是5,这有点令人惊讶。因此,默认情况下,您将只拥有最新的5个型号

要保留所有型号,请将此变量设置为
None

saver = tf.train.Saver(max_to_keep=None)

max\u to\u keep
为5时,如何仅加载上次保存的变量?