Pytorch 使用torchtext的微调嵌入-nn.嵌入与nn.嵌入来自预训练

Pytorch 使用torchtext的微调嵌入-nn.嵌入与nn.嵌入来自预训练,pytorch,torchtext,Pytorch,Torchtext,我一直在使用预培训的嵌入件(手套),希望能够对其进行微调。我目前使用的嵌入方式如下: word_embeddingsA = nn.Embedding(vocab_size, embedding_length) word_embeddingsA.weight = nn.Parameter(TEXT.vocab.vectors, requires_grad=False) 我是否应该简单地设置requires_grad=True以允许对嵌入进行训练?还是我应该这样做 word_embeddingsA

我一直在使用预培训的嵌入件(手套),希望能够对其进行微调。我目前使用的嵌入方式如下:

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)

这些是等效的吗?我是否有办法检查嵌入件是否经过培训?

是的,它们在以下状态下是等效的:

冻结(布尔值,可选)
–如果
为True
,则在学习过程中不会更新张量。相当于
embedding.weight.requires\u grad=False
。默认值:
True

如果
word\u embeddingsA.requires\u grad==True
,则嵌入是经过训练的,否则不是