更新变量而不在TensorFlow中返回其值

时间:2017-03-14 21:26:06

标签: tensorflow

我有张量流图(占位符输入,然后是一些操作,最后使用tf.scatter_add()更新图中的变量)。

我知道sess.run(tensor)会返回“张量”的值。就我而言,“张量”非常大;我只需要在图表中更新它的值,而不需要它的值。

那么,有什么想法吗?我找不到一个新颖的解决方案。 谢谢。

1 个答案:

答案 0 :(得分:1)

不是将Tensor作为参数提供给run,而是提供相应的Operation,它将执行操作但不返回任何返回None但是执行尽管如此(详见documentation for Session.run

例如:

import tensorflow as tf

var = tf.Variable(1)
add = tf.assign_add(var, 1)

sess = tf.Session()
sess.run(tf.global_variables_initializer())
# Will print 'None' since running add.op will not return a value
print sess.run(add.op)
# Prints 3 since running the Tensor returns the value
print sess.run(add)

希望有所帮助!