3

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

4

1 回答 1

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)
于 2018-08-26T14:22:02.913 回答