深度學習案例教程 課件3.4.1MNIST數據集處理_第1頁
深度學習案例教程 課件3.4.1MNIST數據集處理_第2頁
深度學習案例教程 課件3.4.1MNIST數據集處理_第3頁
深度學習案例教程 課件3.4.1MNIST數據集處理_第4頁
深度學習案例教程 課件3.4.1MNIST數據集處理_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第四節

實踐任務-手寫數字識別神經網絡的訓練介紹神經網絡的訓練是指從訓練數據中自動獲取最優權重參數的過程,通常分為兩個階段:第1階段先通過前向傳播算法計算得到預測值,并計算預測值與真實值之間的差距(該差距也稱為損失函數);第2階段通過反向傳播算法計算損失函數對每一個參數的梯度,使用合適的梯度下降算法對參數進行更新。

第四節

實踐任務-手寫數字識別神經網絡的訓練介紹神經網絡的訓練以及參數更新的全部過程,如圖表示。

實踐任務1-數據處理1數據集介紹手寫數字識別采用MNIST數據集進行訓練,MNIST是有YannLeCun等創建的手寫數字識別數據集,簡單易用,通過對該數據集可以很好地進行手寫數字識別神經網絡建模。MINIST數據集主要是有一些手寫的數字的圖片及對應的標簽,該數據集的圖片共有10類,對應的阿拉伯數字為0~9,如圖表示。

實踐任務1-數據處理1數據集介紹在MINIST數據集介紹的官網(/exdb/mnist/)中可知,原始的MNIST數據集共包含4個文件,如圖表示。

文件名大小用途train-images-idx3-ubyte.gz9912422bytes訓練集圖像train-labels-idx1-ubyte.gz28881bytes訓練集標簽t10k-images-idx3-ubyte.gz1648877bytes測試集圖像t10k-labels-idx1-ubyte.gz4542bytes測試集標簽實踐任務1-MNIST數據處理2導入數據集

在PyTorch中,有一個非常重要并且好用的包是torchvision,該包主要由3個子包組成,分別是models、datasets和transforms。

models定義了許多用來完成圖像方面深度學習的任務模型。

datasets中包含MINIST、FakeData、COCO、LSUN、ImageFolder、DatasetFolder、ImageNet、CIFAR等一些常用的數據集,并且提供了數據集設置的一些重要參數,可以通過簡單數據集設置來進行數據集的調用。

transforms用來對數據進行預處理,預處理會加快神經網絡的訓練,常見的預處理包括從數組轉成張量(tensor)、歸一化等。

實踐任務1-MNIST數據處理2導入數據集importnumpyasnp

importtorch

fromtorchvisionimportdatasets,transforms

importmatplotlib.pyplotasplt

importtorchvision導入所需要的python包:實踐任務1-MNIST數據處理2導入數據集導入MNIST訓練集數據:#1導入數據集

train_loader=torch.utils.data.DataLoader(

datasets.MNIST(root='./data',#root表示數據加載的相對目錄

train=True,#train表示是否加載數據庫的訓練集,False時加載測試集

download=True,#download表示是否自動下載

transform=transforms.Compose([#transform表示對數據進行預處理的操作

transforms.ToTensor(),

transforms.Normalize((0.1307,),(0.3081,))

])),batch_size=64,shuffle=True)#batch_size表示該批次的數據量shuffle表示是否洗牌實踐任務1-MNIST數據處理2導入數據集導入MNIST測試集數據:test_loader=torch.utils.data.DataLoader(

datasets.MNIST('./data',train=False,transform=transforms.Compose([

transforms.ToTensor(),

transforms.Normalize((0.1307,),(0.3081,))

])),batch_size=64,shuffle=True)實踐任務1-MNIST數據處理2導入數據集數據可視化:defimshow(img):

img=img/2+0.5#逆歸一化

npimg=img.numpy()

plt.imshow(np.transpose(npimg,(1,2,0)))

plt.show()

#得到batch中的數據

dataiter=iter(train_loade

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論