日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

深度学习导论(5)手写数字识别问题步骤

發布時間:2023/12/15 pytorch 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习导论(5)手写数字识别问题步骤 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

深度學習導論(5)手寫數字識別問題步驟

  • 手寫數字識別分類問題具體步驟(Training an handwritten digit classification)
  • 加載數據
  • 顯示訓練集中的圖片
  • 定義神經網絡模型(DNN)
  • 定義損失函數
  • 訓練網絡模型
  • 保存訓練模型
  • 測試模型
  • 對整個測試集進行測試
  • 判斷各個類(0~9)的正確率

手寫數字識別分類問題具體步驟(Training an handwritten digit classification)

  • Load and normalizing the MNIST training and test datasets using torchvision;
    使用torchvision加載并對MNIST數據集規格化;
  • Define a Convolution Neural Network
    定義卷積神經網絡;
  • Define a loss function
    定義損失函數;
  • Train the network on the training data
    利用數據經過反復迭代(多輪epoch),訓練網絡,得到一組最優的(或者局部最優的)網絡參數(w和b);
  • Test the network on the test data
    得到網絡參數(w和b)后,模型就有了,就可以利用測試集數據去測試網絡模型。

加載數據

  • MNIST數據集在datasets包里面;
  • transforms是應用于對數據集的變換(且一般應用于對圖像的變換),通過transforms將圖像的數據轉換成tensor的數據;
  • MNIST已經規格化成[0, 1],因此不需要進行規格化,但也可以規格化成[-1, 1];
  • ‘./data’是定義一個目錄,會將下載后的數據放入到本地的‘./data’目錄里; ‘train = True’表示下載的是訓練數據; ‘download = True’表示數據將下載到本地; ‘transform = transform’表示將數據做transform變換(即前邊定義的transform = transforms.Compose([transforms.ToTensor]));
  • train_loader = torch.utils.data.DataLoader(trainset, batch_size=5)表示將數據封裝成可以直接送入到網絡中的數據,batch_size = 5表示每一批數據會送入5個樣本;
  • 采樣同樣的方法,對測試集進行封裝;
  • 定義標簽[0~9],方便輸出和顯示。
  • 顯示訓練集中的圖片

  • imshow: 顯示單張圖片;
  • imshowGridImages: 顯示多張圖片(以網格的形式);
  • 定義神經網絡模型(DNN)

  • Net(nn.Module): 定義神經網絡的類,基于nn.Module模塊定義的;
  • __init__函數中定義了“層”;
  • forward函數將__init__函數中定義的“層”串接起來;
  • 定義損失函數

  • nn.CrossEntropyLoss框架中已經準備好了一些損失函數,直接調用即可;
  • SGD為優化器,隨機梯度下降法;
  • 訓練網絡模型

  • 定義循環epoch;
  • running_loss為自己定義的損失值;
  • enumerate(train_loader)表示將訓練好的數據分批次取出來;
  • inputs, labels = data中的data實際上是batch,即一批數據,而不是單獨的樣本;
  • view(inputs.size(0), -1)表示將矩陣“抻平”成一個向量;
  • optimizer.zero_grad()表示將優化器中的參數w和b梯度的值初始化成0;
  • criterion為前邊定義的損失函數;
  • 通過調用loss.backword()方法可以計算w和b的偏導數;
  • 輸入層為28*28=784維,中間層有512維,輸出層有10維,那么:
    (1) 隱藏層h_1的參數: w_1=784×512, b_1=512, h_1有幾個神經元,b_1就有幾個分量。所以h_1:784×512+512;
    (2) 輸出層o的參數: w_2=512×10, b_2=10。所以o:512×10+10;
  • 通過optimizer.step()方法可以自動地更新w和b;
  • 保存訓練模型

  • 保存后,日后就可以對一些模型進行測試;
  • 測試模型

  • iter為迭代器;
  • net.load_state_dict(torch.load(PATH))表示將之前保存的數據加載到模型當中去(實際上加載的就是w和b);
  • 對整個測試集進行測試

  • no_grad表示不需要加入梯度計算,因為測試時只有前向過程,在訓練的時候才會有前向和反向的過程;
  • 判斷各個類(0~9)的正確率

    總結

    以上是生活随笔為你收集整理的深度学习导论(5)手写数字识别问题步骤的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 久久婷色 | 久草视频精品在线 | jizzjizz在线观看 | 免费不卡毛片 | 色哟哟一区二区三区 | 亚洲一区二区影视 | 狠狠涩| 国产精品99久久久久久动医院 | 欧美日韩中文字幕一区二区三区 | 熟女少妇a性色生活片毛片 亚洲伊人成人网 | 波多野结衣一二区 | 欧美黑人巨大xxx极品 | 青青草97 | 乳色吐息免费看 | 国产一区二区三区自拍 | 72pao成人国产永久免费视频 | 有声小说 成人专区 | 亚洲国产精品成人综合色在线婷婷 | 麻豆成人在线视频 | 精品影视 | 欧美四区 | av国产免费| 三级黄网 | 一本一道精品欧美中文字幕 | 黄色日韩视频 | 中文字幕亚洲乱码熟女1区2区 | 欧美福利一区二区 | 丰满人妻一区二区三区免费 | 国产欧美日韩成人 | 三浦惠理子aⅴ一二三区 | 女女同性被吸乳羞羞 | 日韩精品电影在线 | 国语对白做受欧美 | bbbbbbbbb毛片大片按摩 | 国产精品网页 | 日韩成人免费在线 | 欧美色图3p| 一本大道久久a久久精二百 琪琪色在线视频 | 成人做爰66片免费看网站 | 极品少妇在线观看 | 天天插夜夜爽 | 精品视频在线观看一区 | 日韩av综合网 | 97免费人妻无码视频 | 亚洲成人乱码 | 黄色麻豆网站 | 蜜桃久久久久 | 精品黄色av | 网站黄在线观看 | 成人精品一区二区三区电影黑人 | 精品一区二区三区中文字幕 | 国产欧美一区二 | 久久精品国产99久久久 | 亚洲av人人澡人人爽人人夜夜 | 成年人免费视频观看 | 久操视频网| 91免费网站在线观看 | 99免费观看视频 | 波多野一区二区 | 99成人在线视频 | 极品91尤物被啪到呻吟喷水 | 91麻豆产精品久久久久久夏晴子 | 九色91av | 亚洲AV无码国产精品播放在线 | 毛片你懂的 | 香蕉久久一区二区三区 | 日韩精品免费视频 | 播放黄色一级片 | 亚洲一区二区天堂 | 黄色网战大全 | 怨女1988国语版在线观看高清 | 欧美少妇xx | 欧美一区二区三区久久成人精品 | 操欧美美女 | 亚洲国产成人在线观看 | 午夜精品久久久久久久久久 | 美女黄污网站 | 欧美小视频在线 | 国产欧美中文字幕 | 在线步兵区 | 国产精品综合久久久 | 黄色国产在线播放 | www.三级| 日韩成人在线一区 | 亚洲中文字幕97久久精品少妇 | jzzjzz日本丰满成熟少妇 | 第四色在线视频 | 波多野结av衣东京热无码专区 | 99re在线国产 | a级黄色网址 | 欧美日韩一区二区精品 | 亚洲成人高清在线观看 | 翔田千里一区二区 | 欧美精品久久久 | 在线观看www视频 | 黄色一级图片 | 丰满少妇熟乱xxxxx视频 | 成人网色 | 日本三级黄在线观看 |