我想将带有gensim的预训练word2vec嵌入到PyTorch嵌入层中.
所以我的问题是,如何将gensim加载的嵌入权重加到PyTorch嵌入层中.
提前致谢!
我从 Keras 转到 PyTorch。我想使用 GloVe 向量创建一个 PyTorch 嵌入层(大小为 的矩阵V x D,其中V是词汇单词索引,D是嵌入向量维度),但对所需的步骤感到困惑。
在 Keras 中,您可以通过让 Embedding 层构造函数采用参数来加载 GloVe 向量weights:
# Keras code.
embedding_layer = Embedding(..., weights=[embedding_matrix])
Run Code Online (Sandbox Code Playgroud)
在查看 PyTorch 和 TorchText 库时,我发现嵌入应该加载两次,一次在 a 中Field,然后在一个Embedding层中再次加载。这是我找到的示例代码:
# PyTorch code.
# Create a field for text and build a vocabulary with 'glove.6B.100d'
# pretrained embeddings.
TEXT = data.Field(tokenize = 'spacy', include_lengths = True)
TEXT.build_vocab(train_data, vectors='glove.6B.100d')
# Build …Run Code Online (Sandbox Code Playgroud)