跳转至内容

MNIST 数据集

The MNIST(美国国家标准与技术研究院修改版)数据集是一个大型手写数字数据库,常用于训练各种图像处理系统和机器学习模型。它通过“重新混合”NIST原始数据集中的样本创建,并已成为评估图像分类算法性能的基准。

主要功能

  • MNIST 包含 60,000 张训练图像和 10,000 张手写数字测试图像。
  • 该数据集包含大小为 28×28 像素的灰度图像。
  • 这些图像经过归一化处理,以适应28×28像素的边界框并进行抗锯齿处理,从而引入灰度级别。
  • MNIST 广泛用于机器学习领域的训练和测试,尤其适用于图像分类任务。

数据集结构

MNIST 数据集分为两个子集:

  1. 训练集: 该子集包含 60,000 张手写数字图像,用于训练机器学习模型。
  2. 测试集:此子集包含 10,000 张用于测试和评估已训练模型的图像。

数据集访问

  • 原始文件: 如果您想直接控制预处理,请从Yann LeCun 的 MNIST 页面下载 gzip 归档文件。
  • Ultralytics 加载器:使用 data="mnist" (或 data="mnist160" (用于下面的子集)在您的命令中,数据集将自动下载、转换为PNG并缓存。

数据集中的每张图像都标有相应的数字(0-9),使其成为一个用于分类任务的理想监督学习数据集。

扩展MNIST (EMNIST)

扩展MNIST (EMNIST) 是NIST开发并发布的一个较新的数据集,旨在取代MNIST。尽管MNIST仅包含手写数字图像,但EMNIST包含了NIST特殊数据库19中的所有图像,这是一个包含大量手写大写和小写字母以及数字的数据库。EMNIST中的图像通过与MNIST图像相同的过程,被转换为相同的28×28像素格式。因此,适用于较旧、较小的MNIST数据集的工具很可能无需修改即可与EMNIST配合使用。

应用

MNIST 数据集广泛用于训练和评估图像分类任务中的深度学习模型,例如卷积神经网络 (CNN)、支持向量机 (SVM) 以及各种其他机器学习算法。该数据集简单且结构良好的格式使其成为机器学习计算机视觉领域研究人员和从业者的重要资源。

一些常见的应用包括:

  • 对新的分类算法进行基准测试
  • 用于教学机器学习概念的教育目的
  • 图像识别系统原型设计
  • 测试模型优化技术

用法

要在 MNIST 数据集上训练一个图像尺寸为 28×28、进行 100 个epoch的 CNN 模型,您可以使用以下代码片段。有关可用参数的完整列表,请参阅模型训练页面。

训练示例

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="mnist", epochs=100, imgsz=28)
# Start training from a pretrained *.pt model
yolo classify train data=mnist model=yolo11n-cls.pt epochs=100 imgsz=28

Sample Images 和注释

MNIST 数据集包含手写数字的灰度图像,为图像分类任务提供了一个结构良好的数据集。以下是该数据集中的一些图像示例:

数据集样本图像

该示例展示了 MNIST 数据集中手写数字的多样性和复杂性,强调了多样化数据集对于训练鲁棒图像分类模型的重要性。

引用和致谢

如果您在研究或开发工作中使用MNIST数据集,请引用以下论文:

@article{lecun2010mnist,
         title={MNIST handwritten digit database},
         author={LeCun, Yann and Cortes, Corinna and Burges, CJ},
         journal={ATT Labs [Online]. Available: http://yann.lecun.com/exdb/mnist},
         volume={2},
         year={2010}
}

我们感谢 Yann LeCun、Corinna Cortes 和 Christopher J.C. Burges 创建并维护 MNIST 数据集,使其成为机器学习和计算机视觉研究社区的宝贵资源。有关 MNIST 数据集及其创建者的更多信息,请访问 MNIST 数据集网站

MNIST160 快速测试

需要一个闪电般快速的回归测试吗?Ultralytics 还提供了 data="mnist160",一个包含来自每个数字类别的首批八个样本的 160 图像切片。它镜像了 MNIST 目录结构,因此您可以在不更改任何其他参数的情况下交换数据集:

使用 MNIST160 的训练示例

yolo classify train data=mnist160 model=yolo11n-cls.pt epochs=5 imgsz=28

在提交到完整的 70,000 张图像数据集之前,将此子集用于 CI 流水线或健全性检查。

常见问题

什么是MNIST数据集,它在机器学习中为何重要?

The MNIST数据集,即美国国家标准与技术研究院修改版数据集,是一个广泛使用的手写数字集合,专为训练和测试图像分类系统而设计。它包含60,000张训练图像和10,000张测试图像,所有图像均为灰度图,尺寸为28×28像素。该数据集的重要性在于其作为评估图像分类算法的标准基准,帮助研究人员和工程师比较方法并追踪该领域的进展。

如何使用 Ultralytics YOLO 在 MNIST 数据集上训练模型?

要在 MNIST 数据集上使用 Ultralytics YOLO 训练模型,您可以按照以下步骤操作:

训练示例

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="mnist", epochs=100, imgsz=28)
# Start training from a pretrained *.pt model
yolo classify train data=mnist model=yolo11n-cls.pt epochs=100 imgsz=28

有关可用训练参数的详细列表,请参阅训练页面。

MNIST和EMNIST数据集之间有什么区别?

MNIST 数据集仅包含手写数字,而扩展 MNIST (EMNIST) 数据集则包含数字以及大写和小写字母。EMNIST 作为 MNIST 的继任者而开发,图像采用相同的 28×28 像素格式,使其与为原始 MNIST 数据集设计的工具和模型兼容。EMNIST 中更广泛的字符范围使其适用于更广泛的机器学习应用。

我可以使用Ultralytics HUB在MNIST等自定义数据集上训练模型吗?

是的,您可以使用 Ultralytics HUB 在 MNIST 等自定义数据集上训练模型。Ultralytics HUB 提供了一个用户友好的界面,用于上传数据集、训练模型和管理项目,无需广泛的编码知识。有关如何开始的更多详细信息,请查看 Ultralytics HUB 快速入门页面。

MNIST与其他图像分类数据集相比如何?

MNIST 比许多现代数据集(如 CIFAR-10ImageNet)更简单,使其成为初学者和快速实验的理想选择。尽管更复杂的数据集在彩色图像和多样化的对象类别方面带来了更大的挑战,但 MNIST 因其简单性、小文件大小以及在机器学习算法发展中的历史意义而仍然具有价值。对于更高级的分类任务,可以考虑使用 Fashion-MNIST,它保持相同的结构,但特征是服装而非数字。



📅 2 年前创建 ✏️ 1 个月前更新
glenn-jocherpderrengerUltralyticsAssistantMatthewNoycejk4e

评论