如何使用tensorarray来展开张量

时间:2018-06-13 15:02:08

标签: tensorflow

当我想将一个张量叠加到一个tensorarray中时,它不会采用该张量的值。相反,它只是采取其形状。 我正在使用tf1.5,有什么帮助吗?非常感谢

这是我的代码:

emb = tf.Variable([[1,2,3,5],[4,5,6,7]],name = 'emb')
ta = tf.TensorArray(tf.int32, size= 2)
ta.unstack(emb)

with tf.Session() as sess:
    sess.run(tf.initialize_all_variables())
    print(sess.run(x_emb))
    print(sess.run(ta.stack()))

这是输出:

[[1 2 3 5]
 [4 5 6 7]]
[[0 0 0 0]
 [0 0 0 0]]

1 个答案:

答案 0 :(得分:0)

来自tensorflow关于unstack(https://www.tensorflow.org/api_docs/python/tf/TensorArray)的文档:

  

返回:一个新的TensorArray对象,其流程可确保发生重叠。将此对象全部用于后续操作。

所以该行应为ta = ta.unstack(emb)