我想做点什么:
x = tf.Variable(tf.ones([100], dtype=tf.float32))
x0 = tf.Variable(tf.ones([1], dtype=tf.float32))
def f(x):
return tf.sin(x)
x[0] = x0
for i in range(1,100):
x[i+1] = f(x[i])
构建张量' x。这种结构有可能吗?我看着' tf.while_loop'但似乎没有帮助。
答案 0 :(得分:0)
def f(x):
return tf.sin(x)
x = []
x.append(tf.constant(1.0))
for i in range(1,100):
x.append(f(i))
这是你想要的吗?
顺便说一句,这不是递归的。它是迭代的。
答案 1 :(得分:0)
TypeError: 'Tensor' object does not support item assignment in TensorFlow中的解决方案几乎解决了Atirag指出的问题,但是' tf.pack()'好像已被弃用了。为了完整起见,这是针对已发布问题的最新解决方案:
x0 = tf.Variable(tf.ones(1, dtype=tf.float32))
def f(x):
return tf.sin(x)
x = [x0]
for i in range(1, 100):
x.append(f(x[i - 1]))
tf.stack(x)