pytorch0.4.1报错Padding_idx must be within num_embeddings

self.embedding = nn.Embedding(self.vocab_size + 2, self.embedding_dim, padding_idx=self.vocab_size + 1)
self.embedding.weight = nn.Parameter(opt.embeddings)

pytorch0.3.1时这样设置embedding,没有问题
但0.4.1版本nn.embedding函数有改变,可以直接将embeddings作为参数,这样调用:

self.embedding = nn.Embedding(self.vocab_size, self.embedding_dim, padding_idx=self.vocab_size-1, _weight=opt.embeddings)

可以看做将vocab的最后一个词用zero向量padding

你可能感兴趣的:(pytorch0.4.1报错Padding_idx must be within num_embeddings)