有没有办法在张量板上更改默认端口("6006"),这样我们可以打开多个张量板?也许像--port ="8008"这样的选项?
我在TensorFlow中使用不同的图形运行了几个训练课程.我设置的摘要在培训和验证中显示了有趣的结果.现在,我想将我保存的数据保存在摘要日志中并执行一些统计分析,并进行总体绘图并以不同方式查看摘要数据.有没有现成的方法可以轻松访问这些数据?
更具体地说,有没有内置的方法将TFEvent记录读回Python?
如果没有简单的方法,TensorFlow声明其所有文件格式都是protobuf文件.从我对protobufs(有限)的理解,我想如果我有TFEvent协议规范,我将能够提取这些数据.有没有一种简单的方法来获得这个?非常感谢你.
我正在尝试学习如何使用tensorflow和tensorboard.我有一个基于MNIST神经网络教程的测试项目.
在我的代码中,我构造了一个节点,用于计算正确分类的数据集中的数字部分,如下所示:
correct = tf.nn.in_top_k(self._logits, labels, 1)
correct = tf.to_float(correct)
accuracy = tf.reduce_mean(correct)
Run Code Online (Sandbox Code Playgroud)
这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})
Run Code Online (Sandbox Code Playgroud)
这按预期工作.我可以打印这些值,我可以看到,最初,两个精度都会增加,最终验证精度会在训练精度不断提高时变平.
但是,我还想在tensorboard中得到这些值的图表,我无法弄清楚如何做到这一点.如果我只是添加一个scalar_summaryto accuracy,则记录的值将不区分训练集和验证集.
我还尝试创建两个accuracy具有不同名称的相同节点,并在训练集上运行一个,在验证集上运行一个.然后我scalar_summary为每个节点添加一个.这确实在张量板中给出了两个图形,但是它们不是显示训练集精度的一个图形而是显示验证集精度的图形,而是显示与打印到终端的任何一个都不匹配的相同值.
我可能误解了如何解决这个问题.对于不同的输入,单独记录单个节点的输出的推荐方法是什么?
有没有办法在同一图表上绘制训练损失和验证损失?
很容易为每个单独的标记提供两个单独的标量摘要,但这会将它们放在单独的图形上.如果两者都显示在同一图表中,则更容易看出它们之间的差距以及它们是否因过度拟合而开始出现分歧.
有没有内置的方法来做到这一点?如果没有,一个解决方法?非常感谢!
所以我在keras中使用tensorboard.在张量流中,可以使用两个不同的摘要写入器用于训练和验证标量,以便张量板可以在同一个图中绘制它们.有点像图中
TensorBoard - 在同一图表上绘制培训和验证损失?
在keras有办法做到这一点吗?
谢谢.
在哪里可以找到有关Tensorboard中包含的嵌入式投影仪的文档? 这里有一些参考,但没有关于如何使用它的分步示例/教程.
我有一个TensorFlow模型,该模型的一部分评估准确性.这accuracy只是张量流图中的另一个节点,它接收logits和labels.
当我想绘制训练准确性时,这很简单:我有类似的东西:
tf.scalar_summary("Training Accuracy", accuracy)
tf.scalar_summary("SomethingElse", foo)
summary_op = tf.merge_all_summaries()
writer = tf.train.SummaryWriter('/me/mydir/', graph=sess.graph)
Run Code Online (Sandbox Code Playgroud)
然后,在我的训练循环中,我有类似的东西:
for n in xrange(1000):
...
summary, ..., ... = sess.run([summary_op, ..., ...], feed_dict)
writer.add_summary(summary, n)
...
Run Code Online (Sandbox Code Playgroud)
同样在for循环内,每说100次迭代,我想评估验证的准确性.我有一个单独的feed_dict,我能够在python中非常好地评估验证的准确性.
但是,这是我的问题:我想通过使用节点为验证准确性做另一个总结accuracy.我不清楚如何做到这一点.因为我有accuracy节点,所以我应该能够重新使用它,但我不确定如何准确地执行此操作,这样我也可以将验证准确性写为单独的标量语句...
怎么可能这样呢?
Tensorboard自述文件的图像仪表板部分说:
由于图像仪表板支持任意png,因此您可以使用它将自定义可视化(例如matplotlib散点图)嵌入到TensorBoard中.
我看到如何将pyplot图像写入文件,作为张量读回,然后与tf.image_summary()一起使用以将其写入TensorBoard,但自述文件中的这一陈述表明有更直接的方法.在那儿?如果是这样,是否有任何进一步的文档和/或示例如何有效地执行此操作?
我希望在张量板中有一个混淆矩阵的视觉效果.为此,我正在修改Tensorflow Slim的评估示例:https://github.com/tensorflow/models/blob/master/slim/eval_image_classifier.py
在此示例代码中,Accuracy已经提供但是不可能直接添加"confusion matrix"度量标准,因为它不是流式传输.
流媒体指标和非流媒体指标有什么区别?
因此,我试图像这样添加它:
c_matrix = slim.metrics.confusion_matrix(predictions, labels)
#These operations needed for image summary
c_matrix = tf.cast(c_matrix, uint8)
c_matrix = tf.expand_dims(c_matrix, 2)
c_matrix = tf.expand_dims(c_matrix, 0)
op = tf.image_summary("confusion matrix", c_matrix, collections=[])
tf.add_to_collection(tf.GraphKeys.SUMMARIES, op)
Run Code Online (Sandbox Code Playgroud)
这会在tensorboard中创建一个图像,但可能存在格式问题.矩阵应在0-1之间归一化,以便产生有意义的图像.
我怎样才能产生有意义的混淆矩阵?我该如何处理多批评估过程?
如何在不启动GUI的情况下编写python脚本来读取Tensorboard日志文件,提取损失和准确性以及其他数值数据tensorboard --logdir=...?