当前位置:   article > 正文

Pytorch nn.Embedding

pytorch nn.embedding

nn.Embedding的作用:

nn.Embedding是用来将一个编码为指定维度的向量,比如数字1变成一个128维的向量,数字2变成另外一个128维的向量。

one-hot编码区别:

  • one-hot编码没有任何的语义信息
  • one-hot编码向量的维度等于字典的长度,因此需要使用一个低维稠密的向量来表示词。

nn.Embedding的基本用法

 nn.Embeddding接受两个重要参数:

  1. num_embeddings:字典的大小。对应上面词典的大小,如果你的词典中包含5000个单词,那么这个字段就填5000
  2. embedding_dim:要将单词编码成多少维的向量
  1. import torch
  2. from torch import nn
  3. ##定义一个embedding层
  4. embedding = nn.Embedding(20, 5)
  5. #打印数字0的编码
  6. print('数字0的编码',embedding(torch.LongTensor([0])))
  7. ##注意这里在定义embedding的时候,字典的长度为20,所以在进行编码的时候不可以超过19
  8. aa=embedding(torch.tensor(2)).detach() ##这里输入的数不能超过20 detach是去除梯度信息
  9. print('aa的编码',aa.data)

 Embedding

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/363841
推荐阅读
相关标签
  

闽ICP备14008679号