pytorch - 在 nn.Embedding() 中设置 padding_idx=0 后是否需要任何额外的屏蔽?
问题描述
我正在向 GRU 传递一批句子。这些句子的长度不同,并且已被填充(padding_idx = 0)以形成批处理。句子的长度变化很大,从 32 个单词到 105 个单词。我在创建嵌入层时指定了 padding_idx。如果我不使用 nn.pack_padded_sequence,是否仍需要任何类型的屏蔽信息,或者是否会在内部处理?
另外,在从 GRU 获得 hidden_states 后,我想形成句子表示。为此,我在为一个句子获得的 hidden_states 上应用了一个软注意机制。基本上,我为每个隐藏状态获得一个分数并取加权平均值。这也会为对应的 padding_idx 的隐藏状态分配一个权重。这是正确的还是我需要在这里使用遮罩?就像将 padding_idx 对应的隐藏状态的权重设置为非常小的值一样。
解决方案
推荐阅读
- javascript - 将鼠标悬停在 React 中的图像上时如何将基本过渡应用于文本
- r - 在 R / tidyr 中处理巨大的嵌套数据集
- xml - 在SVG中创建一组非连续元素?
- matrix - 使用 netCDF4 从 nc 文件的设定点中查找所有数据
- python - 文本中的线路连接
- grepl - 特定单词的 grepl 功能不起作用
- dll - 找到microsoft中用于创建超链接(url)的dll
- java - 得到错误方法排序(列表
, Comparator ) 类型的 Collections 不适用于参数 - scala - 类类型参数后的多个冒号(:)
- windows - 在 HSM 中的私钥上设置 ACL