You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用TensorFlow计算布尔张量中全True矩阵及行的占比

TensorFlow张量运算实现方案

全程使用原生TensorFlow算子,无CPU数据搬运、无遍历操作,可直接在GPU/TPU上运行,性能最优。

1. 核心实现代码

import tensorflow as tf

# 输入张量(样例)
input_tensor = tf.constant([
 [[[ True,  True,  True,  True,  True],
   [False,  True, False,  True,  True],
   [False,  True, False,  True,  True],
   [ True,  True,  True,  True,  True],
   [ True,  True,  True,  True,  True]]], 
    
 [[[ True,  True,  True,  True,  False],
   [False,  True,  True,  True,  True],
   [False,  True, False,  True,  True],
   [ True,  True,  True,  True,  True],
   [ True, False,  True,  True,  True]]],
            
 [[[ True,  True,  True,  True,  True],
   [False,  True, False,  True,  True],
   [False,  True,  True,  True,  True],
   [ True,  False,  True, False,  True],
   [ True,  True,  True,  True,  True]]],
 
 [[[ True,  True,  True,  True,  True],
   [ True,  True,  True,  True,  True],
   [ True,  True,  True,  True,  True],
   [ True,  True,  True,  True,  True],
   [ True,  True,  True,  True,  True]]],
             
 [[[ True,  True,  True,  True,  True],
   [ True,  True,  True,  True,  True],
   [ True,  True,  True,  True,  True],
   [ True,  True,  True,  True,  True],
   [ True,  True,  True,  True,  True]]],
 ])

# 计算全True矩阵占比
## 对最后两个维度(5x5矩阵)做全True判断
all_true_mat_mask = tf.reduce_all(input_tensor, axis=(-2, -1))
all_true_mat_ratio = tf.reduce_mean(tf.cast(all_true_mat_mask, tf.float32))

# 计算全True行占比
## 对最后一个维度(行内元素)做全True判断
all_true_row_mask = tf.reduce_all(input_tensor, axis=-1)
all_true_row_ratio = tf.reduce_mean(tf.cast(all_true_row_mask, tf.float32))

# 打印结果(样例输出:0.4, 0.64)
print(all_true_mat_ratio.numpy())
print(all_true_row_ratio.numpy())

2. 实现说明

  • 全矩阵判断:通过tf.reduce_all指定轴为最后两维,直接批量判断每个5x5矩阵是否所有元素为True,用tf.reduce_mean直接计算占比,无需手动统计总数
  • 全行判断:通过tf.reduce_all指定轴为最后一维,批量判断每行是否所有元素为True,同样用tf.reduce_mean直接计算占比
  • 无需手动squeeze删除单维度轴,代码兼容任意前置维度的输入张量,鲁棒性更强

内容的提问来源于stack exchange,提问作者rishikesh fulari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:06:04