TF运行会话:操作优先级

时间:2017-06-11 12:09:03

标签: python tensorflow

我不明白为什么在一次运行调用中运行Variable的初始化以及assign方法时,该值不会被分配?它与并行执行有关,还是没有操作优先级? TF session management没有解释它。

示例:

import tensorflow as tf
W = tf.Variable(10)

with tf.Session() as sess:
    sess.run([W.initializer, W.assign(20)])
    print W.eval()  # 
 >> returns 10, but I would expect 20


#running it separately:
    sess.run(W.initializer)
    sess.run(W.assign(20))
    print W.eval()
 >> returns 20

1 个答案:

答案 0 :(得分:0)

我怀疑发生这种情况是因为W.initializer首先在W.assign(20)将其值覆盖到其初始状态后执行import tensorflow as tf W = tf.Variable(10) with tf.Session() as sess: sess.run(W.assign(20)) sess.run(W.initializer) print W.eval()

如您所见,在第二个示例中更改顺序:

{{1}}

给出的结果与第一个结果相同。