我如何在while循环内更改张量的单个值?我知道可以使用tf.scatter_update(variable, index, value)
来操作tf.Variable
的单个值,但在循环内无法访问变量。有没有一种方法/解决方法来在while循环内操作给定的Tensor
值。
以下是我的当前代码:
my_variable = tf.Variable()
def body(i, my_variable):
[...]
return tf.add(i, 1), tf.scatter_update(my_variable, [index], value)
loop = tf.while_loop(lambda i, _: tf.less(i, 5), body, [0, my_variable])
tf.Variable
转换为tf.Tensor
,因此当我按照那篇文章中所说的去做时,会出现TypeError: 'Tensor' object does not support item assignment
。 - Ian Rehwinkel