Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung, wie Python binäre Mnist-Instanzen liest

Detaillierte Erklärung, wie Python binäre Mnist-Instanzen liest

黄舟
黄舟Original
2017-06-04 10:18:461974Durchsuche

Dieser Artikel stellt hauptsächlich die relevanten Informationen zu Pythondetaillierte Erklärung zum Lesen binärer Mnist-Instanzen vor. Freunde in Not können sich auf

detaillierte Erklärung zum Lesen binärer Mnist-Instanzen in Python beziehen

Trainingsdaten-Datenstruktur:

<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

Die gesamte Datei einlesen in:

filename = &#39;train-images.idx3-ubyte&#39;
binfile = open(filename , &#39;rb&#39;)
buf = binfile.read()

Lesen Sie die ersten vier 32-Bit-Zahlen:

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

Lesen Sie ein Bild, 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()

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie Python binäre Mnist-Instanzen liest. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn