如果我想在TensorFlow中进行扫描操作后进行切片。
但我只是用TensorFlow得到了奇怪的结果:
k = 10
x = 2
out = tf.scan(lambda previous_output, current_input: previous_output * current_input,
tf.fill([k], x), initializer=tf.constant(1))
result = out[-1] # slice with tensorflow - don't work
with tf.Session() as sess:
sess.run(tf.initialize_all_variables())
print(sess.run(out)[-1]) # works but all values are computed and stored in an np array
print(sess.run(result)) # don't work???
我得到了输出:
1024
3
第二个值显然是错误的和随机的(有时是0或其他值)。 所以我的问题是为什么? Theano中的模拟代码,例如当查询输出张量的最后一个元素时,Theano可以做一些优化。