Skip to main content
 首页 » 编程设计

python之Tensorflow 中的二维 bool 掩码

2024年08月20日31arxive

我有一个可能很简单的 Tensorflow 问题。当我的面具是一维时,我想弄清楚如何做一个二维 boolean_mask。我有一个具有 N X F 维度的二维张量 x 和一个具有 N 维度的一维张量 mask。 mask 包含 0 和 1,我想保留 x 中 mask 值为 1 的样本。

threshold = tf.multiply(tf.ones_like(mask), 0.5) 
mask = tf.greater(mask,threshold) 
x = tf.boolean_mask(x,mask) 

我收到一个值错误,因为形状不兼容。有解决这个问题的简单方法吗?

请您参考如下方法:

其中 N 是我要将其扩展到的功能数。

threshold = tf.multiply(tf.ones_like(mask), 0.5) 
mask = tf.greater(mask,threshold) 
x = tf.boolean_mask(x,tf.tile(mask,[1,N]))