


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
RNNLSTM。本文将通过一个实战项目带大家使用PyTorch搭建RNN模型。本项目将构建一个RNN模型,来对MNIST问,MNIST数据集不是吗,而RNN是处理序列信号的。为什么识别也能使用RNN模型呢?其实,这里我们可以把看成是序列信号,例如下面是MNIST数据集的一张图MNIST数据集中所有的都是28x28的。按行来看,的每一行都包含28个像素点,一共有28行。因此,我们可以把每一行的28个像素点当成RNN的一个输入。总共有28行,则。的分割方式如下图所示:输入已经确定了,对于输出,因为是分类问题,识别0~9数字,因此,RNN模型应该有个输出,即。此例中,确定了基本结构和输入输出之后,我们开始使用PyTorchRNNMNIST下面代码实现了MNIST数据集的导入。importtorchimporttorchvisionimporttorchvision.transformsastransformsimporttorch.nnasnnimporttorch.nn.functionalasFimporttorch.optimasoptimimportmatplotlib.pyplotaspltimportnumpyasnptransformpose(#trainset=##不从网络上trainloader=torch.utils.data.DataLoader(trainset,testset=#不从网络上testloader=torch.utils.data.DataLoader(testset,batch_size=4,shuffle=False, 成,这里的download设置为False,即从本地导入数据集。我们设置,
表示每次epoch都重新打乱训练样本 下面程序展示了Mini-batch训练样本并标注正确的过程defnpimg=img.numpy()plt.imshow(np.transpose(npimg,(1,2,0)))#选择一个batchdataiter=images,labels=#显示#打印print(''.join('%11s'%labels[j].numpy()forjintorch.Size([60000,torch.Size([60000,28,torch.Size([10000,28,训练集包含60000张,测试集包含10000张,每张大小为28x28RNN与CNN类似,我们可以使用PyTorch直接搭建RNN模型,首先定义RNN类。classNet(nn.Module):definit(self):super(Net,self).initself.rnn=nn.LSTM(input_size=28,hidden_size=84,h,time_step,#使用LSTM#每行包含#隐藏层神经元设置为84是否将batch self.out=nn.Linear(8410#输出层,包含10个神经元,对应defforward(self,r_out,(h_n,h_c)=self.rnn(x,RNNout=self.out(r_out[:,-1,return以上代码是构建RNN的部分。我们发现PyTroch中构建RNN模型非常简单,只需简单
input_size=
表示每个输入元素的维度,即每行包含28个像hidden_size=self.out=nn.Linear(84, 将隐藏层神经元设置为84个, hidden_size=self.out=nn.Linear(84,为LSTM的单元
(h_n,r_out,(h_n,h_c)=self.rnn(x,r_out,(h_n,h_c)=self.rnn(x,out=self.out(r_out[:,-1,out=self.out(r_out[:,-1,netnet=(rnn):LSTM(28,84,num_layers=2,(out):Linear(in_features=84,out_features=10,非常直观,可以完整清晰地查看我们构建的RNN模型结构。
表示选择最后一正如之前利用PyTorch构建CNN模型的实战过程,我们仍使用Adamcriterion=optimizer=optim.Adam(net.parameters(),num_epoches #设置epochcost #forepochinrunning_loss=fori,datainenumerate(trainloader,#inputs,labels= inputsinputs.view(-12828)设置RNN输入维度为(batchtime_step,input_size)##正 、反 outputs=loss=criterion(outputs,#running_loss+=ifi2000== #每隔2000mini-batchesprint('[%d,%5d]loss:%.3f'(epoch+1,i+1,running_loss/cost.append(running_loss/running_loss=。否则,梯度会累加,造成训练错误和失效。PyTorch能自动完成所有梯度计算。我们发现,PyTorch中RNN的训练代码与inputs=inputs.view(-1,28,inputs=inputs.view(-1,28,(batchtime_stepinput_size),即(42828)。[1,2000]loss:[1,4000]loss:[1,6000]loss:[1,8000]loss:[1,10000]loss:[1,12000]loss:[1,14000]loss:[2,2000]loss:[2,4000]loss:[2,6000]loss:[2,8000]loss:[2,10000]loss:[2,12000]loss:[2,14000]loss:[3,2000]loss:[3,4000]loss:[3,6000]loss:[3,8000]loss:[3,10000]loss:[3,12000]loss:[3,14000]loss:[4,2000]loss:[4,4000]loss:[4,6000]loss:[4,8000]loss:[4,10000]loss:[4,12000]loss:[4,14000]loss:[5,2000]loss:[5,4000]loss:[5,6000]loss:[5,8000]loss:[5,10000]loss:[5,12000]loss:[5,14000]loss:将所有Loss显然,随着迭代训练,Loss逐渐减小。correct=total=total+=correct+=(predicted==print('Accuracyofthenetworkonthe10000testimages:%.3f%%'(100*correct/ datainimages,labels=images=images.view(-1,28,outputs=_,predicted=AccuracyAccuracy
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省镇江市丹阳市2024-2025学年高一下学期3月月考英语试题(含答案 无)
- 延安职业技术学院《文献检索及论文规范训练1》2023-2024学年第一学期期末试卷
- 2025届河北省五个一名校高三高考仿真模拟卷物理试题含解析
- 江苏省徐州市睢宁县第一中学2024-2025学年高三下学期一诊模拟生物试题含解析
- 吉林医药学院《英汉翻译》2023-2024学年第一学期期末试卷
- 2025年吉林省辽源市重点中学高三5月质量调研(一模)语文试题试卷含解析
- 青海高等职业技术学院《国际化课程学习技能》2023-2024学年第一学期期末试卷
- 2025年宜宾市高县六年级下学期小升初数学考前押题卷含解析
- 审计资料-需要提供的其他资料清单
- 2025年河南南阳华龙区高级中学高三5月月考试题物理试题含解析
- 2024年中国高软化点沥青市场调查研究报告
- 《年产2000吨果汁型茶饮料的生产工艺设计》4600字(论文)
- 护士5年职业生涯规划
- DB32T 3549-2019 医疗卫生机构医疗废物暂时贮存设施设备设置规范
- 深圳退休人员劳务合同模板
- 江西省发展改革委委属事业单位招聘工作人员笔试真题2023
- 《无人机飞行操控技术(微课版)》试题及答案题库07 无人机地面站飞行操控
- 国家开放大学《实 用管理基础》形考任务1-4参考答案
- 小学的数学课件
- 9 漂浮的船 说课稿-2023-2024学年科学六年级下册冀人版
- 2024-2030年中国高尔夫行业运作模式及投资规划分析报告
评论
0/150
提交评论