ホームページ  >  記事  >  バックエンド開発  >  Python がバイナリ mnist インスタンスを読み取る方法の詳細な説明

Python がバイナリ mnist インスタンスを読み取る方法の詳細な説明

黄舟
黄舟オリジナル
2017-06-04 10:18:461974ブラウズ

この記事では主にpythonバイナリmnistサンプルの詳細な読み取りに関する関連情報を紹介します。必要な友人は、

トレーニングデータの詳細な読み取りを参照してください。 データ構造:

<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

ファイル全体:

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

最初の 4 つの 32 ビット整数を読み取ります:

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

画像

を読み取ります、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()

以上がPython がバイナリ mnist インスタンスを読み取る方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。