您的位置:首页 > 编程语言 > MATLAB

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

2014-05-20 11:01 381 查看
刚刚加入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:5
train_image=fread(FID,[28,28]);
imshow(train_image');
pause;
end
fclose(FID);


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





2.train-label:

格式



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

MATLAB读取代码:

3.test-image

格式



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

4.tast-label

格式



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

我也是第一次发博客,其中有什么写的不对的地方希望大家指正,有事可以联系我@temina 新浪微博
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: