Home > Article > Backend Development > Detailed explanation of how python reads binary mnist instances
This article mainly introduces the relevant information of pythondetailed explanation of reading binary mnist instances. Friends in need can refer to the following
detailed explanation of python reading binary mnist instances
training data Data structure:
<br>[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
Read the entire file into:
filename = 'train-images.idx3-ubyte' binfile = open(filename , 'rb') buf = binfile.read()
Reading head Four 32bit intergers:
index = 0 magic, numImages , numRows , numColumns = struct.unpack_from('>IIII' , buf , index) index += struct.calcsize('>IIII')
Read a picture, 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()
The above is the detailed content of Detailed explanation of how python reads binary mnist instances. For more information, please follow other related articles on the PHP Chinese website!