python读取二进制mnist实例详解

yipeiwu_com7年前Python基础

python读取二进制mnist实例详解

training data 数据结构:

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

读取头四个32bit的interger:

index = 0
magic, 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()

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

简单的通用表达式求10乘阶示例

复制代码 代码如下:(lambda x: lambda n: x(x)(n))(lambda f: lambda n: 1 if n == 0 else n*f(f)(n-1))(10)...

Python中django学习心得

Python中django学习心得

以下是作者在学习Python中django框架时的学习笔记,并把测试的代码做了详细分析,最后还附上了学习心得,值得大家学习。 URL配置(URLconf)就像Django 所支撑网站的目...

Python PyQt5标准对话框用法示例

Python PyQt5标准对话框用法示例

本文实例讲述了Python PyQt5标准对话框用法。分享给大家供大家参考,具体如下: 很全的Qt的标准对话框,包含QInputDialog、QColorDialog、QFontDial...

python控制台显示时钟的示例

复制代码 代码如下:#!/usr/bin/env python# coding: utf-8### show time in console#import sysimport time...

pycharm运行和调试不显示结果的解决方法

pycharm运行和调试不显示结果的解决方法

刚在虚拟机里面安装了pycharm,配置(setting)完后,新建一个py文件,键入"hello world",竟然没有结果,虽然运行成功。pycharm太不友好了吧! 然后开始找问...