版權(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è)輸入??偣灿?8行,則。的分割方式如下圖所示:輸入已經(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年鄭州澍青醫(yī)學(xué)高等??茖W(xué)校單招綜合素質(zhì)筆試備考題庫(kù)含詳細(xì)答案解析
- 代詞知識(shí)點(diǎn)初中
- 護(hù)理課件用戶界面設(shè)計(jì)
- 2026年天津工藝美術(shù)職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試備考題庫(kù)及答案詳細(xì)解析
- 2026年山東中醫(yī)藥大學(xué)附屬醫(yī)院公開(kāi)招聘高級(jí)崗位工作人員考試重點(diǎn)試題及答案解析
- 2026年安慶市某電力外包工作人員招聘1人(三)參考考試題庫(kù)及答案解析
- 保險(xiǎn)實(shí)務(wù)-教學(xué)課件全書課件完整版
- 2026年黔南民族職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)筆試模擬試題含詳細(xì)答案解析
- 2026年青島濱海學(xué)院?jiǎn)握芯C合素質(zhì)考試模擬試題含詳細(xì)答案解析
- 2026年煙臺(tái)科技學(xué)院招聘(273人)備考考試試題及答案解析
- 酒店治安防范教育培訓(xùn)安全管理制度
- 開(kāi)關(guān)電器的運(yùn)行與維護(hù)-高壓斷路器(電氣設(shè)備)
- 北師大版《數(shù)學(xué)》七年級(jí)上冊(cè)知識(shí)點(diǎn)總結(jié)
- 物資管理實(shí)施細(xì)則
- 安全健康與自我管理學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 人教版2019高中英語(yǔ)選擇性必修二(課文語(yǔ)法填空)
- 乳腺炎與乳腺癌關(guān)聯(lián)研究
- 2022年初會(huì)《經(jīng)濟(jì)法》真題答案
- 新華人壽培訓(xùn)講義
- GB/T 22551-2023旅居車輛居住要求
- mdvx節(jié)能證書及第三方檢測(cè)報(bào)告cqc
評(píng)論
0/150
提交評(píng)論