gpt4 book ai didi

machine-learning - 如何获取 Tensorflow 训练过程中的误差值?

转载 作者:行者123 更新时间:2023-11-30 08:52:22 26 4
gpt4 key购买 nike

在 TensorFlow MNIST 初学者教程中,代码摘录如下:

cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)
sess = tf.Session()
sess.run(init)

#-----training loop starts here-----
for i in range(1000):
batch_xs, batch_ys = mnist.train.next_batch(100)
sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})

是否可以在循环内访问/检索 cross_entropy 误差、权重和偏差的值?我想绘制误差,可能还有权重的直方图。

谢谢!

最佳答案

正如有人所说,TensorBoard 就是用于此目的的。

在这里我可以告诉你如何做。

首先,让我们定义一个函数来记录张量的最小值、最大值、平均值和标准偏差。

def variable_summaries(var, name):

with tf.name_scope("summaries"):
mean = tf.reduce_mean(var)
tf.scalar_summary('mean/' + name, mean)

with tf.name_scope('stddev'):
stddev = tf.sqrt(tf.reduce_sum(tf.square(var - mean)))

tf.scalar_summary('stddev/' + name, stddev)
tf.scalar_summary('max/' + name, tf.reduce_max(var))
tf.scalar_summary('min/' + name, tf.reduce_min(var))
tf.histogram_summary(name, var)

然后,在构建如下图后创建汇总操作。此代码使用交叉熵将第一层的权重和偏差保存在“mnist_tf_log”目录中。

variable_summaries(W_fc1, "W_fc1")
variable_summaries(b_fc1, "b_fc1")
tf.scalar_summary("cross_entropy:", cross_entropy)

summary_op = tf.merge_all_summaries()
summary_writer = tf.train.SummaryWriter("mnist_tf_log", graph_def=sess.graph)

现在一切都准备好了。您可以通过返回summary_op 并将其传递给summary_writer 来记录这些数据。

以下是记录每 10 个训练步骤的示例。

for i in range(1000):
batch_xs, batch_ys = mnist.train.next_batch(100)
if i % 10 == 0:
_, summary_str = sess.run( [train_step, summary_op], feed_dict={x: batch_xs, y_: batch_ys})
summary_writer.add_summary(summary_str, i)
summary_writer.flush()
else:
sess.run( train_step, feed_dict={x: batch_xs, y_: batch_ys})

运行代码后执行 TensorBoard。

python /path/to/tensorboard/tensorboard.py --logdir=mnist_tf_log

然后打开http://localhost:6006就可以看到结果使用您的网络浏览器。

enter image description here

关于machine-learning - 如何获取 Tensorflow 训练过程中的误差值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38008512/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com