- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在尝试学习如何使用 tensorflow 和 tensorboard。我有一个基于 MNIST neural net tutorial 的测试项目.
在我的代码中,我构建了一个节点,用于计算数据集中正确分类的数字比例,如下所示:
correct = tf.nn.in_top_k(self._logits, labels, 1)
correct = tf.to_float(correct)
accuracy = tf.reduce_mean(correct)
这里,self._logits
是图的推理部分,labels
是包含正确标签的占位符。
现在,我想做的是在训练进行时评估训练集和验证集的准确性。我可以通过使用不同的 feed_dicts 两次运行准确度节点来做到这一点:
train_acc = tf.run(accuracy, feed_dict={images : training_set.images, labels : training_set.labels})
valid_acc = tf.run(accuracy, feed_dict={images : validation_set.images, labels : validation_set.labels})
这按预期工作。我可以打印这些值,我可以看到,最初,两个准确度都会增加,最终验证准确度会趋于平缓,而训练准确度会不断增加。
但是,我也想在 tensorboard 中获取这些值的图表,但我不知道如何做到这一点。如果我只是将 scalar_summary
添加到 accuracy
,则记录的值将无法区分训练集和验证集。
我还尝试创建两个具有不同名称的相同 accuracy
节点,并在训练集和验证集上运行一个。然后,我将 scalar_summary
添加到每个节点。这确实在张量板上给了我两张图,但不是一张显示训练集准确度的图和一张显示验证集准确度的图,它们都显示了与打印到终端中的任何一个都不匹配的相同值。
我可能误解了如何解决这个问题。针对不同输入分别记录单个节点的输出的推荐方法是什么?
最佳答案
有几种不同的方法可以实现这一点,但创建不同的 tf.summary.scalar()
是正确的。节点。由于您必须显式调用 SummaryWriter.add_summary()
每次您想将数量记录到事件文件时,最简单的方法可能是每次您想获得训练或验证准确性时获取适当的摘要节点:
accuracy = tf.reduce_mean(correct)
training_summary = tf.summary.scalar("training_accuracy", accuracy)
validation_summary = tf.summary.scalar("validation_accuracy", accuracy)
summary_writer = tf.summary.FileWriter(...)
for step in xrange(NUM_STEPS):
# Perform a training step....
if step % LOG_PERIOD == 0:
# To log training accuracy.
train_acc, train_summ = sess.run(
[accuracy, training_summary],
feed_dict={images : training_set.images, labels : training_set.labels})
writer.add_summary(train_summ, step)
# To log validation accuracy.
valid_acc, valid_summ = sess.run(
[accuracy, validation_summary],
feed_dict={images : validation_set.images, labels : validation_set.labels})
writer.add_summary(valid_summ, step)
或者,您可以创建一个标签为 tf.placeholder(tf.string, [])
的摘要操作。并根据需要输入字符串 "training_accuracy"
或 "validation_accuracy"
。
关于python - 在张量板上记录训练和验证损失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34471563/
我按照此处描述的步骤从源代码在 MacBook Pro 10.12.5 上安装了 TensorFlow。 https://www.tensorflow.org/install/install_sour
大家。我一直坚持在 pytorch 中使用 tensorboard。关键是 add_embedding 方法会产生如下错误: Traceback (most recent call last):
问题陈述 运行具有多种配置的模型并比较图表。根据绘图分析,选择配置。 在上面的语句中,我能够使用模型的名称来绘制模型的多次运行。现在我还需要 Tensorboard 来显示每次运行的模型配置/摘要。
我正在使用 Google Colab 训练用于对象检测的神经网络。我想可视化学习过程,但每次我尝试访问张量板时,它都会向我显示以下内容: 当前数据集没有处于事件状态的仪表板。可能的原因: - 您尚未将
我正在尝试学习和使用 tensorboard 并关注 these guideline codes进行了一些修改。 当我运行代码时 model.fit(x=x_train, y=y_
我刚刚安装了基于 tf.__version__ = 1.14 的新环境。 以下是我配置张量板的方式: tensorboard = \ tf.keras.callbacks.TensorBoar
所以我在 keras 中使用张量板。在 tensorflow 中,可以对训练和验证标量使用两个不同的摘要编写器,以便 tensorboard 可以将它们绘制在同一图中。类似于 图在 TensorBoa
我是一名优秀的程序员,十分优秀!