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