跳至内容

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 数据集广泛用于训练和评估图像分类任务中的深度学习模型,如卷积神经网络(CNN)、支持向量机(SVM)和其他各种机器学习算法。该数据集格式简单、结构合理,是机器学习和计算机视觉领域研究人员和从业人员的重要资源。

使用方法

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

列车示例

from ultralytics import YOLO

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

# Train the model
results = model.train(data="mnist", epochs=100, imgsz=32)
# Start training from a pretrained *.pt model
cnn detect train data=mnist model=yolov8n-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

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

# Train the model
results = model.train(data="mnist", epochs=100, imgsz=32)
# Start training from a pretrained *.pt model
cnn detect train data=mnist model=yolov8n-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 快速入门页面。



创建于 2023-11-12,更新于 2024-07-04
作者:glenn-jocher(6)

评论