我有一个Tensorflow问题可能很容易。当我的面具是1D时,我试图弄清楚如何做2D boolean_mask。我有一个具有N X F维度的2D张量x
和一个具有N维度的1D张量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)
我收到值错误,因为形状不兼容。有一个简单的方法吗?
答案 0 :(得分:2)
其中threshold = tf.multiply(tf.ones_like(mask), 0.5)
mask = tf.greater(mask,threshold)
x = tf.boolean_mask(x,tf.tile(mask,[1,N]))
是我要将其展开的功能数量。
nav