Skip to content

MNIST 数据集

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

关键特征

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

数据集结构

MNIST数据集分为两个子集:

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

扩展MNIST(EMNIST)

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

应用

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

使用

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

训练示例

from ultralytics import YOLO

# 加载模型
model = YOLO("yolo11n-cls.pt")  # 加载预训练模型(推荐用于训练)

# 训练模型
results = model.train(data="mnist", epochs=100, imgsz=32)
# 从预训练的*.pt模型开始训练
yolo classify train data=mnist model=yolo11n-cls.pt epochs=100 imgsz=28

样本图像和注释

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数据集网站

常见问题

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

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

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

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

训练示例

from ultralytics import YOLO

# 加载模型
model = YOLO("yolo11n-cls.pt")  # 加载预训练模型(推荐用于训练)

# 训练模型
results = model.train(data="mnist", epochs=100, imgsz=32)
# 从预训练的*.pt模型开始训练
yolo classify train data=mnist model=yolo11n-cls.pt epochs=100 imgsz=28

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

MNIST数据集和EMNIST数据集有何区别?

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

我能否使用Ultralytics HUB在类似MNIST的自定义数据集上训练模型?

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


📅 Created 11 months ago ✏️ Updated 13 days ago

Comments