pytorch加载已训练好的word-embedding

十一的时候已将pytorch的tutorial看过了,但是并没有用pytorch做什么项目,一直以来都是用tensorflow搭建框架,但是因为其是静态网络,不能处理if…else等等操作,于是转而用pytorch实现,将遇到的一些问题放在此处,因为脑子不好使啊,哈哈
如果是随机初始化的向量,是这么定义的:

self.word_embeds = nn.Embedding(vocab_size, embedding_dim)

如果pretrained_weight是已经训练好的词向量,加载方式一如下:

self.word_embeds = nn.Embedding(vocab_size, embedding_dim)
pretrained_weight = np.array(pretrained_weight)
self.embed.weight.data.copy_(torch.from_numpy(pretrained_weight))

https://www.cnblogs.com/bamtercelboo/p/7469005.html
加载方式二:

self.word_embeds = nn.Embedding(vocab_size, embedding_dim)
if pre_word_embeds is not None:
  self.pre_word_embeds = True
   self.word_embeds.weight = nn.Parameter(torch.FloatTensor(pre_word_embeds))
else:
    self.pre_word_embeds = False

你可能感兴趣的:(Pytorch)