试图找到与.any()
类似的操作,.all()
方法将在张量上工作。这是一个场景:
a = tf.Variable([True, False, True], dtype=tf.bool)
# this is how I do it right now
has_true = a.reduce_sum(tf.cast(a, tf.float32))
# this is what I'm looking for
has_true = a.any()
当前使用int
将我的布尔张量转换为reduce_sum
,以查看其中是否包含真相。有没有更干净的方法来执行此操作?
答案 0 :(得分:6)
有tf.reduce_any
和tf.reduce_all
方法:
sess = tf.Session()
a = tf.Variable([True, False, True], dtype=tf.bool)
sess.run(tf.global_variables_initializer())
sess.run(tf.reduce_any(a))
# True
sess.run(tf.reduce_all(a))
# False