Tensorflow 我想在张量流中的张量3D上放置一个二进制掩蔽向量

Tensorflow 我想在张量流中的张量3D上放置一个二进制掩蔽向量,tensorflow,binary,mask,Tensorflow,Binary,Mask,我想在张量流中的张量3D上放置一个二进制掩蔽向量 例如,shape=(无,3,4,1) 我想放一个掩蔽向量,比如 [[1,1,1,1] [1,1,1,1] [1,1,0,0]] =>我的理想结果是 [[1,2,3,4][5,6,7,8][9,10,0,0]] 我试着如下 output = tf.layers.conv2d(output, 1, [5, 5], strides=(9, 6), padding='valid') output = tf.tanh(output) aa = [1.0

我想在张量流中的张量3D上放置一个二进制掩蔽向量

例如,
shape=(无,3,4,1)

我想放一个掩蔽向量,比如

[[1,1,1,1] [1,1,1,1] [1,1,0,0]]
=>我的理想结果是

[[1,2,3,4][5,6,7,8][9,10,0,0]]
我试着如下

output = tf.layers.conv2d(output, 1, [5, 5], strides=(9, 6), padding='valid')
output = tf.tanh(output)
aa = [1.0] * 10 + [0.0] *2
aa = aa * batch_size
bb = tf.constant(aa , shape =(batch_size , 3,4,1))
output = output * bb
我想在输出后面放一个掩码向量

output=tf.layers.conv2d(输出,1[5,5],步幅=(9,6),padding='valid')
输出=tf.tanh(输出)
##输出形状为(批量大小,3,4,1)
##然后掩码向量[[1,1,1,1][1,1,1,1][1,1,0,0]]3x4
##(批量大小,掩码向量,1)
##(批量大小,3、4、1)
#我想在输出后面放一个掩码向量。
#包括你进行的任何研究
我喜欢这个

masking = tf.sequence_mask([27]*19 + [17] , maxlen=27, dtype=tf.float32)
masking2 = tf.expand_dims(masking,axis = 0)
masking2 = tf.expand_dims(masking2,axis = -1)
mask = tf.tile(masking2, [batch_size, 1 , 1,1])
G = G * mask
你应该做你需要的


在您的特定示例中,它将是
tf.sequence\u mask([4,4,2],maxlen=4,dtype=tf.float32)

如果有效,请将答案标记为已接受。这将有助于回答这个问题的其他人。
masking = tf.sequence_mask([27]*19 + [17] , maxlen=27, dtype=tf.float32)
masking2 = tf.expand_dims(masking,axis = 0)
masking2 = tf.expand_dims(masking2,axis = -1)
mask = tf.tile(masking2, [batch_size, 1 , 1,1])
G = G * mask