![9f226334f54326decf5bb39e807fa799.png](https://i-blog.csdnimg.cn/blog_migrate/fc2f033c54be3760c6f3071f4da96896.jpeg)
背景
Mnist数据集的识别问题可以算得上是——机器学习在视觉领域的hello world了,至少Gemfield这样认为。它的训练集有6万项数据,而测试集有1万项数据(其中前5000个来自最初NIST项目的训练集.,后5000个来自最初NIST项目的测试集。前5000个比后5000个要规整,这是因为前5000个数据来自于美国人口普查局的员工,而后5000个来自于大学生。还是大学生轻浮啊......)。在官方网站上,这些数据以4个gz压缩包的方式提供下载:
train-images-idx3-ubyte.gz: training set images (9912422 bytes)
train-labels-idx1-ubyte.gz: training set labels (28881 bytes)
t10k-images-idx3-ubyte.gz: test set images (1648877 bytes)
t10k-labels-idx1-ubyte.gz: test set labels (4542 bytes)
这些数据的格式还是比较简单的,上面文件中的所有的数字都是按照MSB(大端)的方式存储的。Gemfield要提醒你的是,intel处理器是little-endian的。所以在intel处理器上或者其它的little-endian处理器上,用户必须要进行相应的翻转处理。不过Gemfield在本文中展示的代码使用了python的