Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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
Tensorflow未保存所需的模型_Tensorflow - Fatal编程技术网

Tensorflow未保存所需的模型

Tensorflow未保存所需的模型,tensorflow,Tensorflow,我要求tensorflow在每个历元中每100次迭代保存一次模型,下面是我的代码。但经过900次迭代后,只保存了第500、600、700、800和900次迭代的训练模型 with tf.Session(config = tf.ConfigProto(log_device_placement = True)) as sess: sess.run(init_op) for i in range(args.num_epochs): start_time = time

我要求tensorflow在每个历元中每100次迭代保存一次模型,下面是我的代码。但经过900次迭代后,只保存了第500、600、700、800和900次迭代的训练模型

with tf.Session(config = tf.ConfigProto(log_device_placement = True)) as sess:

    sess.run(init_op)

    for i in range(args.num_epochs):
        start_time = time.time()
        k = 0
        acc_train = 0
        # initialize the iterator to train_dataset
        sess.run(train_init_op)
        while True:
            try:
                accu, l, _ = sess.run([accuracy, loss, optimizer], feed_dict = {training: True})
                k += 1
                acc_train += accu
                if k % 100 == 0:
                    print('Epoch: {}, step: {}, training loss: {:.3f}, training accuracy: {:.2f}%'.format(i, k, l, accu * 100))
                    saver.save(sess, args.saved_model_path, global_step = (i+1) * k)
            except tf.errors.OutOfRangeError:
                break
以下是培训精度:

历元:0,步长:100,训练损失:0.669,训练准确率:59.38%

历元:0,步长:200,训练损失:0.806,训练准确率:54.69%

历元:0,步长:300,训练损失:0.781,训练准确率:57.81%

历元:0,步长:400,训练损失:0.725,训练准确率:64.06%

历元:0,步长:500,训练损失:0.347,训练准确率:89.06%

历元:0,步长:600,训练损失:0.193,训练准确率:89.06%

历元:0,步长:700,训练损失:0.003,训练准确率:100.00%

历元:0,步长:800,训练损失:0.190,训练准确率:98.44%

历元:0,步长:900,训练损失:0.009,训练准确率:100.00%


我的问题是为什么tensorflow没有为第100、200、300、400次迭代保存模型?谢谢大家!

确实如此,但我猜您创建的实例的默认值为
max\u keep
值为5,因此它在创建最后5个实例时重写了它们。要保留10,请将您的保护程序创建行更改为

saver = tf.train.Saver(max_keep=10)

如果不想保存-every-one,您可能还想使用
keep\u checkpoint\u every\n\u hours
参数。

确实如此,但我猜您创建的实例的默认
max\u keep
值为5,因此在创建最后5个实例时,它会重写它们。要保留10,请将您的保护程序创建行更改为

saver = tf.train.Saver(max_keep=10)

如果您不想保存-every-one,您可能还需要使用
keep\u checkpoint\u every\n\u hours
参数。

谢谢您的回复。我刚查过。默认情况下,它只保留5个检查点。谢谢你的回复。我刚查过。默认情况下,它只保留5个检查点。最大保存时间=5个可能的副本