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()

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

相关文章

编写Python脚本来实现最简单的FTP下载的教程

访问FTP,无非两件事情:upload和download,最近在项目中需要从ftp下载大量文件,然后我就试着去实验自己的ftp操作类,如下(PS:此段有问题,别复制使用,可以参考去试验自...

Python下应用opencv 实现人脸检测功能

Python下应用opencv 实现人脸检测功能

使用OpenCV's Haar cascades作为人脸检测,因为他做好了库,我们只管使用。 代码简单,除去注释,总共有效代码只有10多行。 所谓库就是一个检测人脸的xml 文件,可以网...

用python与文件进行交互的方法

本文介绍了用python与文件进行交互的方法,分享给大家,具体如下: 一.文件处理 1.介绍 计算机系统:计算机硬件,操作系统,应用程序 应用程序无法直接操作硬件,通过操作系统来操作文...

Python简单读写Xls格式文档的方法示例

Python简单读写Xls格式文档的方法示例

本文实例讲述了Python简单读写Xls格式文档的方法。分享给大家供大家参考,具体如下: 1. 模块安装 使用pip install命令安装, 即: pip install xlrd...

Django中间件基础用法详解

前言 django的中间件可以在视图函数执行前执行,比如登陆验证、日志记录等,下面简单说明一下中间件的基础用法,主要为笔者学习时的笔记 1. 在django项目文件夹下创建一个用于存放中...