通过MATLAB读取mnist数据库
mnist (手写字符识别) 的数据集下载地:
http://yann.lecun.com/exdb/mnist/
MNIST是在机器学习领域中的一个经典问题。该问题解决的是把28x28像素的灰度手写数字图片识别为相应的数字,其中数字的范围从0到9.下载后得到四个文件:
train-images-idx3-ubyte.gz,训练集,共 60,000 幅(28*28)的图像数据;
train-labels-idx1-ubyte.gz,训练集的标签信息(取值为 0-9),60,000*1
t10k-images-idx3-ubyte.gz,测试集(t: test, 10k: 10,000),共 10,000 副(28*28)的图像数据
t10k-labels-idx1-ubyte.gz,测试集的标签呢信息(取值为 0-9),10,000*1
通过如下的MATLAB可以读取四个文件:
fid = fopen('train-labels.idx1-ubyte', 'rb');
trainLabels = fread(fid, inf, 'uint8', 'l');
trainLabels = trainLabels(9:end);
fclose(fid);
% read test labels
fid = fopen('t10k-labels.idx1-ubyte', 'rb');
testLabels = fread(fid, inf, 'uint8', 'l');
testLabels = testLabels(9:end);
fclose(fid);
% read train images
fid = fopen('train-images.idx3-ubyte', 'rb');
trainImages = fread(fid, inf, 'uint8', 'l');
trainImages = trainImages(17:end);
fclose(fid);
trainData = reshape(trainImages, 784, size(trainImages,1) / 784)';
% read train images
fid = fopen('t10k-images.idx3-ubyte', 'rb');
testImages = fread(fid, inf, 'uint8', 'l');
testImages = testImages(17:end);
fclose(fid);
testData = reshape(testImages, 784, size(testImages,1) / 784)';
运行后,可以看到:
可以看到60000个训练数据,10000个测试数据。
相关文章
- 2.数据库约束
- 检测SqlServer数据库是否能连接的小技巧
- 云数据库redis版的性能测试
- 基于MATLAB的车牌识别系统设计(Matlab代码实现)
- 再获信通院权威认证,优等生华为云GaussDB数据库凭什么?
- 【数字信号处理】卷积编程实现 ( Matlab 卷积和多项式乘法 conv 函数 | 使用 matlab 代码求卷积并绘图 )
- 【MATLAB】matlab 文档使用 ( 文档查询 | 文档层次 | 自带搜索工具 | 帮助命令 | 学习导引 )
- 大约SQL/NoSQL数据库搜索/思考查询
- PostgreSQL的学习心得和知识总结(九十三)|详解PostgreSQL数据库 FROM子句使用别名 实现原理说明
- 数据库与集群了解
- 百度无人车和天工物联网都使用了时序数据库,但是你有多了解时序数据库?
- Matlab:MATLAB GUI不同控件函数间变量传递的三种方法详解
- Oracle12C安装、数据库连接的详细教程
- 数据库改造方案 | 同花顺、弘源泰平真实案例分享