PyTorch中的Embedding

        Embedding 可理解为存储固定大小的词典的嵌入向量的查询表,根据编号,嵌入层返回对应的嵌入向量,嵌入向量反映了编号代表的符号之间的语义关系,输入为一个编号列表,输出为对应的符号嵌入向量列表。

torch.nn.Embedding(num_embeddings, embedding_dim, padding_idx=None, max_norm=None, norm_type=2.0,   scale_grad_by_freq=False, sparse=False,  _weight=None)

  • num_embeddings (python:int):词典的大小尺寸,比如总共出现5000个词,则为5000,index为(0-4999)
  • embedding_dim (python:int) – 嵌入向量的维度,即用多少维来表示一个符号。
  • padding_idx (python:int, optional):填充id,比如,输入长度为100,句子长度不一样,需要用统一数字填充,指定填充数字,网络学习时遇到填充 id 就不会计算其相关性,默认 0。
  • max_norm (python:float, optional):最大范数,如果嵌入向量的范数超过了这个界限,就要进行再归一化。
  • norm_type (python:float, optional):范数计算方式,并对比max_norm,默认为2-范数。
  • scale_grad_by_freq (boolean, optional):根据单词在mini-batch中出现的频率,对梯度进行放缩,默认:False。
  • sparse (bool, optional):True表示与权重矩阵相关的梯度转变为稀疏张量。
import torch.nn as nn
index_tensor = torch.LongTensor([[3, 6, 5, 6, 7, 1], [6, 4, 7, 9, 5, 1]])
embed = nn.Embedding(10, 2, padding_idx=0)

如上样例,词典大小为 10,最大index为 9,词向量维度为 2。

参考:

通俗讲解pytorch中nn.Embedding原理及使用-CSDN博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值