python讀取二進制mnist實例詳解
training data 數(shù)據(jù)結(jié)構(gòu):
<br>[offset] [type] [value] [description]0000 32 bit integer 0x00000803(2051) magic number0004 32 bit integer 60000 number of images0008 32 bit integer 28 number of rows0012 32 bit integer 28 number of columns0016 unsigned byte ?? pixel0017 unsigned byte ?? pixel........xxxx unsigned byte ?? pixel
將整個文件讀入:
filename = 'train-images.idx3-ubyte'binfile = open(filename , 'rb')buf = binfile.read()
讀取頭四個32bit的interger:
index = 0magic, numImages , numRows , numColumns = struct.unpack_from('>IIII' , buf , index)index += struct.calcsize('>IIII')讀取一個圖片,784=28*28 :
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()感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答
圖片精選