Skip to main content
 首页 » 编程设计

python之如何计算tensorflow张量中的元素

2025年05月04日41lhb25

例如,我有一个张量:X = [1, 1, 0, 0, 1, 2, 2, 0, 1, 2]。

我想要的是将这个张量 X 减少为张量,例如:Y = [3, 4, 3]。

其中位置 0 的 Y 是 X 中有多少个 0 的计数,位置 1 有多少个 1,依此类推。

我现在正在做的是使用 tf.where 函数迭代这个张量。但这似乎并不优雅,必须有更好的方法来做到这一点。

谢谢。

请您参考如下方法:

我认为您正在寻找 Y = tf.bincount(X):

X = tf.constant([1, 1, 0, 0, 1, 2, 2, 0, 1, 2]) 
Y = tf.bincount(X) 
sess = tf.InteractiveSession() 
tf.global_variables_initializer().run() 
Y.eval() 
 
# output 
#[3, 4, 3] 

对于负整数,您可以使用:

tf.bincount(X + tf.abs(tf.reduce_min(X)) )