pytorch - Pytorch nn.Embedding 中未更新权重
问题描述
我用预先训练的嵌入矩阵加载了 PyTorch 的 nn.Embedding 模块。我将其设置为可训练如下。
self.embedding_layer = nn.Embedding(self.vocab_size, self.embed_size, paddding_idx=self.padding_idx)
self.embedding_layer.weight = nn.Parameter(self.embedding)
self.embedding_layer.weight.requires_grad = True
我使用双向门控循环单元网络处理了这个输出。模型训练好后,我检查了 nn.Embedding 的权重是否更新。权重没有更新。model.embedding_layer.weight 和 'self.embedding' 权重相同。我检查了model.embedding_layer 的渐变。它们都是零。
请你帮助我好吗?谢谢你。