八、AlexNet可能會(huì)提高你的準(zhǔn)確率

八、AlexNet可能會(huì)提高你的準(zhǔn)確率

從之前的文章中你學(xué)會(huì)了使用TensorFlow來對(duì)經(jīng)典的手寫數(shù)字集的一種識(shí)別,最終訓(xùn)練出來的識(shí)別準(zhǔn)確率雖然不是很高,因?yàn)樗纳窠?jīng)**實(shí)在實(shí)在是太簡(jiǎn)單了。只有寥寥簡(jiǎn)單的五層。

我們這次采用AlexNet神經(jīng)**來再次對(duì)mnist數(shù)據(jù)進(jìn)行測(cè)試。

使用在MNIST學(xué)習(xí)的手寫數(shù)字識(shí)別用CNN寫數(shù)字組α的%(=/10)正確?

你這里的正確率應(yīng)該是指手寫數(shù)字識(shí)別的正確率,其計(jì)算公式為:正確率=模型正確識(shí)別數(shù)字類型的樣本數(shù)/總樣本數(shù)舉個(gè)例子,假設(shè)有3張圖片,分別為手寫體的3,7,8,而你構(gòu)建的模型分別打上了3,7,9的標(biāo)簽,那么只有3,7兩張圖片是正確識(shí)別的數(shù)字,8被錯(cuò)誤識(shí)別為9,因此正確率為2/3,即約為66.7%。

MNIST數(shù)據(jù)集上手寫數(shù)字識(shí)別準(zhǔn)確率是否能達(dá)到100

其實(shí)就是python怎么讀取binnary filemnist的結(jié)構(gòu)如下,選取train-images TRAINING SET IMAGE FILE (train-images-idx3-ubyte):[offset] [type] [value] [description] 0000 32 bit integer 0x00000803(2051) magic number 0004 32 bit integer 60000 number of images 0008 32 bit integer 28 number of rows 0012 32 bit integer 28 number of columns 0016 unsigned byte ?? pixel 0017 unsigned byte ?? pixel …….. xxxx unsigned byte ?? pixel 也就是之前我們要讀取4個(gè) 32 bit integer 試過很多方法,覺得最方便的,至少對(duì)我來說還是使用struct.unpack_from()filename = \’train-images.idx3-ubyte\’binfile = open(filename , \’rb\’)buf = binfile.read()先使用二進(jìn)制方式把文件都讀進(jìn)來index = 0magic, numImages , numRows , numColumns = struct.unpack_from(\’>IIII\’ , buf , index)index += struct.calcsize(\’>IIII\’)然后使用struc.unpack_from\’>IIII\’是說使用大端法讀取4個(gè)unsinged int32 然后讀取一個(gè)圖片測(cè)試是否讀取成功im = struct.unpack_from(\’>784B\’ ,buf, index)index += struct.calcsize(\’>784B\’) im = np.array(im)im = im.reshape(28,28) fig = plt.figure()plotwindow = fig.add_subplot(111)plt.imshow(im , cmap=\’gray\’)plt.show()\’>784B\’的意思就是用大端法讀取784個(gè)unsigned byte 完整代碼如下import numpy as npimport structimport matplotlib.pyplot as plt filename = \’train-images.idx3-ubyte\’binfile = open(filename , \’rb\’)buf = binfile.read() index = 0magic, numImages , numRows , numColumns = struct.unpack_from(\’>IIII\’ , buf , index)index += struct.calcsize(\’>IIII\’) im = struct.unpack_from(\’>784B\’ ,buf, index)index += struct.calcsize百科(\’>784B\’) im = np.array(im)im = im.reshape(28,28) fig = plt.figure()plotwindow = fig.add_subplot(111)plt.imshow(im , cmap=\’gray\’)plt.show()只是為了測(cè)試是否成功所以只讀了一張圖片