首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在keras中使用Convolution1D层的掩蔽?

如何在keras中使用Convolution1D层的掩蔽?
EN

Stack Overflow用户
提问于 2020-07-09 21:55:42
回答 1查看 57关注 0票数 0

我正在尝试执行一个情感分类任务,为此我使用了基于注意力的架构,该架构同时具有卷积层和BiLSTM层。我的模型的第一层是嵌入层,然后是Convolution1D层。我使用mask_zero=True作为嵌入层,因为我用零填充了序列。但是,这会为Convolution1D层创建一个错误,因为该层不支持掩码。但是,我确实需要屏蔽零输入,因为在卷积层之后有LSTM层。有没有人有解决这个问题的办法。我已经将我的模型的示例代码附加到Convolution1D层以供参考。

代码语言:javascript
运行
复制
wordsInputs = Input(shape=(maxSeq,), name='words_input')
embed_reg = l2(l=0.001)
emb = Embedding(vocabSize, 300, mask_zero=True, init='glorot_uniform', W_regularizer=embed_reg)(wordsInputs)
convOutput = Convolution1D(nb_filter=100, filter_length=3, activation='relu', border_mode='same')(emb)
EN

回答 1

Stack Overflow用户

发布于 2020-11-20 10:27:33

看起来您已经定义了一个maxSeq长度,并且您说您正在用零填充序列。mask_zero还意味着其他一些东西,具体地说,0是您不应该使用的保留输入字索引,它是为程序内部保留的,用于标记可变长度序列的结束。

我认为解决方案是简单地删除参数mask_zero=True,因为它是不需要的(因为它用于可变长度的序列),并使用零作为填充单词索引。

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

https://stackoverflow.com/questions/62816517

复制
相关文章

相似问题

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