Home  >  Article  >  Backend Development  >  Detailed explanation of how python reads binary mnist instances

Detailed explanation of how python reads binary mnist instances

黄舟
黄舟Original
2017-06-04 10:18:461965browse

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 = &#39;train-images.idx3-ubyte&#39;
binfile = open(filename , &#39;rb&#39;)
buf = binfile.read()

Reading head Four 32bit intergers:

index = 0
magic, numImages , numRows , numColumns = struct.unpack_from(&#39;>IIII&#39; , buf , index)
index += struct.calcsize(&#39;>IIII&#39;)

Read a picture, 784=28*28:

im = struct.unpack_from(&#39;>784B&#39; ,buf, index)
index += struct.calcsize(&#39;>784B&#39;)
 
im = np.array(im)
im = im.reshape(28,28)
 
fig = plt.figure()
plotwindow = fig.add_subplot(111)
plt.imshow(im , cmap=&#39;gray&#39;)
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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn