计算布尔张量中的“ True”值的数量

发布于 2021-01-29 15:56:16

我知道这tf.where将返回True值的位置,以便可以使用结果shape[0]来获取Trues的数量。

但是,当我尝试使用它时,维是未知的(这很有意义,因为它需要在运行时进行计算)。所以我的问题是,如何访问维并将其用于求和之类的运算中?

例如:

myOtherTensor = tf.constant([[True, True], [False, True]])
myTensor = tf.where(myOtherTensor)
myTensor.get_shape() #=> [None, 2]
sum = 0
sum += myTensor.get_shape().as_list()[0] # Well defined at runtime but considered None until then.
关注者
0
被浏览
148
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您可以将值转换为浮点数,然后计算它们的和: tf.reduce_sum(tf.cast(myOtherTensor, tf.float32))

    根据您的实际用例,如果您指定调用的缩减尺寸,您还可以计算每行/每列的总和。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看