如何快速上手Fashion-MNIST:从二进制数据到智能识别的完整指南

【免费下载链接】fashion-mnist A MNIST-like fashion product database. Benchmark :point_down: 【免费下载链接】fashion-mnist 项目地址: https://gitcode.com/gh_mirrors/fa/fashion-mnist

Fashion-MNIST是一个由Zalando提供的服装图像数据集,包含60,000个训练样本和10,000个测试样本,每个样本都是28x28的灰度图像,涵盖10个服装类别。作为原始MNIST数据集的直接替代品,它为机器学习算法提供了更具挑战性的基准测试平台。

为什么选择Fashion-MNIST数据集?

原始MNIST数据集虽然在机器学习社区广泛使用,但存在几个关键局限性:

  • 过于简单:卷积神经网络在MNIST上轻松达到99.7%的准确率,无法有效测试算法的鲁棒性
  • 过度使用:导致研究人员过度拟合这一特定数据集
  • 不能代表现代计算机视觉任务:手写数字识别与实际应用场景差距较大

Fashion-MNIST通过提供更复杂的服装图像,解决了这些问题,同时保持与MNIST相同的图像尺寸和训练/测试分割结构,使其成为理想的替代方案。

Fashion-MNIST数据集样本展示 图1:Fashion-MNIST数据集样本展示,每个类别占三行

快速获取Fashion-MNIST数据

直接下载数据集

数据集以与原始MNIST相同的格式存储,可通过以下链接直接下载:

文件名 内容 样本数 大小 MD5校验和
train-images-idx3-ubyte.gz 训练集图像 60,000 26 MBytes 8d4fb7e6c68d591d4c3dfef9ec88bf0d
train-labels-idx1-ubyte.gz 训练集标签 60,000 29 KBytes 25c81989df183df01b3e8a0aad5dffbe
t10k-images-idx3-ubyte.gz 测试集图像 10,000 4.3 MBytes bef4ecab320f06d8554ea6380940ec79
t10k-labels-idx1-ubyte.gz 测试集标签 10,000 5.1 KBytes bb300cfdad3c16e7a12a480ee83cd310

通过Git克隆仓库

git clone https://gitcode.com/gh_mirrors/fa/fashion-mnist

克隆后,数据集位于data/fashion目录下,同时包含基准测试和可视化的脚本。

数据集标签说明

每个训练和测试样本都分配到以下10个类别之一:

标签 描述
0 T恤/上衣
1 裤子
2 套头衫
3 连衣裙
4 外套
5 凉鞋
6 衬衫
7 运动鞋
8
9 短靴

快速开始使用Fashion-MNIST

使用Python加载数据

使用项目提供的utils/mnist_reader模块:

import mnist_reader
X_train, y_train = mnist_reader.load_mnist('data/fashion', kind='train')
X_test, y_test = mnist_reader.load_mnist('data/fashion', kind='t10k')

主流机器学习库支持

Fashion-MNIST已被许多主流机器学习库内置支持,无需手动下载:

  • TensorFlow/Keras: tf.keras.datasets.fashion_mnist.load_data()
  • PyTorch: torchvision.datasets.FashionMNIST()
  • Apache MXNet: gluon.data.vision.datasets.FashionMNIST()
  • scikit-learn: 可通过fetch_openml获取
  • HuggingFace Datasets: datasets.load_dataset("fashion_mnist")

使用TensorFlow加载示例

from tensorflow.keras.datasets import fashion_mnist
(x_train, y_train), (x_test, y_test) = fashion_mnist.load_data()

数据可视化与特征降维

Fashion-MNIST数据可以通过降维技术可视化,帮助理解数据分布:

Fashion-MNIST嵌入可视化 图2:Fashion-MNIST数据集的t-SNE嵌入可视化,展示不同服装类别的分布

常用降维方法对比

  • t-SNE:能很好地保留局部结构,适合可视化高维数据
  • PCA:线性降维方法,计算速度快
  • UMAP:兼顾局部和全局结构,保留数据的拓扑结构
  • PyMDE:基于距离的嵌入方法,可控制嵌入的质量和计算效率

模型性能基准测试

项目提供了基于scikit-learn的自动基准测试系统,涵盖129个不同参数的分类器。

Fashion-MNIST基准测试结果 图3:Fashion-MNIST基准测试界面,展示不同算法的准确率和训练时间

您可以通过运行benchmark/runner.py重现这些结果,推荐使用项目提供的Dockerfile构建环境。

部分基准测试结果

分类器 预处理 Fashion测试准确率
2 Conv+pooling None 0.916
2 Conv+3 FC 标准化 0.932
ResNet18 数据增强 0.949
WRN-28-10 + Random Erasing 标准化+数据增强 0.963
HOG+SVM HOG特征 0.926

实用工具与扩展资源

数据读取工具

项目提供了多种语言的数据集读取工具:

扩展应用

Fashion-MNIST不仅用于分类任务,还被广泛应用于:

  • 生成对抗网络(GANs): 生成新的服装图像
  • 聚类算法: 探索数据的内在结构
  • 迁移学习: 作为预训练数据集
  • 异常检测: 识别异常服装样式

总结

Fashion-MNIST作为MNIST的替代品,为机器学习研究提供了更具挑战性的基准数据集。它保留了MNIST的简单性和易用性,同时提供了更接近真实世界的视觉识别任务。无论是机器学习新手还是资深研究人员,都能从Fashion-MNIST中获益。

通过本文介绍的方法,您可以快速开始使用Fashion-MNIST数据集,探索各种机器学习算法的性能,并将其应用到自己的项目中。

引用Fashion-MNIST

如果您在科学出版物中使用Fashion-MNIST,请引用以下论文:

Fashion-MNIST: a Novel Image Dataset for Benchmarking Machine Learning Algorithms. Han Xiao, Kashif Rasul, Roland Vollgraf. arXiv:1708.07747

Biblatex格式:

@online{xiao2017/online,
  author       = {Han Xiao and Kashif Rasul and Roland Vollgraf},
  title        = {Fashion-MNIST: a Novel Image Dataset for Benchmarking Machine Learning Algorithms},
  date         = {2017-08-28},
  year         = {2017},
  eprintclass  = {cs.LG},
  eprinttype   = {arXiv},
  eprint       = {cs.LG/1708.07747},
}

【免费下载链接】fashion-mnist A MNIST-like fashion product database. Benchmark :point_down: 【免费下载链接】fashion-mnist 项目地址: https://gitcode.com/gh_mirrors/fa/fashion-mnist

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐