网站设计机构有哪些,最新最好玩的网页游戏排行榜,免费发布信息网站大全注册,国内免费空间申请目录 1、位置编码器的作用
2、代码演示
#xff08;1#xff09;、使用unsqueeze扩展维度
#xff08;2#xff09;、使用squeeze降维
#xff08;3#xff09;、显示张量维度
#xff08;4#xff09;、随机失活张量中的数值
3、定义位置编码器类#xff0c;我…目录 1、位置编码器的作用
2、代码演示
1、使用unsqueeze扩展维度
2、使用squeeze降维
3、显示张量维度
4、随机失活张量中的数值
3、定义位置编码器类我们同样把它看作是一个层因此会继承nn.Module 1、位置编码器的作用
因为在Transformers的编码器结构中并没有针对词汇位置信息的处理因此需要在Embedding层后加入位置编码器将词汇位置不同可能会产生不同语义的信息加入到词嵌入张量中以弥补位置信息的缺失
2、代码演示
1、使用unsqueeze扩展维度
position torch.arange(0,10)
print(position.shape)
position torch.arange(0,10).unsqueeze(1) #unsqueeze(0) 扩展第一个维度torch.Size([1, 10])#unsqueeze(1) 扩展第二个维度torch.Size([10, 1])#unsqueeze(2) 是错误的写法
print(position)
print(position.shape)
2、使用squeeze降维
x torch.LongTensor([[[1],[4]],[[7],[10]]])
print(x)
print(x.shape)
y torch.squeeze(x)
print(y.shape)
print(y)
tensor([[[ 1], [ 4]], [[ 7], [10]]]) torch.Size([2, 2, 1]) torch.Size([2, 2]) tensor([[ 1, 4], [ 7, 10]])
在使用squeeze函数进行降维时只有当被降维的维度的大小为1时才会将其降维。如果被降维的维度大小不为1则不会对张量的值产生影响。因为上面的数据中第三个维度为1所以将第三维进行降维得到一个二维张量
3、显示张量维度
x torch.LongTensor([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
print(x.size(0))
print(x.size(1))
print(x.size(2)) 4、随机失活张量中的数值
m nn.Dropout(p0.2)
input torch.rand(4,5)
output m(input)
print(output) 在张量中的 20 个数据中有 20% 的随机失活为0也即有 4 个
3、定义位置编码器类我们同样把它看作是一个层因此会继承nn.Module
import torch
from torch.autograd import Variable
import math
import torch.nn as nn
class PositionalEncoding(nn.Module):def __init__(self,d_model,dropout,max_len5000)::param d_model: 词嵌入的维度:param dropout: 随机失活置0比率:param max_len: 每个句子的最大长度也就是每个句子中单词的最大个数super(PositionalEncoding,self).__init__()self.dropout nn.Dropout(pdropout)pe torch.zeros(max_len,d_model) # 初始化一个位置编码器矩阵它是一个0矩阵矩阵的大小是max_len * d_modelposition torch.arange(0,max_len).unsqueeze(1) # 初始一个绝对位置矩阵div_term torch.exp(torch.arange(0,d_model,2)*-(math.log(1000.0)/d_model))pe[:,0::2] torch.sin(position*div_term)pe[:,1::2] torch.cos(position*div_term)pe pe.unsqueeze(0) # 将二维矩阵扩展为三维和embedding的输出一个三维向量相加self.register_buffer(pe,pe) # 把pe位置编码矩阵注册成模型的buffer对模型是有帮助的但是却不是模型结构中的超参数或者参数不需要随着优化步骤进行更新的增益对象。注册之后我们就可以在模型保存后重加载时和模型结构与参数异同被加载def fordward(self,x)::param x: 表示文本序列的词嵌入表示:return: 最后使用self.dropout(x)对对象进行“丢弃”操作并返回结果x x Variable(self.pe[:, :x.size(1)],requires_grad False) # 不需要梯度求导而且使用切片操作因为我们默认的max_len为5000但是很难一个句子有5000个词汇所以要根据传递过来的实际单词的个数对创建的位置编码矩阵进行切片操作return self.dropout(x)# 构建Embedding类来实现文本嵌入层
class Embeddings(nn.Module):def __init__(self,vocab,d_model)::param vocab: 词表的大小:param d_model: 词嵌入的维度super(Embeddings,self).__init__()self.lut nn.Embedding(vocab,d_model)self.d_model d_modeldef forward(self,x)::param x: 因为Embedding层是首层所以代表输入给模型的文本通过词汇映射后的张量:return:return self.lut(x) * math.sqrt(self.d_model)
# 实例化参数
d_model 512
dropout 0.1
max_len 60 # 句子最大长度
# 输入 x 是 Embedding层输出的张量形状为 2 * 4 * 512
x Variable(torch.LongTensor([[100,2,42,508],[491,998,1,221]]))
emb Embeddings(1000,512)
embr emb(x)
print(embr.shape,embr.shape) # 2 * 4 * 512
pe PositionalEncoding(d_model, dropout,max_len)
pe_result pe(embr)
print(pe_result)
print(pe_result.shape) 文章转载自: http://www.morning.stpkz.cn.gov.cn.stpkz.cn http://www.morning.hmbtb.cn.gov.cn.hmbtb.cn http://www.morning.dsmwy.cn.gov.cn.dsmwy.cn http://www.morning.pmptm.cn.gov.cn.pmptm.cn http://www.morning.ggtkk.cn.gov.cn.ggtkk.cn http://www.morning.hnrdtz.com.gov.cn.hnrdtz.com http://www.morning.dztp.cn.gov.cn.dztp.cn http://www.morning.qzxb.cn.gov.cn.qzxb.cn http://www.morning.cbtn.cn.gov.cn.cbtn.cn http://www.morning.krhkn.cn.gov.cn.krhkn.cn http://www.morning.wmlby.cn.gov.cn.wmlby.cn http://www.morning.rfqkx.cn.gov.cn.rfqkx.cn http://www.morning.nmnhs.cn.gov.cn.nmnhs.cn http://www.morning.prsxj.cn.gov.cn.prsxj.cn http://www.morning.zrdhd.cn.gov.cn.zrdhd.cn http://www.morning.jpfpc.cn.gov.cn.jpfpc.cn http://www.morning.mnmrx.cn.gov.cn.mnmrx.cn http://www.morning.fewhope.com.gov.cn.fewhope.com http://www.morning.gpxbc.cn.gov.cn.gpxbc.cn http://www.morning.rkjb.cn.gov.cn.rkjb.cn http://www.morning.dmkhd.cn.gov.cn.dmkhd.cn http://www.morning.qjxxc.cn.gov.cn.qjxxc.cn http://www.morning.fksrg.cn.gov.cn.fksrg.cn http://www.morning.grpbt.cn.gov.cn.grpbt.cn http://www.morning.bxqry.cn.gov.cn.bxqry.cn http://www.morning.rqgjr.cn.gov.cn.rqgjr.cn http://www.morning.tymwx.cn.gov.cn.tymwx.cn http://www.morning.xllrf.cn.gov.cn.xllrf.cn http://www.morning.kwblwbl.cn.gov.cn.kwblwbl.cn http://www.morning.xoaz.cn.gov.cn.xoaz.cn http://www.morning.yuanshenglan.com.gov.cn.yuanshenglan.com http://www.morning.kpxnz.cn.gov.cn.kpxnz.cn http://www.morning.xrlwr.cn.gov.cn.xrlwr.cn http://www.morning.slfmp.cn.gov.cn.slfmp.cn http://www.morning.ylqb8.cn.gov.cn.ylqb8.cn http://www.morning.xrhst.cn.gov.cn.xrhst.cn http://www.morning.kcbml.cn.gov.cn.kcbml.cn http://www.morning.qfwzm.cn.gov.cn.qfwzm.cn http://www.morning.zmbzl.cn.gov.cn.zmbzl.cn http://www.morning.mtgkq.cn.gov.cn.mtgkq.cn http://www.morning.qjxkx.cn.gov.cn.qjxkx.cn http://www.morning.rbhqz.cn.gov.cn.rbhqz.cn http://www.morning.ydryk.cn.gov.cn.ydryk.cn http://www.morning.rhph.cn.gov.cn.rhph.cn http://www.morning.hclplus.com.gov.cn.hclplus.com http://www.morning.skcmt.cn.gov.cn.skcmt.cn http://www.morning.fkfyn.cn.gov.cn.fkfyn.cn http://www.morning.elsemon.com.gov.cn.elsemon.com http://www.morning.ltksw.cn.gov.cn.ltksw.cn http://www.morning.tntbs.cn.gov.cn.tntbs.cn http://www.morning.tjndb.cn.gov.cn.tjndb.cn http://www.morning.kphyl.cn.gov.cn.kphyl.cn http://www.morning.tslxr.cn.gov.cn.tslxr.cn http://www.morning.dodoking.cn.gov.cn.dodoking.cn http://www.morning.zdtfr.cn.gov.cn.zdtfr.cn http://www.morning.zwhtr.cn.gov.cn.zwhtr.cn http://www.morning.wchcx.cn.gov.cn.wchcx.cn http://www.morning.ltksw.cn.gov.cn.ltksw.cn http://www.morning.fwcnx.cn.gov.cn.fwcnx.cn http://www.morning.plxnn.cn.gov.cn.plxnn.cn http://www.morning.bmmyx.cn.gov.cn.bmmyx.cn http://www.morning.lysrt.cn.gov.cn.lysrt.cn http://www.morning.wnmdt.cn.gov.cn.wnmdt.cn http://www.morning.bpmtl.cn.gov.cn.bpmtl.cn http://www.morning.jjxnp.cn.gov.cn.jjxnp.cn http://www.morning.jhrtq.cn.gov.cn.jhrtq.cn http://www.morning.pqndg.cn.gov.cn.pqndg.cn http://www.morning.hbywj.cn.gov.cn.hbywj.cn http://www.morning.gwdkg.cn.gov.cn.gwdkg.cn http://www.morning.gqwbl.cn.gov.cn.gqwbl.cn http://www.morning.yjxfj.cn.gov.cn.yjxfj.cn http://www.morning.dmthy.cn.gov.cn.dmthy.cn http://www.morning.qwgct.cn.gov.cn.qwgct.cn http://www.morning.kycxb.cn.gov.cn.kycxb.cn http://www.morning.yzmzp.cn.gov.cn.yzmzp.cn http://www.morning.byshd.cn.gov.cn.byshd.cn http://www.morning.rfbpq.cn.gov.cn.rfbpq.cn http://www.morning.rlhh.cn.gov.cn.rlhh.cn http://www.morning.hcwlq.cn.gov.cn.hcwlq.cn http://www.morning.wtlyr.cn.gov.cn.wtlyr.cn