我正在尝试使用pytorch-nlp(https://pytorchnlp.readthedocs.io/en/latest/)构建神经网络。我的意图是建立这样的网络:
from_pretrained
方法)nn.LSTM
)torchnlp.nn.Attention
)我遇到输入句子的主要p 维数大问题(每个单词是一个向量),但最重要的是attention层:我不知道如何声明它,因为我需要编码器输出的确切尺寸,但是序列的尺寸却有所变化(对应于句子中单词数量不同的事实)。
由于LSTM支持它们,所以我试图查看torch.nn.utils.rnn.pad_packed_sequence
和torch.nn.utils.rnn.pack_padded_sequence
,但我找不到解决方案。
有人可以帮我吗?
我考虑过将所有序列填充到特定维度,但是我不想截断更长的序列,因为我想保留所有信息。
您处在正确的轨道上,将所有序列填充到特定尺寸。您将必须选择一个大于句子“大多数”的维度,但是您需要截断一些句子。此blog article应该有帮助。