-1

我一直在使用预训练嵌入(Glove),并希望对这些进行微调。我目前使用这样的嵌入:

word_embeddingsA = nn.Embedding(vocab_size, embedding_length)
word_embeddingsA.weight = nn.Parameter(TEXT.vocab.vectors, requires_grad=False)

我是否应该简单地设置 requires_grad=True 以允许训练嵌入?或者我应该做这样的事情

word_embeddingsA = nn.Embedding.from_pretrained(TEXT.vocab.vectors, freeze=False)

这些是否等效,我是否有办法检查嵌入是否得到训练?

4

1 回答 1

0

是的,它们与嵌入中的状态等效:

freeze (boolean, optional)– 如果True,则张量在学习过程中没有得到更新。相当于embedding.weight.requires_grad = False。默认:True

如果word_embeddingsA.requires_grad == True,则嵌入正在接受训练,否则不是。

于 2020-06-23T03:59:31.457 回答