PyTorch LSTM - 使用单词嵌入而不是nn.Embedding()

Mon*_*lto 2 lstm pytorch

nn.Embedding()对于学习LSTM是必不可少的吗?

我在PyTorch中使用LSTM来预测NER - 类似任务的示例在这里 - https://pytorch.org/tutorials/beginner/nlp/sequence_models_tutorial.html

代码方面,我使用的代码几乎与上面教程中的代码完全相同.

唯一的细节是 - 我使用word2Vec而不是nn.Embedding().

所以我删除了nn.Embedding()层,并直接向word2Vec提供了forward函数.RNN没有学习.

因此,nn.Embedding()对于学习LSTM是必不可少的吗?

blu*_*nox 6

nn.Embedding 为您提供嵌入层.

这意味着该图层将获取您的单词标记ID并将其转换为单词向量.

您可以nn.Embedding在训练过程中学习图层的权重,也可以加载预先训练好的嵌入权重.

当您想要使用预先训练的word2vec(嵌入)模型时,只需将预先训练的权重加载到nn.Embedding图层中即可.

您可以在这里查看如何使用gensim库加载word2vec嵌入层.

我希望这有帮助.