我有一个可能很简单的 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]))
