簡體   English   中英

如何在Tensorflow中迭代張量?

[英]How to iterate over a tensor in Tensorflow?

假設我們得到像這樣的張量x = [[[1,2],[3,4]],[[5,6],[7,8]]] 我想要一個tensorflow操作,使得它返回第一個嵌套張量的每個元素的加1。 即結果操作將返回[[[2,3],[3,4]],[[6,7],[7,8]]] 我知道tf.map_fn操作,但我找不到使用此操作實現的方法。 如何解決這個問題呢?

您可以在第一個軸上分割張量,在第一個軸上添加一個張量,然后使用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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM