MNIST 数据集#
MNIST(修改后的国家标准与技术研究院)数据集是一个图像分类基准,包含 70,000 张 28x28 的手写数字灰度图像,涵盖 10 个类别,即数字 0 到 9。该数据集提供预定义的数据划分,包括 60,000 张训练图像和 10,000 张测试图像,并长期作为评估机器学习和计算机视觉算法的标准基准。对于更具挑战性的服装图像替代数据集,请参阅相关的 Fashion-MNIST 数据集;对于彩色图像,请参阅 CIFAR-10。
探索 Ultralytics Platform 上的 MNIST,预览样本、查看数据集统计信息,并克隆数据集用于训练。
主要特性#
- MNIST 包含 60,000 张手写数字训练图像和 10,000 张测试图像,总计 70,000 张。
- 每张图像都是一张 28x28 的单数字灰度图像,经过归一化和抗锯齿处理,并置于固定的 28x28 边界框中。
- 10 个类别涵盖数字 0–9,每个类别的图像数量大致均衡。
- 数据集提供预定义的训练集/测试集划分,因此无需手动或自动进行划分。
- MNIST 是图像分类和深度学习研究中的标准基准。
数据集结构#
MNIST 提供官方的预定义划分,因此无需自动或手动进行分区:
- 类别:10 个(手写数字 0–9)
- 图像总数:70,000(28x28 灰度图像)
- 训练集:60,000 张图像
- 测试集:10,000 张图像
MNIST 没有单独的验证文件夹,因此在训练期间,Ultralytics 默认使用包含 10,000 张图像的测试集作为验证集划分。
每张图像都标注了对应的数字(0–9),因此 MNIST 是一个适用于分类任务的监督学习数据集。
应用#
MNIST 被广泛用于训练和评估图像分类模型,涵盖经典的卷积神经网络(CNNs)和支持向量机(SVMs),以及现代深度架构。其小尺寸灰度图像和 10 个数字类别使其成为用于算法比较和计算机视觉实验的快速、可复现基准。
一些常见应用包括:
- 对新的分类算法进行基准测试
- 用于讲授机器学习概念的教育用途
- 对图像识别系统进行原型设计
- 测试模型优化技术
使用方法#
在 MNIST 上训练 YOLO 分类模型,训练 100 个周期,图像尺寸为 28。数据集会在首次使用时自动下载并缓存;如果你希望完全控制预处理过程,也可以从 MNIST 数据库获取原始 gzip 压缩包。有关可用参数的完整列表,请参阅训练页面和图像分类任务指南。
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-cls.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="mnist", epochs=100, imgsz=28)Ultralytics 还提供 data="mnist160",这是一个包含 160 张图像的数据切片,其中包含训练集和测试集中每个数字(0–9)的前 8 张图像。它与 MNIST 的目录结构一致,因此你无需更改任何其他参数即可替换数据集,非常适合 CI 流水线或在使用完整的 70,000 张图像数据集之前进行健全性检查。
yolo classify train data=mnist160 model=yolo26n-cls.pt epochs=5 imgsz=28示例图像和标注#
MNIST 数据集中的示例图像:

这些样本展示了该数据集在 10 个数字类别中涵盖的各种手写风格。
引用和致谢#
如果你在研究或开发工作中使用 MNIST 数据集,请引用以下论文:
@article{lecun2010mnist,
title={MNIST handwritten digit database},
author={LeCun, Yann and Cortes, Corinna and Burges, CJ},
journal={ATT Labs [Online]},
volume={2},
year={2010}
}我们谨此感谢 Yann LeCun、Corinna Cortes 和 Christopher J.C. Burges 创建并维护 MNIST 数据集,为机器学习和计算机视觉研究社区提供了宝贵资源。有关 MNIST 数据集及其创建者的更多信息,请访问 MNIST 数据集网站。
常见问题#
MNIST 有 10 个类别,即手写数字 0 到 9;总计 70,000 张灰度图像,每张图像为 28x28 像素。数据集提供预定义的划分,包括 60,000 张训练图像和 10,000 张测试图像,每个数字的样本数量大致相同。
要在 MNIST 上训练 Ultralytics YOLO 模型,请使用下面的代码片段。数据集会在首次使用时自动下载。有关可用训练参数的详细列表,请参阅训练页面。
训练示例from ultralytics import YOLO # Load a model model = YOLO("yolo26n-cls.pt") # load a pretrained model (recommended for training) # Train the model results = model.train(data="mnist", epochs=100, imgsz=28)MNIST 提供预定义的划分,包括 60,000 张训练图像和 10,000 张测试图像。与由 Ultralytics 自动划分的基于文件夹的分类数据集不同,MNIST 的官方分区会原样使用,训练期间默认将测试集作为验证集划分。
MNIST 数据集仅包含手写数字,而扩展 MNIST(EMNIST)数据集同时包含数字以及大写和小写字母。EMNIST 作为 MNIST 的后继数据集开发,采用相同的 28x28 像素格式,因此与为原始 MNIST 数据集设计的工具和模型兼容。更广泛的字符范围使 EMNIST 适用于更多种类的机器学习应用。
可以。Ultralytics Platform 允许你上传数据集、训练图像分类模型,并在无需大量编码的情况下部署模型。它是在云端运行 MNIST 实验的便捷方式——有关相关选项,请参阅分类数据集概览。
MNIST 比许多现代数据集更简单,例如 CIFAR-10 或 ImageNet,因此非常适合初学者和快速实验。更复杂的数据集在彩色图像和多样化目标类别方面带来更大的挑战,但 MNIST 凭借其简单性、小文件大小以及在机器学习算法发展中的历史意义,仍然具有重要价值。对于结构相同但更具挑战性的直接替代数据集,请参阅 Fashion-MNIST,它包含服装物品而不是数字。



