


版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
RNNLSTM。本文將通過(guò)一個(gè)實(shí)戰(zhàn)項(xiàng)目帶大家使用PyTorch搭建RNN模型。本項(xiàng)目將構(gòu)建一個(gè)RNN模型,來(lái)對(duì)MNIST問(wèn),MNIST數(shù)據(jù)集不是嗎,而RNN是處理序列信號(hào)的。為什么識(shí)別也能使用RNN模型呢?其實(shí),這里我們可以把看成是序列信號(hào),例如下面是MNIST數(shù)據(jù)集的一張圖MNIST數(shù)據(jù)集中所有的都是28x28的。按行來(lái)看,的每一行都包含28個(gè)像素點(diǎn),一共有28行。因此,我們可以把每一行的28個(gè)像素點(diǎn)當(dāng)成RNN的一個(gè)輸入。總共有28行,則。的分割方式如下圖所示:輸入已經(jīng)確定了,對(duì)于輸出,因?yàn)槭欠诸悊?wèn)題,識(shí)別0~9數(shù)字,因此,RNN模型應(yīng)該有個(gè)輸出,即。此例中,確定了基本結(jié)構(gòu)和輸入輸出之后,我們開(kāi)始使用PyTorchRNNMNIST下面代碼實(shí)現(xiàn)了MNIST數(shù)據(jù)集的導(dǎo)入。importtorchimporttorchvisionimporttorchvision.transformsastransformsimporttorch.nnasnnimporttorch.nn.functionalasFimporttorch.optimasoptimimportmatplotlib.pyplotaspltimportnumpyasnptransformpose(#trainset=##不從網(wǎng)絡(luò)上trainloader=torch.utils.data.DataLoader(trainset,testset=#不從網(wǎng)絡(luò)上testloader=torch.utils.data.DataLoader(testset,batch_size=4,shuffle=False, 成,這里的download設(shè)置為False,即從本地導(dǎo)入數(shù)據(jù)集。我們?cè)O(shè)置,
表示每次epoch都重新打亂訓(xùn)練樣本 下面程序展示了Mini-batch訓(xùn)練樣本并標(biāo)注正確的過(guò)程defnpimg=img.numpy()plt.imshow(np.transpose(npimg,(1,2,0)))#選擇一個(gè)batchdataiter=images,labels=#顯示#打印print(''.join('%11s'%labels[j].numpy()forjintorch.Size([60000,torch.Size([60000,28,torch.Size([10000,28,訓(xùn)練集包含60000張,測(cè)試集包含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#每行包含#隱藏層神經(jīng)元設(shè)置為84是否將batch self.out=nn.Linear(8410#輸出層,包含10個(gè)神經(jīng)元,對(duì)應(yīng)defforward(self,r_out,(h_n,h_c)=self.rnn(x,RNNout=self.out(r_out[:,-1,return以上代碼是構(gòu)建RNN的部分。我們發(fā)現(xiàn)PyTroch中構(gòu)建RNN模型非常簡(jiǎn)單,只需簡(jiǎn)單
input_size=
表示每個(gè)輸入元素的維度,即每行包含28個(gè)像hidden_size=self.out=nn.Linear(84, 將隱藏層神經(jīng)元設(shè)置為84個(gè), hidden_size=self.out=nn.Linear(84,為L(zhǎng)STM的單元
(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,非常直觀,可以完整清晰地查看我們構(gòu)建的RNN模型結(jié)構(gòu)。
表示選擇最后一正如之前利用PyTorch構(gòu)建CNN模型的實(shí)戰(zhàn)過(guò)程,我們?nèi)允褂肁damcriterion=optimizer=optim.Adam(net.parameters(),num_epoches #設(shè)置epochcost #forepochinrunning_loss=fori,datainenumerate(trainloader,#inputs,labels= inputsinputs.view(-12828)設(shè)置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=。否則,梯度會(huì)累加,造成訓(xùn)練錯(cuò)誤和失效。PyTorch能自動(dòng)完成所有梯度計(jì)算。我們發(fā)現(xiàn),PyTorch中RNN的訓(xùn)練代碼與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顯然,隨著迭代訓(xùn)練,Loss逐漸減小。correct=total=total+=correct+=(predicted==print('Accuracyofthenetworkonthe10000testimages:%.3f%%'(100*correct/ datainimages,labels=images=images.view(-1,28,outputs=_,predicted=AccuracyAccuracy
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 社區(qū)營(yíng)銷對(duì)品牌影響力的提升計(jì)劃
- 2025炸雞店加盟合同范本與肯德基餐飲管理加盟協(xié)議書
- 2025年房屋租賃合同履行問(wèn)題及解決策略研究
- 推動(dòng)社區(qū)環(huán)境美化的個(gè)人方案計(jì)劃
- 合同法講座-風(fēng)險(xiǎn)防范
- 設(shè)定短期與長(zhǎng)期工作目標(biāo)計(jì)劃
- 電商行業(yè)營(yíng)銷推廣全案策劃
- 2024屆廣東省汕尾市海豐縣重點(diǎn)名校中考四模數(shù)學(xué)試題含解析
- 2025年南充貨運(yùn)上崗證模擬考試題
- 農(nóng)業(yè)生產(chǎn)節(jié)能減排與綠色生產(chǎn)方案
- 院科兩級(jí)人員緊急替代程序與替代方案
- 《金屬加工基礎(chǔ)(第二版)》中職全套教學(xué)課件
- 2025年湖北省初中學(xué)業(yè)水平考試數(shù)學(xué)模擬卷(二)(原卷版+解析版)
- 2025年華能新能源股份有限公司廣東分公司應(yīng)屆高校畢業(yè)生招聘筆試參考題庫(kù)附帶答案詳解
- 2025年新疆克州中考英語(yǔ)一模試卷
- 2024年新疆伊犁州直檢察機(jī)關(guān)招聘聘用制書記員筆試真題
- 口腔四手操作培訓(xùn)
- 醫(yī)院檢驗(yàn)科簡(jiǎn)介
- 成人手術(shù)后疼痛評(píng)估與護(hù)理團(tuán)體標(biāo)準(zhǔn)
- 連鎖藥店年度規(guī)劃
- 2024年10月自考07729倉(cāng)儲(chǔ)技術(shù)與庫(kù)存理論試題及答案
評(píng)論
0/150
提交評(píng)論