数据API 产品矩阵 案例 关于
掌握聚合最新动态了解行业最新趋势
API接口,开发服务,免费咨询服务

Fashion-MNIST:替代MNIST手写数字集的图像数据集

作者丨肖涵

单位丨德国Zalando旗下研究部门资深科学家

学校丨德国慕尼黑工业大学计算机博士

研究方向丨深度学习在产品搜索中的应用

FashionMNIST 是一个替代 MNIST 手写数字集 [1] 的图像数据集。 它是由 Zalando(一家德国的时尚科技公司)旗下的研究部门提供。其涵盖了来自 10 种类别的共 7 万个不同商品的正面图片。

FashionMNIST 的大小、格式和训练集/测试集划分与原始的 MNIST 完全一致。60000/10000 的训练测试数据划分,28x28 的灰度图片。你可以直接用它来测试你的机器学习和深度学习算法性能,且不需要改动任何的代码。 

这个数据集的样子大致如下(每个类别占三行):

579-0.jpg.gif


1. 为什么要做这个数据集?

经典的 MNIST 数据集 [1] 包含了大量的手写数字。十几年来,来自机器学习、机器视觉、人工智能、深度学习领域的研究员们把这个数据集作为衡量算法的基准之一。你会在很多的会议,期刊的论文中发现这个数据集的身影。实际上,MNIST数据集已经成为算法作者的必测的数据集之一。有人曾调侃道:"如果一个算法在MNIST不work,那么它就根本没法用;而如果它在MNIST上work,它在其他数据上也可能不work"。 

Fashion-MNIST 的目的是要成为 MNIST 数据集的一个直接替代品。作为算法作者,你不需要修改任何的代码,就可以直接使用这个数据集。Fashion-MNIST 的图片大小,训练、测试样本数及类别数与经典 MNIST 完全相同

写给专业的机器学习研究者 

我们是认真的。取代 MNIST 数据集的原因由如下几个: 

  • MNIST 太简单了,很多算法在测试集上的性能已经达到 99.6%!不妨看看我们基于 scikit-learn 上的评测 [2] 和这段代码 [3]。大多数 MNIST 只需要一个像素就可以区分开;

  • MNIST 被用烂了。参考下图,Ian Goodfellow 希望人们不要再用 MNIST 了;

580-0.jpg.png

  • MNIST 数字识别的任务不代表现代机器学习。如下图,在 MNIST 上的想法没法迁移到真正的机器视觉问题上。

581-0.jpg.png

2. 获取数据

你可以使用以下链接下载这个数据集。Fashion-MNIST 的数据集的存储方式和命名与经典 MNIST 数据集 [1] 完全一致。

名称描述样本数量文件大小链接
train-images-idx3-ubyte.gz训练集的图像60,00026 MBytes下载
train-labels-idx1-ubyte.gz训练集的类别标签60,00029 KBytes下载
t10k-images-idx3-ubyte.gz测试集的图像10,0004.2 MBytes下载
t10k-labels-idx1-ubyte.gz测试集的类别标签10,0005.0 KBytes下载

或者,你可以直接克隆这个代码库。数据集就放在 data/fashion 下。这个代码库还包含了一些用于评测和可视化的脚本。 

git clone git@github.com:zalandoresearch/fashion-mnist.git

类别标注

每个训练和测试样本都按照以下类别进行了标注:

标注编号描述
0T-shirt/top(T恤)
1Trouser(裤子)
2Pullover(套衫)
3Dress(裙子)
4Coat(外套)
5Sandal(凉鞋)
6Shirt(汗衫)
7Sneaker(运动鞋)
8Bag(包)
9Ankle boot(踝靴)

如何载入数据?

使用Python (需要安装numpy)

  • 你可以直接使用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')

使用Tensorflow

from tensorflow.examples.tutorials.mnist import input_data
data = input_data.read_data_sets('data/fashion')

data.train.next_batch(100)

使用其它的语言

作为机器学习领域里最常使用的数据集,人们用各种语言为MNIST开发了很多载入工具。有一些方法需要先解压数据文件。注意,我们并没有测试过所有的载入方法。

评测

我们使用scikit-learn做了一套自动评测系统。它涵盖了除深度学习之外的125种经典机器学习模型(包含不同的参数)。你可以在这里以互动的方式查看结果。

你可以运行benchmark/runner.py对结果进行重现。而我们更推荐的方法是使用Dockerfile打包部署后以Container的方式运行。

我们欢迎你提交自己的模型评测。请使用Github新建一个Issue。不妨先看看如何贡献。如果你提交自己的模型,请先确保这个模型没有在这个列表中被测试过。

算法预处理测试集准确率(均值 & 方差)提交者参考
2 Conv Layers with max pooling (Keras)None0.876Kashif Rasulzalando_mnist_cnn
2 Conv Layers with max pooling (Tensorflow) >300 epochsNone0.916Tensorflow's docconvnet
Simple 2 layer convnet <100K parameterNone0.925@hardmarupytorch_tiny_custom_mnist_adam
GRU+SVMNone0.888@AFAgarapgru_svm_zalando
GRU+SVM with dropoutNone0.855@AFAgarapgru_svm_zalando_dropout
WRN40-4 8.9M paramsstandard preprocessing (mean/std subtraction/division) and augmentation (random crops/horizontal flips)0.967@ajbrockWideResNet & Freezout
DenseNet-BC 768K paramsstandard preprocessing (mean/std subtraction/division) and augmentation (random crops/horizontal flips)0.954@ajbrockDenseNets & Freezout
MobileNetaugmentation (horizontal flips)0.950@苏剑林Chinese blog post

数据可视化

t-SNE在Fashion-MNIST(左侧)和经典MNIST上的可视化(右侧)

PCA在Fashion-MNIST(左侧)和经典MNIST上的可视化(右侧)

6. 在论文中引用 Fashion-MNIST

如果你在你的研究工作中使用了这个数据集,欢迎你引用这篇论文:

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

这篇论文将在 Mon, 28 Aug 2017 00:00:00 GMT 发表在 arXiv 上。

[1] 经典 MNIST 数据集:

http://yann.lecun.com/exdb/mnist/

[2] 基于 scikit-learn 的评测:

http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/

[3] MNIST 测试代码:

https://gist.github.com/dgrtwo/aaef94ecc6a60cd50322c0054cc04478


原文来自: PaperWeekly

声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com

掌握聚合最新动态了解行业最新趋势
API接口,开发服务,免费咨询服务
Fashion-MNIST:替代MNIST手写数字集的图像数据集
发布:2017-08-28 10:35:59

作者丨肖涵

单位丨德国Zalando旗下研究部门资深科学家

学校丨德国慕尼黑工业大学计算机博士

研究方向丨深度学习在产品搜索中的应用

FashionMNIST 是一个替代 MNIST 手写数字集 [1] 的图像数据集。 它是由 Zalando(一家德国的时尚科技公司)旗下的研究部门提供。其涵盖了来自 10 种类别的共 7 万个不同商品的正面图片。

FashionMNIST 的大小、格式和训练集/测试集划分与原始的 MNIST 完全一致。60000/10000 的训练测试数据划分,28x28 的灰度图片。你可以直接用它来测试你的机器学习和深度学习算法性能,且不需要改动任何的代码。 

这个数据集的样子大致如下(每个类别占三行):

579-0.jpg.gif


1. 为什么要做这个数据集?

经典的 MNIST 数据集 [1] 包含了大量的手写数字。十几年来,来自机器学习、机器视觉、人工智能、深度学习领域的研究员们把这个数据集作为衡量算法的基准之一。你会在很多的会议,期刊的论文中发现这个数据集的身影。实际上,MNIST数据集已经成为算法作者的必测的数据集之一。有人曾调侃道:"如果一个算法在MNIST不work,那么它就根本没法用;而如果它在MNIST上work,它在其他数据上也可能不work"。 

Fashion-MNIST 的目的是要成为 MNIST 数据集的一个直接替代品。作为算法作者,你不需要修改任何的代码,就可以直接使用这个数据集。Fashion-MNIST 的图片大小,训练、测试样本数及类别数与经典 MNIST 完全相同

写给专业的机器学习研究者 

我们是认真的。取代 MNIST 数据集的原因由如下几个: 

  • MNIST 太简单了,很多算法在测试集上的性能已经达到 99.6%!不妨看看我们基于 scikit-learn 上的评测 [2] 和这段代码 [3]。大多数 MNIST 只需要一个像素就可以区分开;

  • MNIST 被用烂了。参考下图,Ian Goodfellow 希望人们不要再用 MNIST 了;

580-0.jpg.png

  • MNIST 数字识别的任务不代表现代机器学习。如下图,在 MNIST 上的想法没法迁移到真正的机器视觉问题上。

581-0.jpg.png

2. 获取数据

你可以使用以下链接下载这个数据集。Fashion-MNIST 的数据集的存储方式和命名与经典 MNIST 数据集 [1] 完全一致。

名称描述样本数量文件大小链接
train-images-idx3-ubyte.gz训练集的图像60,00026 MBytes下载
train-labels-idx1-ubyte.gz训练集的类别标签60,00029 KBytes下载
t10k-images-idx3-ubyte.gz测试集的图像10,0004.2 MBytes下载
t10k-labels-idx1-ubyte.gz测试集的类别标签10,0005.0 KBytes下载

或者,你可以直接克隆这个代码库。数据集就放在 data/fashion 下。这个代码库还包含了一些用于评测和可视化的脚本。 

git clone git@github.com:zalandoresearch/fashion-mnist.git

类别标注

每个训练和测试样本都按照以下类别进行了标注:

标注编号描述
0T-shirt/top(T恤)
1Trouser(裤子)
2Pullover(套衫)
3Dress(裙子)
4Coat(外套)
5Sandal(凉鞋)
6Shirt(汗衫)
7Sneaker(运动鞋)
8Bag(包)
9Ankle boot(踝靴)

如何载入数据?

使用Python (需要安装numpy)

  • 你可以直接使用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')

使用Tensorflow

from tensorflow.examples.tutorials.mnist import input_data
data = input_data.read_data_sets('data/fashion')

data.train.next_batch(100)

使用其它的语言

作为机器学习领域里最常使用的数据集,人们用各种语言为MNIST开发了很多载入工具。有一些方法需要先解压数据文件。注意,我们并没有测试过所有的载入方法。

评测

我们使用scikit-learn做了一套自动评测系统。它涵盖了除深度学习之外的125种经典机器学习模型(包含不同的参数)。你可以在这里以互动的方式查看结果。

你可以运行benchmark/runner.py对结果进行重现。而我们更推荐的方法是使用Dockerfile打包部署后以Container的方式运行。

我们欢迎你提交自己的模型评测。请使用Github新建一个Issue。不妨先看看如何贡献。如果你提交自己的模型,请先确保这个模型没有在这个列表中被测试过。

算法预处理测试集准确率(均值 & 方差)提交者参考
2 Conv Layers with max pooling (Keras)None0.876Kashif Rasulzalando_mnist_cnn
2 Conv Layers with max pooling (Tensorflow) >300 epochsNone0.916Tensorflow's docconvnet
Simple 2 layer convnet <100K parameterNone0.925@hardmarupytorch_tiny_custom_mnist_adam
GRU+SVMNone0.888@AFAgarapgru_svm_zalando
GRU+SVM with dropoutNone0.855@AFAgarapgru_svm_zalando_dropout
WRN40-4 8.9M paramsstandard preprocessing (mean/std subtraction/division) and augmentation (random crops/horizontal flips)0.967@ajbrockWideResNet & Freezout
DenseNet-BC 768K paramsstandard preprocessing (mean/std subtraction/division) and augmentation (random crops/horizontal flips)0.954@ajbrockDenseNets & Freezout
MobileNetaugmentation (horizontal flips)0.950@苏剑林Chinese blog post

数据可视化

t-SNE在Fashion-MNIST(左侧)和经典MNIST上的可视化(右侧)

PCA在Fashion-MNIST(左侧)和经典MNIST上的可视化(右侧)

6. 在论文中引用 Fashion-MNIST

如果你在你的研究工作中使用了这个数据集,欢迎你引用这篇论文:

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

这篇论文将在 Mon, 28 Aug 2017 00:00:00 GMT 发表在 arXiv 上。

[1] 经典 MNIST 数据集:

http://yann.lecun.com/exdb/mnist/

[2] 基于 scikit-learn 的评测:

http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/

[3] MNIST 测试代码:

https://gist.github.com/dgrtwo/aaef94ecc6a60cd50322c0054cc04478


原文来自: PaperWeekly

声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com

选择想要的接口, 看看能免费获取多少次调用 选择(单选)或填写想要的接口
  • 短信API服务
  • 银行卡四元素检测[简]
  • 身份证实名认证
  • 手机状态查询
  • 三网手机实名制认证[简]
  • 身份证OCR识别
  • 证件识别
  • 企业工商信息
短信API服务
  • 短信API服务
  • 银行卡四元素检测[简]
  • 身份证实名认证
  • 手机状态查询
  • 三网手机实名制认证[简]
  • 身份证OCR识别
  • 证件识别
  • 企业工商信息
  • 确定
选择您的身份
请选择寻找接口的目的
预计每月调用量
请选择预计每月调用量
产品研发的阶段
请选择产品研发的阶段
×

前往领取
电话 0512-88869195
×
企业用户认证,
可获得1000次免费调用
注册登录 > 企业账户认证 > 领取接口包
企业用户认证领取接口包 立即领取
× 企业用户认证,
可获得1000次免费调用,立即领取>
数 据 驱 动 未 来
Data Drives The Future