如何获得培训损失的价值

时间:2019-02-20 18:25:04

标签: tensorflow

我正在比较基于Tensorflow Probability Variational Auto-encoder on MNIST的不同系统上的Tensorflow。标准是训练时间,训练损失和评估损失。我可以使用apply plugin: 'com.google.gms.google-services' 获得运行时间,并且评估数据集上的损失已经在代码中:

time.time()

由于训练失败,我尝试了this thread

for _ in range(FLAGS.max_steps // FLAGS.viz_steps):
    estimator.train(train_input_fn, steps=FLAGS.viz_steps)
    eval_results = estimator.evaluate(eval_input_fn)
    print("Evaluation_results:\n\t%s\n" % eval_results)

但是由于training_loss = float(tf.get_default_graph().get_collection(tf.GraphKeys.LOSSES)[0]) 是一个空列表(即使它在提前停止的钩子内起作用),因此失败IndexError: list index out of range

我还可以构建一个输入函数来返回训练数据,但是由于训练数据被混洗,因此它不会与造成训练损失的数据完全相同:

tf.get_default_graph().get_collection(tf.GraphKeys.LOSSES)

每次分段训练后如何获得训练损失?

0 个答案:

没有答案