1 問(wèn)題 關(guān)于MINIST數(shù)據(jù)集,?用“橫縱式”極簡(jiǎn)實(shí)現(xiàn)方案快速完成手寫(xiě)數(shù)字識(shí)別的建模?2 方法 MINIST 數(shù)據(jù)集包含60000個(gè)訓(xùn)練集與10000個(gè)測(cè)試集,。數(shù)據(jù)集分為圖片與標(biāo)簽,其中圖片是28*28的像素矩陣,,標(biāo)簽為 0~9 共10個(gè)數(shù)字,。 步驟: 在數(shù)據(jù)處理前,首先要加載飛槳平臺(tái)與“手寫(xiě)數(shù)字識(shí)別”模型相關(guān)的類庫(kù),,實(shí)現(xiàn)方法如下,。 #加載飛槳和相關(guān)類庫(kù) import paddle import paddle.fluid as fluid from paddle.fluid.dygraph.nn import Linear import numpy as np import os from PIL import Image batch函數(shù)將MNIST數(shù)據(jù)集拆分成多個(gè)批次,通過(guò)如下代碼讀取第一個(gè)批次的數(shù)據(jù)內(nèi)容,,觀察數(shù)據(jù)打印結(jié)果,。 # 以迭代的形式讀取數(shù)據(jù) for batch_id, data in enumerate(train_reader()): # 獲得圖像數(shù)據(jù),并轉(zhuǎn)為float32類型的數(shù)組 img_data = np.array([x[0] for x in data]).astype('float32') # 獲得圖像標(biāo)簽數(shù)據(jù),,并轉(zhuǎn)為float32類型的數(shù)組 label_data = np.array([x[1] for x in data]).astype('float32') # 打印數(shù)據(jù)形狀 print("圖像數(shù)據(jù)形狀和對(duì)應(yīng)數(shù)據(jù)為:", img_data.shape, img_data[0]) print("圖像標(biāo)簽形狀和對(duì)應(yīng)數(shù)據(jù)為:", label_data.shape, label_data[0]) break print("\n打印第一個(gè)batch的第一個(gè)圖像,,對(duì)應(yīng)標(biāo)簽數(shù)字為{}".format(label_data[0])) # 顯示第一batch的第一個(gè)圖像 import matplotlib.pyplot as plt img = np.array(img_data[0]+1)*127.5 img = np.reshape(img, [28, 28]).astype(np.uint8) plt.figure("Image") # 圖像窗口名稱 plt.imshow(img) plt.axis('on') # 關(guān)掉坐標(biāo)軸為 off plt.title('image') # 圖像題目 plt.show() 3 結(jié)語(yǔ) 這次實(shí)驗(yàn)我們深入了解和擴(kuò)展了一些關(guān)于手寫(xiě)數(shù)字的步驟和方法,過(guò)程中困難重重,,但好在有老師和同學(xué)們的幫助也算順利解答了疑惑,。
|