位置: IT常识 - 正文

【pytorch】有关nn.EMBEDDING的简单介绍(pytorch nn.parameters)

编辑:rootadmin
【pytorch】有关nn.EMBEDDING的简单介绍 1. 引例

推荐整理分享【pytorch】有关nn.EMBEDDING的简单介绍(pytorch nn.parameters),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:pytorch nn.lstm,pytorch nn.model,pytorch nn.parameters,pytorch nn.parameters,pytorch nn.parameter,pytorch gan 例子,pytorch的nn.linear,pytorch的nn.linear,内容如对您有帮助,希望把文章链接给更多的朋友!

假设有一本字典,就一共只有10单词,每个单词有5个字母组成。 每一页上只写一个单词,所以这10页纸上分别写了这10个单词。

内如如下,

[[a,p,p,l,e], # page 0[g,r,e,e,n], # page 1[s,m,a,l,l], # page 2[w,a,t,c,h], # page 3[b,a,s,i,c], # page 4[e,n,j,o,y], # page 5[c,l,a,s,s], # page 6[e,m,b,e,d], # page 7[h,a,p,p,y], # page 8[p,l,a,t,e] # page 9]

我们假定这本字典叫embeding(10,5), 这里的10和5即上面介绍的含义,10个单词,每个单词5个字母;

现在我要查看第2页和第3页(从0开始),那么我会得到 [s,m,a,l,l], [w,a,t,c,h] 内容。

假定我们约定一个暗号,你告诉我页数,我就返回对应页数的单词。

如,你发给我暗号 [ [2,3], [1,0], [8,6] ] (即 shape为(3,2)的LongTensor)

我通过查询字典,告诉你

[[ [s,m,a,l,l], [w,a,t,c,h] ],[ [g,r,e,e,n], [a,p,p,l,e] ],[ [h,a,p,p,y], [c,l,a,s,s] ]]

这里的字典就是embeding table,而暗号就是查询这个table的索引值。

2. 为什么需要embeding?【pytorch】有关nn.EMBEDDING的简单介绍(pytorch nn.parameters)

有的时候我们直观看到的不一定就是事物的本质,我们需要透过现象看到“本质特征”或“隐藏特征”。 那么怎么透过呢? 或者说什么是“隐藏特征”呢?

embeding就是做这个事情,它将一句话,或者一段音通过查询“embeding table”来获取到“隐藏特征”。

embeding table一般是一组浮点型数值,它跟CNN,LSTM网络中一样,属于网络可学习的参数。 所以它的值不是人为定义的,人也定义不了这样的“字典”,它是通过深度学习网络中逐渐学习到的。

3. 回到pytoch

pytorch中的nn.Embeding提供了这样的实现;

下面是一个例子

import torch# 如同上面例子中的page索引a = torch.LongTensor([[1,2], [5,2]]) # 一个10个单词,每个单词5个字母的字典emb = torch.nn.Embedding(10,5)print(emb.weight, emb.weight.shape)# 同过索引查询embeding内容y = emb(a)print(y, y.shape)

可以看到“字典”不再是单词,而是一些浮点数,这些浮点数表示的就是隐藏特征。

4. 官方API

embedding

4.1参数介绍4.1.1 num_embedding和embedding_dim

num_embedding, embedding_dim就是上文中介绍 “单词”和“每个单词字母个数”,它表示了字典中embedding个数,以及每个embedding的维度。

4.1.2 padding_idx

padding_idx,是不更新梯度的“单词”的index;可以在字典中指定一个不被训练的embedding。 看下面的例子:

import torcha = torch.LongTensor([[1,2], [5,2]])emb = torch.nn.Embedding(10,5, padding_idx=0)print(emb.weight, emb.weight.shape)y = emb(a)print(y, y.shape)

这里的padding_index=0,它表示该index下的embedding不会学习更新,初始化的时候默认也是0.

4.1.3 max_norm和norm_type

max_norm,norm_type是获取到embedding后做正则化; norm_type 的可取值为1,2. 分别表示范式1和范式2,默认是2.

max_norm是定义范式中的最大值,如果embeding中的值大于这个阈值,则会重新做一下norm

本文链接地址:https://www.jiuchutong.com/zhishi/300724.html 转载请保留说明!

上一篇:Nginx跨域解决方案(nginx跨域配置详解)

下一篇:YOLO V7源码解析(yolov5源码解读)

  • 公司利润税怎么交
  • 房产税土地使用税新政策消息2023
  • 红冲以前年度的费用怎么做账
  • 以摊余成本计量的金融资产交易费用
  • 小规模企业能否抵扣
  • 13%税开成了3%怎么报税
  • 定期定额的个税起征点
  • 如何调整所得税费用
  • 广告费和业务宣传费15%还是30%
  • 中小企业所得税优惠政策有哪些
  • 销货方违规作废增值税专用发票怎么处理
  • 房地产企业取得净地的税收筹划
  • 企业法人投资股4 账户
  • 个体户核定征收超过了怎么办
  • 转让专利技术使用权属于销售无形资产吗
  • 通用机打发票没写税额
  • 产权转移书据有哪些
  • 税务申报没报上怎么办
  • 电子发票截图可以吗
  • 购买股票的分录怎么写
  • 更换银行印鉴需要本人吗
  • 关联企业之间借款的处理
  • 收到的红字发票报税的时候怎么填
  • 土地使用权摊销年限最新规定
  • 设备维保服务费会计分录
  • 建筑工程购买的家用清洁电器能勾选认证吗
  • 怎么取消网络手动连接
  • 瓶盖再来一瓶
  • wan口ip地址和lan口ip地址不能
  • 电脑维修会不会对电脑有影响
  • 工程结算书和竣工结算书
  • 通过mac地址查找ip的协议
  • ipad哪款最贵
  • PHP:imagerectangle()的用法_GD库图像处理函数
  • 网站国际化方案
  • 公司注销时做哪些财务处理
  • thinkphp教程
  • 在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
  • 分次预缴税额怎么算
  • 有什么办法解决前进中的问题
  • yolov5 libtorch
  • 百度文心一言对未来商业的影响
  • 违法汽车查询
  • 增值税怎么算出来的
  • 不得免征和抵扣税额是什么意思
  • C语言中次方怎么表示
  • 资质平移后以前的工程怎么办
  • 普票 销项
  • 公司什么项目
  • 母公司借款给子公司如何做账
  • 授权支付银行有权不给发么
  • 企业固定资产没有加速折旧还填资产加速折旧表吗
  • 企业哪些税费不通过应交税费账户进行核算
  • 事业单位公务员考试条件
  • 工资薪酬所得税税率表最新
  • 去年已入账的材料怎么查
  • 预付账款的账务处理视频教程
  • 软件开发的知识产权有哪些
  • 年度计提资产减值准备 好还是坏
  • 车间成本项目如何结转
  • sql server 服务器配置
  • win2000安装过程
  • 虚拟机基本知识
  • 电脑系统重装win8
  • 根据显示的图的照片吊坠
  • windows8怎么设置
  • 装载win10系统
  • win7系统修改mac地址
  • js对象属性值
  • dos命令批量处理文件
  • python定时利用QQ邮件发送天气预报的实例
  • [置顶]从lv2开始开挂的原勇者候悠闲的异世界生活
  • android study
  • shell ui
  • 基于android的简单程序
  • 报废车税务怎么处理
  • 北京身份证网上换证流程
  • 太平税务局电话
  • 个体开专用票需要进项吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设