作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个图是如何非循环的?分配添加操作将 x 添加到自身。
import tensorflow as tf
sess = tf.Session()
x = tf.Variable(1300,name="x")
y = tf.Variable(200, name="y")
z = tf.add(x, y,name="z")
b = x.assign_add(z)
init = tf.initialize_all_variables()
writer = tf.train.SummaryWriter("/tmp/logdir", sess.graph)
sess.run(init)
print(sess.run(b))
显然,AssignAdd 和 X 之间存在双向边缘。
为什么 X 作为变量被描述两次?
最佳答案
如Olivier points out ,您的程序的图形是 DAG。图形可视化工具在渲染图形时采取了一些自由措施,使其更易于理解。特别是,运行时本身没有“双向”边,但 TensorFlow 包含变量的“引用边”,这就像将可变值(如指针或可变引用)传递到 C/C++ 函数中,如下所示它们允许接收者修改用于变量的相同底层存储。
请注意,TensorFlow graphs to contain one or more cycles 是合法的。 ,甚至嵌套循环。 tf.while_loop()
函数提供了一种创建结构化循环来表示迭代计算的方法,TensorFlow 可以为此计算梯度。但是,对于简单变量的使用,不需要循环。
关于graph - Tensorflow图: Are Tensorflow graphs DAG?张量变量中的assignAdd操作会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37571518/
我是一名优秀的程序员,十分优秀!