Pytorch nn.Embedding

56 篇文章 2 订阅 ¥39.90 ¥99.00

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:要将单词编码成多少维的向量
import torch
from torch import nn

##定义一个embedding层
embedding = nn.Embedding(20, 5)

#打印数字0的编码
print('数字0的编码',embedding(torch.LongTensor([0])))
##注意这里在定义embedding的时候,字典的长度为20,所以在进行编码的时候不可以超过19
aa=embedding(torch.tensor(2)).detach()  ##这里输入的数不能超过20 detach是去除梯度信息
print('aa的编码',aa.data)

 Embedding

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一壶浊酒..

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值