tensorflow - 如何解释 tensorflow 中的张量板图?

标签 tensorflow tensorboard

我试图了解张量板如何可视化图表。为此,我使用简单的线性回归。这是我的代码:

# LINEAR REGRESSION IN TENSORFLOW

# generate points
import numpy as np 
import os
import time
import tensorflow as tf

num_points = 1000
vectors_set = []
for i in xrange(num_points):
    x1 = np.random.normal(0.0, 0.55)
    y1 = x1 * 0.1 + 0.3 + np.random.normal(0.0, 0.03)
    vectors_set.append([x1, y1])

with tf.name_scope('data') as scope:
    x_data = [v[0] for v in vectors_set]
    y_data = [v[1] for v in vectors_set]

# Cost function and gradient descent algorithm
with tf.name_scope('model') as scope:
    W = tf.Variable(tf.random_uniform([1], -1, 1), name = "W")
    b = tf.Variable(tf.zeros([1]), name = "b")
    z = tf.add(W * x_data, b, name = "z")

with tf.name_scope('loss') as scope:
    loss = tf.reduce_mean(tf.square(z - y_data))

optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)

# Running the algorithm
init = tf.initialize_all_variables()

sess = tf.Session()
sess.run(init)

timestamp = str(int(time.time()))
print timestamp
train_summary_writer = tf.train.SummaryWriter(
      os.path.join(
          "./", "summaries", timestamp), sess.graph)
train_summary_writer.add_graph(sess.graph)

这是张量板可视化: enter image description here

我的问题是:

  1. 我没有在图表中定义渐变。默认自带tensorboard吗?
  2. 为什么从损失到梯度有 8 个张量?为什么从模型到梯度有 5 个张量?
  3. 我没有定义变量 y。张量板是否自动将 y 分配给常量?我该如何更改它?
  4. 为什么我的图表不显示操作之间的箭头?

非常感谢!

最佳答案

  1. 当您创建 tf.train.GradientDescentOptimizer 时,渐变会自动添加到图表中

  2. 您的代码指定 GradientDescentOptimizer 应最小化损失,这意味着它取决于损失。此外,为了最大限度地减少损失,需要更新模型中的权重。

  3. 我对此不太确定;你可以上传图表定义吗? (您可以从 session 中获取图形定义。)

  4. 在添加张量形状时,我们禁用了箭头,但很多人都要求使用它们,所以我们会将其放回去。

顺便说一句,现在您正在将数据内联到模型中,这不是一个好的模式。在 block 中:

with tf.name_scope('data') as scope:
  x_data = [v[0] for v in vectors_set]
  y_data = [v[1] for v in vectors_set]

name_scope 没有执行任何操作,因为您没有在那里创建任何 tensorflow 操作,只是声明 Python 列表。相反,您应该考虑使用占位符。

关于tensorflow - 如何解释 tensorflow 中的张量板图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37778725/

相关文章:

python - Tensorboard 获取空白页

python - 为什么在训练 Keras 模型时将损失乘以标量会得到不同的结果?

android - 程序类型已经存在:org.tensorflow.Graph $ Reference

tensorflow - 预测失败 : contents must be scalar

python - 如何在使用 DNNCLassifier 时可视化嵌入 - Tensorflow

tensorflow - 远程 Tensorboard 不适用于 SSH 隧道

python - 禁用 `@tf.function` 装饰器进行调试?

python - Tensorflow:在时间流中的索引处查找张量

tensorflow - 损失增加的可能解释?

tensorflow - 张量板图召回