TensorFlow相当于numpy.all()

时间:2017-08-17 13:22:32

标签: tensorflow

如标题中所述,是否有一个TensorFlow等效的numpy.all()函数来检查bool张量中的所有值是否为True?实施此类检查的最佳方法是什么?

3 个答案:

答案 0 :(得分:5)

使用tf.reduce_all,如下所示:

import tensorflow as tf
a=tf.constant([True,False,True,True],dtype=tf.bool)
res=tf.reduce_all(a)
sess=tf.InteractiveSession()
res.eval()

返回False

另一方面,这会返回True

import tensorflow as tf
a=tf.constant([True,True,True,True],dtype=tf.bool)
res=tf.reduce_all(a)
sess=tf.InteractiveSession()
res.eval()

答案 1 :(得分:0)

解决这个问题的一种方法是:

def all(bool_tensor):
    bool_tensor = tf.cast(bool_tensor, tf.float32)
    all_true = tf.equal(tf.reduce_mean(bool_tensor), 1.0)
    return all_true

但是,它不是TensorFlow专用功能。只是一种解决方法。

答案 2 :(得分:0)

您可以在 tf 2.4 中使用 tf.experimental.numpy.all

x = tf.constant([False, False])
tf.experimental.numpy.all(x)