Jie*_*hou 12 neural-network tensorflow tensorboard
张量流中的一个非常简单的例子:标量min (x + 1)^2 在哪里x.代码是:
import tensorflow as tf
x = tf.Variable(initial_value=3.0)
add = tf.add(x, 1)
y = tf.square(add)
optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01)
train = optimizer.minimize(y)
Run Code Online (Sandbox Code Playgroud)
然后将图形写入磁盘
graph = tf.get_default_graph()
writer = tf.summary.FileWriter("some/dir/to/write/events")
writer.add_graph(graph=graph)
Run Code Online (Sandbox Code Playgroud)
最后在张量板中可视化,它看起来像这样
问题是,为什么节点"添加"与渐变有关?我想自从我尝试最小化y,节点"Square"应该是,它是一个bug吗?有谁能解释一下?
Sal*_*ali 26
没有涉及错误.你只需要了解什么是渐变,并知道如何自己计算.所以(x+1)^2' = 2*(x+1).这意味着您无需计算(x+1)^2来计算梯度.如果你要放大渐变部分,你会看到它计算了你的方块的渐变,并发现它在那里需要图形的哪一部分:
这是一个更有趣,更直观的例子:
import tensorflow as tf
x = tf.Variable(initial_value=3.0)
y = tf.cos(x)
train = tf.train.GradientDescentOptimizer(learning_rate=0.01).minimize(y)
with tf.Session() as sess:
writer = tf.summary.FileWriter('logs', sess.graph)
writer.close()
Run Code Online (Sandbox Code Playgroud)
你应该知道cos(x)' = - sin(x).这意味着只x需要计算梯度.这就是您在图表中看到的内容:
| 归档时间: |
|
| 查看次数: |
4722 次 |
| 最近记录: |