实验 基于MNIST库的手写数字识别
目录
MNIST 数据集来自美国国家标准与技术研究所, 训练集由来自 250 个不同人手写的数字构成, 其中 50% 是高中学生, 50% 来自人口普查局 MNIST数据集是机器学习领域中非常经典的一个数据集,由60000个训练样本和10000个测试样本组成,每个样本都是一张28 * 28像素的灰度手写数字图片。
1 实验思路
本次实验使用python中的深度学习框架pytorch完成。MNIST作为最经典的机器学习入门数据集,实现识别的方法有很多,可构建三种不同的神经网络模型完成实验。
- 全连接神经网络的实现。
- 卷积神经网络的实现。
- Res Net的实现。
这里仅以卷积神经网络的实现为例具体说明识别过程。
2 MNIST数据集的加载和归一化
PyTorch中提供了MNIST,CIFAR,COCO等常用数据集的加载方法。MNIST是 torchvision.datasets 包中的一个类,负责根据传入的参数加载数据集。如果自己之前没有下载过该数据集,可以将 download 参数设置为 True ,会自动下载数据集并解包。
但pytorch用torchvision下载数据集时速度极慢,下载速度极慢主要原因是pytorch下载数据集的网站如下图所示,属于国外网站,访问受限且极不稳定,解决此问题的最好方法就是自己把mnist等数据集下载到本地。