刚刚加入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 新浪微博