Pytorch Pyrotch.nn嵌入错误

Pytorch Pyrotch.nn嵌入错误,pytorch,word-embedding,Pytorch,Word Embedding,我正在阅读pytorch上的文档 输出: tensor([-0.4868, -0.6038, -0.5581, 0.6675, -0.1974]) 这看起来不错,但如果我用 lookup_tensor = torch.tensor(word_to_ix["how"], dtype=torch.long) 我得到的错误如下: 运行时错误:索引超出范围,位于/Users/soumith/minicondabuild3/conda bld/pytorch_1524590658547/work/a

我正在阅读pytorch上的文档

输出:

tensor([-0.4868, -0.6038, -0.5581,  0.6675, -0.1974])
这看起来不错,但如果我用

lookup_tensor = torch.tensor(word_to_ix["how"], dtype=torch.long)
我得到的错误如下:

运行时错误:索引超出范围,位于/Users/soumith/minicondabuild3/conda bld/pytorch_1524590658547/work/aten/src/TH/generic/THTensorMath.c:343


我不明白为什么它在
hello\u embed=embeds(lookup\u tensor)
行上给出运行时错误

当您声明
embeds=nn.Embedding(2,5)
时,vocab大小为2,嵌入大小为5。i、 e每个单词将由大小为5的向量表示,vocab中只有2个单词

lookup\u tensor=torch.tensor(word\u to_ix[“how”],dtype=torch.long)
embeddes将尝试查找与vocab中第三个单词对应的向量,但嵌入的vocab大小为2。这就是为什么会出现错误

如果您声明
embeds=nn.Embedding(5,5)
它应该可以正常工作

lookup_tensor = torch.tensor(word_to_ix["how"], dtype=torch.long)