当前位置: 首页 > news >正文

南联网站建设公司wordpress文章小尾巴

南联网站建设公司,wordpress文章小尾巴,商检局做产地证的网站,微芒科技网站建设top因为我本人主要课题方向是处理图像的#xff0c;RNN是基本的序列处理模型#xff0c;主要应用于自然语言处理#xff0c;故这里就简单的学习一下#xff0c;了解为主 一、问题引入 已知以前的天气数据信息#xff0c;进行预测当天(4-9)是否下雨 日期温度气压是否下雨4-…因为我本人主要课题方向是处理图像的RNN是基本的序列处理模型主要应用于自然语言处理故这里就简单的学习一下了解为主 一、问题引入 已知以前的天气数据信息进行预测当天(4-9)是否下雨 日期温度气压是否下雨4-11020否4-23040是4-34025是4-41030是4-5510否4-61020是4-71260否4-82580是4-92015 这里的数据集都是随别胡乱写的哈就说在阐述一下待解决的问题随别做的数据集 思路可以四天一组每组中有4天的天气信息包括温度、气压、是否下雨 前三天作为输入第四天最为输出 在卷积神经网络中全连接层是权重最多的也是整个网络中计算量最多的地方 卷积中 输入128通道 输出64通道 卷积核5×5 总共的权重参数128×64×5×5 204800 全连接中 一般都不会直接将一个高维通道直接变为1而是多几个中间层进行过度 输入4096 输出1024 权重参数个数4096×1024 4194304 权重参数个数压根都不在一个数量级上所以说正因为卷积的权重共享导致卷积操作所需参数远小于全连接 RNN循环神经网络主要用在具有序列关系的数据中进行处理例如天气的预测因为前后的天气会相互影响并不会断崖式的变化、股市预测等典型的就是自然语言处理 我喜欢beyond乐队这句话的词语之间具有序列关系随便调换顺序产生的结果肯定很难理解 二、RNN循环神经网络 ⅠRNN Cell RNN Cell是RNN中的核心单元 xt序列当中时刻t时的数据这个数据具有一定的维度例如天气数据就是3D向量的即温度、气压、是否下雨 xt通过RNN Cell之后就会得到一个ht这个数据也是具有一定的维度假如是5D向量 从xt这个3D向量数据通过RNN Cell得到一个ht这个5D向量数据很明显这个RNN Cell本质就是一个线性层 区别RNN Cell这个线性层是共享的 RNN Cell基本流程 现学现卖 import torch#根据需求设定参数 batch_size 1 seq_len 3 input_size 4 hidden_size 2yy_cell torch.nn.RNNCell(input_sizeinput_size,hidden_sizehidden_size)dataset torch.randn(seq_len,batch_size,input_size) hidden torch.zeros(batch_size,hidden_size) #h0设置为全0for idx,inputs in enumerate(dataset):print(-----------------)print(Input size:,inputs.shape)hidden yy_cell(inputs,hidden)print(outputs size:,hidden.shape)print(hidden)0 Input size: torch.Size([1, 4]) outputs size: torch.Size([1, 2]) tensor([[ 0.6377, -0.4208]], grad_fnTanhBackward0)1 Input size: torch.Size([1, 4]) outputs size: torch.Size([1, 2]) tensor([[-0.2049, 0.6174]], grad_fnTanhBackward0)2 Input size: torch.Size([1, 4]) outputs size: torch.Size([1, 2]) tensor([[-0.1482, -0.2232]], grad_fnTanhBackward0)ⅡRNN 现学现卖 import torch#根据需求设定参数 batch_size 1 seq_len 3 input_size 4 hidden_size 2 num_layers 2 #两层RNN Cellcell torch.nn.RNN(input_sizeinput_size,hidden_sizehidden_size,num_layersnum_layers)inputs torch.randn(seq_len,batch_size,input_size) hidden torch.zeros(num_layers,batch_size,hidden_size) #h0设置为全0out,hidden cell(inputs,hidden)print(output size:,out.shape) print(output:,out) print(hidden size:,hidden.shape) print(hidden,hidden) output size: torch.Size([3, 1, 2]) output: tensor([[[ 0.8465, -0.1636]],[[ 0.3185, -0.1733]],[[ 0.0269, -0.1330]]], grad_fnStackBackward0) hidden size: torch.Size([2, 1, 2]) hidden tensor([[[ 0.5514, 0.8349]],[[ 0.0269, -0.1330]]], grad_fnStackBackward0)三、RNN实战 需求实现将输入beyond转换为ynbode ①文本转向量one-hot 因为RNN Cell单元输入的数据必须是由单词构成的向量 根据字符来构建一个词典并为其分配索引索引变One-Hot向量词典中有几项最终构建的向量也有几列只能出现一个1其余都为0 characterindexb0d1e2n3o4y5②模型训练 Ⅰ RNN Cell import torchinput_size 6 hidden_size 6 batch_size 1dictionary [b,e,y,o,n,d] #字典 x_data [0,1,2,3,4,5] #beyond y_data [2,4,0,3,5,1] #ynbodeone_hot [[1,0,0,0,0,0],[0,1,0,0,0,0],[0,0,1,0,0,0],[0,0,0,1,0,0],[0,0,0,0,1,0],[0,0,0,0,0,1]]x_one_hot [one_hot[x] for x in x_data] #将x_data的每个元素从one_hot得到相对于的向量形式inputs torch.Tensor(x_one_hot).view(-1,batch_size,input_size) #inputs形式为(seqlen,batch_size,input_size) labels torch.LongTensor(y_data).view(-1,1) #lables形式为(seqlen,1)class y_rnncell_model(torch.nn.Module):def __init__(self,input_size,hidden_size,batch_size):super(y_rnncell_model,self).__init__()self.batch_size batch_sizeself.input_size input_sizeself.hidden_size hidden_sizeself.rnncell torch.nn.RNNCell(input_sizeself.input_size,hidden_sizeself.hidden_size)def forward(self,inputs,labels):hidden self.rnncell(inputs,labels)return hiddendef init_hidden(self): #定义h0初始化return torch.zeros(self.batch_size,self.hidden_size)y_net y_rnncell_model(input_size,hidden_size,batch_size)#定义损失函数和优化器 lossf torch.nn.CrossEntropyLoss() optim torch.optim.Adam(y_net.parameters(),lr0.001)# RNN Cell for epoch in range(800):loss 0optim.zero_grad() #优化器梯度归零hidden y_net.init_hidden() #h0print(Predicted string:,end)for x,y in zip(inputs,labels):hidden y_net(x,hidden)loss lossf(hidden,y) #计算损失之和需要构造计算图_,idx hidden.max(dim1)print(dictionary[idx.item()],end)loss.backward()optim.step()print(,Epoch [%d/20] loss%.4f%(epoch1,loss.item()))Ⅱ RNN #引入torch import torchinput_size 6 #beyond hidden_size 6 # num_layers 1 batch_size 1 seq_len 6idx2char [b,d,e,n,o,y] #字典 x_data [0,2,5,4,3,1] #beyond y_data [5,3,0,4,1,2] #ynbodeone_hot [[1,0,0,0,0,0],[0,1,0,0,0,0],[0,0,1,0,0,0],[0,0,0,1,0,0],[0,0,0,0,1,0],[0,0,0,0,0,1]]x_one_hot [one_hot[x] for x in x_data] #将x_data的每个元素从one_hot得到相对于的向量形式inputs torch.Tensor(x_one_hot).view(seq_len,batch_size,input_size)labels torch.LongTensor(y_data)class y_rnn_model(torch.nn.Module):def __init__(self,input_size,hidden_size,batch_size,num_layers):super(y_rnn_model,self).__init__()self.num_layers num_layersself.batch_size batch_sizeself.input_size input_sizeself.hidden_size hidden_sizeself.rnn torch.nn.RNN(input_sizeself.input_size,hidden_sizeself.hidden_size,num_layersself.num_layers)def forward(self,inputs):hidden torch.zeros(self.num_layers,self.batch_size,self.hidden_size)#构造h0out,_ self.rnn(inputs,hidden) return out.view(-1,self.hidden_size) #seqlen×batchsize,hiddensizenet y_rnn_model(input_size,hidden_size,batch_size,num_layers)lessf torch.nn.CrossEntropyLoss() optimizer torch.optim.Adam(net.parameters(),lr0.05)for epoch in range(30):optimizer.zero_grad()outputs net(inputs)loss lessf(outputs,labels) loss.backward()optimizer.step()_, idx outputs.max(dim1)idx idx.data.numpy()print(Predicted:,.join([idx2char[x] for x in idx]),end)print(,Epoch[%d/15] loss%.3f % (epoch1,loss.item()))③one-hot的不足 1维度过高一个单词得占用一个维度 2one-hot向量过于稀疏就一个1其余全是0 3硬编码一对一 解决方法EMBEDDING 思路:将高维的向量映射到一个稠密的低维的向量空间里面 即数据的降维 优化RNN 官网torch.nn.Embedding函数详细参数解释 参数含义num_embeddingsone-hot的维度embedding_dimembedding的维度Input: (*)(∗), IntTensor or LongTensor of arbitrary shape containing the indices to extract输入需要是一个整型或者长整型IntTensor or LongTensorOutput: (*, H), where * is the input shape and Hembedding_dim(input shape,embedding_dim ) 网络架构
http://www.dnsts.com.cn/news/29952.html

相关文章:

  • 淘宝客网站根目录西安千度网站建设
  • 网站框架规划wordpress 分类模板指定
  • 福永网站开发超级网站模板下载
  • 口碑好的定制网站建设WordPress配置阿里云cdn
  • 做公司网站阿里北京商地网站建设公司
  • 静安做网站线上线下相结合的营销模式
  • 高清的广州网站建设电子商务网站建设 课后答案
  • 长春长春网站建设设计国外网站有哪些
  • 招聘网站建设技术要求wordpress optiontree
  • 开源门户网站建设方案网站开发 保证书
  • 教材资源网站建设wap手机
  • mvc网站开发 案例视频网站建设论文结束语
  • 河北省建设厅报名网站石家庄建设网站的公司
  • 长沙企业网站建设多少钱谷歌推广和seo
  • 深圳加盟网站建设wordpress插件ERP
  • 北京个人网站制作中英文网站英文
  • 可做设计任务的网站848给我做一下88网站
  • wix网站做图片能折叠吗美食网站建设的思路
  • 2003年北京网站建设营销策划经典案例
  • 普洱建设网站公众号 微网站建设方案
  • 如何做网站 知乎苏州网站建设公司排名
  • 网站浏览图片怎么做的校园综合门户网站建设方案
  • 哪个购物网站最便宜网站正在建设中中文模板
  • 建设网站的一般步骤开发系统定制
  • 国外手机设计网站定制网站建设案例课堂
  • 山东富国建设投资有限公司网站北京网站建设课程培训
  • 建站网站案例网站网站开发的
  • 网站网页价格广州品牌网站建设公司
  • 完整网站源码asp网站目录结构设计
  • 好的手机网站推荐seo方案书案例