使用paddlepaddle进行手写数字识别
生活随笔
收集整理的這篇文章主要介紹了
使用paddlepaddle进行手写数字识别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
導讀
MNIST手寫數字數據集作為深度學習入門的數據集是我們經常都會使用到的,包含了0~9共10個數字類別的圖片,每張圖片的大小為28X28,一共包含了60000張訓練集圖片和10000張測試集圖片。
使用PaddlePadlle進行手寫數字識別
- 導包
- 加載MNIST數據集
- 展示手寫數字的圖片
- 使用paddlepaddle定義神經網絡模型
這里我們先使用一個比較簡單的3層感知機來構建一個模型,第一層全連接層的輸出是256,第二層全連接層的輸出是128,第三層全連接層的輸出是10,正好對應10個不同的數字類別
class PerceptronMNIST(paddle.nn.Layer):def __init__(self,in_features,classes_num):super(PerceptronMNIST,self).__init__()#將輸出數據的shape由(-1,1,28,28)變為(-1,784)self.flatten = paddle.nn.Flatten()#感知機的第一層全連接層self.fc1 = paddle.nn.Linear(in_features=in_features,out_features=256)#激活函數self.relu1 = paddle.nn.ReLU()#感知機的第二層全連接層self.fc2 = paddle.nn.Linear(in_features=256,out_features=128)#激活函數self.relu2 = paddle.nn.ReLU()#感知機的第三層全連接層self.fc3 = paddle.nn.Linear(in_features=128,out_features=classes_num)def forward(self,x):x = self.flatten(x)x = self.fc1(x)x = self.relu1(x)x = self.fc2(x)x = self.relu2(x)x = self.fc3(x)return x- 打印網絡模型的結構
- 定義優化算法和Loss
- 訓練模型
- 評估模型
- 模型預測
總結
以上是生活随笔為你收集整理的使用paddlepaddle进行手写数字识别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 加载3d模型
- 下一篇: 成本太高,京东配送扛不住了?