如何在Tensorflow中迭代张量?

时间:2018-08-26 13:48:19

标签: python tensorflow neural-network

说我们有一个这样的张量x = [[[1,2],[3,4]],[[5,6],[7,8]]]。我想要一个张量流操作,使其返回第一个嵌套张量的每个元素加1。即操作将返回[[[2,3],[3,4]],[[6,7],[7,8]]]的结果。 我知道tf.map_fn操作,但是找不到使用此操作的方法。如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您可以在第一个轴上分割张量,在第一个轴上的第一个张量上添加一个,然后使用tf.stack堆叠新的和旧的张量:

>>> x = tf.constant([[[1, 2], [3, 4]],[[5, 6], [7, 8]]])
>>> with tf.Session() as sess:
...    sess.run(tf.stack((x[:,0] + 1, x[:, 1]), axis=1))
... 
array([[[2, 3],
        [3, 4]],

       [[6, 7],
        [7, 8]]], dtype=int32)