解析MNIST数据集

机器学习的入门,一般都是从MNIST数据库上进行手写识别开始的。MNIST数据集作为一个简单的计算机视觉数据集,包含一系列手写数字图片和对应的标签。图片是28x28的像素矩阵,标签则对应着0~9的10个数字。每张图片都经过了大小归一化和居中处理。而MNIST数据库的文件格式是IDX格式,常见的计算机软件无法识别,参考《使用Python解析MNIST数据集(IDX文件格式)》,改编出一个程...
摘要由CSDN通过智能技术生成

机器学习的入门,一般都是从MNIST数据库上进行手写识别开始的。 

MNIST数据集作为一个简单的计算机视觉数据集,包含一系列手写数字图片和对应的标签。图片是28x28的像素矩阵,标签则对应着0~9的10个数字。每张图片都经过了大小归一化和居中处理。

而MNIST数据库的文件格式是IDX格式,常见的计算机软件无法识别,参考《使用Python解析MNIST数据集(IDX文件格式)》,改编出一个程序,可以直观看出图像和标签。我的调试环境:win10/Anaconda3/Jupyter Notebook/Python3

=====================

IDX文件的格式

基本格式如下:


幻数(magic number)
0维的大小
1维的大小
2维的大小
...
N维的大小
数据(data)...


幻数是最高位有效位在前(MSB firt)的四字节整型数。

前两个字节为0。

第三个字节指明了数据(the data)的类型:
0x08 无符号的字节型 (8bit)
0x09 有符号的字节型 (8bit)
0x0B 短整型 (16bit)
0x0C 整型 (32bit)
0x0D 浮点型 (32bit)
0x0E 双精度浮点型 (64bit)

第四个字节指明向量或矩阵的维度:
1 向量
2 矩阵
...


每一个维度的大小都用4字节的整型数表示。最高有效位在前(MSB first)、大端(high endian)。


数据(the data)向C语言中的数组一样存储。例如,最后一维的变化最快。

=============================================================================

闲话少叙,书归正传,下面开练。

传统开场白

导入需要的模块

我已经将训练集和测试集的四个文件从 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值