关于MNIST数据格式和matlab读取问题

来源:互联网 发布:网络咨询医生工资待遇 编辑:程序博客网 时间:2024/04/28 22:24

刚刚加入csdn,献上自己关于MNIST的理解和简单地操作

下面是Le CUN教授的网址和代码下载  Le CUN 提供的原始数据

因为一些格式的问题,matlab不识别这种文件,所以我自己用二进制文件阅览器查看之后,重新生成了二进制文件,在此过程中,只是变换了文件格式,没有破坏原始数据。稍后我会穿上新的训练样本和测试样本。

MNIST一共有四个文件 :

1.train-image

2.train-label

3.test-image

4.test-label

他们的格式分别如下

1.train_image:

格式


之后的每一个字节代表一个PIXEL。这个文件的大小是4704016B,文件头有16B的描述,共有60000个图像样本,每个样本为28*28大小。

即4704016=60000*28*28+16。

MATLAB代码如下:

FID = fopen('E:/大学课程/2014毕业设计/本专业/样本/trainingsetimage.bin','r');% magicnumber=fread(FID,4,'int32');% size=fread(FID,4,'int32');magicnumber=fread(FID,4);size=fread(FID,4);rows=fread(FID,4);colums=fread(FID,4);for i=0:5train_image=fread(FID,[28,28]);imshow(train_image');pause;endfclose(FID);

可以看到读取出来的手写数字如图所示


2.train-label:

格式


之后的每一个字节表示一个标签。范围为0-9.

MATLAB读取代码:

3.test-image

格式


共有10000个样本,之后用每个字节代表一个PIXEL值。也是28*28的子图像,读取文件的程序可参考上面的


4.tast-label

格式

之后每个字节表示标签值,0-9.共10000个测试样本。



我也是第一次发博客,其中有什么写的不对的地方希望大家指正,有事可以联系我@temina 新浪微博





1 0
原创粉丝点击