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時(shí)這樣設(shè)置embedding堰塌,沒有問題
但0.4.1版本nn.embedding函數(shù)有改變,可以直接將embeddings作為參數(shù)摔笤,這樣調(diào)用:
self.embedding = nn.Embedding(self.vocab_size, self.embedding_dim, padding_idx=self.vocab_size-1, _weight=opt.embeddings)
可以看做將vocab的最后一個(gè)詞用zero向量padding