如何用指示器迭代一维张量



我想通过张量迭代并获取每个元素的索引。

例如...

tensor = tf.constant([1,2,3])
for idx, elem in enumerate(tensor):
    print(idx, elem)

所需的输出:

0 1
1 2
2 3

启用急切执行

import tensorflow as tf
tf.enable_eager_execution()
tensor = tf.constant([1,2,3])
for idx, elem in enumerate(tensor):
    tf.print(idx, elem)
0 1
1 2
2 3

如果需要将1D张量与索引配对,请使用tf.stacktf.range(TF 1.x和2.0兼容(:

tf.stack([tf.range(tf.shape(tensor)[0]), tensor], axis=1)
# <tf.Tensor 'stack:0' shape=(3, 2) dtype=int32>

无论您需要做什么,您都可以做,而无需实际迭代男高音。

最新更新