首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想在张量流中的张量3D上放置一个二进制掩码向量

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

Stack Overflow用户
提问于 2019-05-29 23:51:00
回答 1查看 108关注 0票数 1

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

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

代码语言:javascript
复制
[[1,2,3,4][5,6,7,8][9,10,11,12]]

我想把掩蔽向量放在下面

代码语言:javascript
复制
[[1,1,1,1] [1,1,1,1] [1,1,0,0]]

=>我的理想结果是

代码语言:javascript
复制
[[1,2,3,4][5,6,7,8][9,10,0,0]]

我尝试如下所示。

代码语言:javascript
复制
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

我想在输出后面放一个掩码向量。

代码语言:javascript
复制
output = tf.layers.conv2d(output, 1, [5, 5], strides=(9, 6), padding='valid')
output = tf.tanh(output)

## output shape is (batch size , 3,4,1)
## and then mask vector [[1,1,1,1] [1,1,1,1] [1,1,0,0]] 3x4 
## (batch size , mask vector , 1)
## (batch size, 3, 4, 1)
# I want to put a mask vector behind the output.
# Include any research you've conducted

我喜欢这个

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2019-05-30 04:50:17

tf.sequence_mask应该做你需要的事情。

在您的特定示例中,它应该是tf.sequence_mask([4, 4, 2], maxlen=4, dtype=tf.float32)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56364380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档