不仅要运行training_step,还要运行cross_entropy节点,以便将其值返回给您。请记住:
var_as_a_python_value = sess.run(tensorflow_variable)
会给你想要的东西,所以你可以这样做:
[_, cross_entropy_py] = sess.run([train_step, cross_entropy],
feed_dict={x: batch_xs, y_: batch_ys})
既可以进行训练,又可以提取出交叉熵在迭代过程中计算出的值。请注意,我同时将sess.run的参数和返回值都转换为列表,以便两者都发生。
0
我正在看TensorFlow“ MNIST对于ML初学者 ”教程,我想在每个训练步骤之后打印出训练损失。
我的训练循环目前看起来像这样:
现在,
train_step
定义为:其中
cross_entropy
是我要打印的损失:一种打印方法是在训练循环中显式计算
cross_entropy
:我现在有两个问题:
假设
cross_entropy
已在sess.run(train_step, ...)
期间计算出,sess.run(train_step, ...)
其计算两次效率低下,这需要所有训练数据的前向通过次数的两倍。是否有访问的价值的方式cross_entropy
时期间计算sess.run(train_step, ...)
我如何打印
tf.Variable
?使用str(cross_entropy)
给我一个错误...谢谢!