Fashion_mnist数据集介绍
Fashion-MNIST](https://hanxiao.github.io/2018/09/28/Fashion-MNIST-Year-In-Review/)目录为什么要做这个数据集?获取数据如何载入数据?基准测试数据可视化参与贡献联系在论文中引用Fashion-MNISTLicenseFashion-MNIST是一个替代MNIST手写数字集的图像数据集。 它是...
Fashion-MNIST
目录
Fashion-MNIST
是一个替代MNIST手写数字集的图像数据集。 它是由Zalando(一家德国的时尚科技公司)旗下的研究部门提供。其涵盖了来自10种类别的共7万个不同商品的正面图片。Fashion-MNIST的大小、格式和训练集/测试集划分与原始的MNIST完全一致。60000/10000的训练测试数据划分,28x28的灰度图片。你可以直接用它来测试你的机器学习和深度学习算法性能,且不需要改动任何的代码。
这个数据集的样子大致如下(每个类别占三行):
为什么要做这个数据集?
经典的MNIST数据集包含了大量的手写数字。十几年来,来自机器学习、机器视觉、人工智能、深度学习领域的研究员们把这个数据集作为衡量算法的基准之一。你会在很多的会议,期刊的论文中发现这个数据集的身影。实际上,MNIST数据集已经成为算法作者的必测的数据集之一。有人曾调侃道:“如果一个算法在MNIST不work, 那么它就根本没法用;而如果它在MNIST上work, 它在其他数据上也可能不work!”
Fashion-MNIST
的目的是要成为MNIST数据集的一个直接替代品。作为算法作者,你不需要修改任何的代码,就可以直接使用这个数据集。Fashion-MNIST
的图片大小,训练、测试样本数及类别数与经典MNIST完全相同。
写给专业的机器学习研究者
我们是认真的。取代MNIST数据集的原因由如下几个:
- MNIST太简单了。 很多深度学习算法在测试集上的准确率已经达到99.6%!不妨看看我们基于scikit-learn上对经典机器学习算法的评测 和这段代码: “Most pairs of MNIST digits can be distinguished pretty well by just one pixel”(翻译:大多数MNIST只需要一个像素就可以区分开!)
- MNIST被用烂了。 参考:“Ian Goodfellow wants people to move away from mnist”(翻译:Ian Goodfellow希望人们不要再用MNIST了。)
- MNIST数字识别的任务不代表现代机器学习。 参考:“François Cholle: Ideas on MNIST do not transfer to real CV” (翻译:在MNIST上看似有效的想法没法迁移到真正的机器视觉问题上。)
获取数据
很多的机器学习库已经内置了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 |
或者,你可以直接克隆这个代码库。数据集就放在data/fashion
下。这个代码库还包含了一些用于评测和可视化的脚本。
git clone git@github.com:zalandoresearch/fashion-mnist.git
类别标注
每个训练和测试样本都按照以下类别进行了标注:
标注编号 | 描述 |
---|---|
0 | T-shirt/top(T恤) |
1 | Trouser(裤子) |
2 | Pullover(套衫) |
3 | Dress(裙子) |
4 | Coat(外套) |
5 | Sandal(凉鞋) |
6 | Shirt(汗衫) |
7 | Sneaker(运动鞋) |
8 | Bag(包) |
9 | Ankle 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
请确保你已经下载了我们的数据集并把它放到了data/fashion
下。不然, Tensorflow会自动下载并使用原始的MNIST。
from tensorflow.examples.tutorials.mnist import input_data
data = input_data.read_data_sets('data/fashion')
data.train.next_batch(BATCH_SIZE)
注意,Tensorflow (master ver.) 支持向read_data_sets
函数传入MNIST数据集的地址。你可以使用:
data = input_data.read_data_sets('data/fashion', source_url='http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/')
Tensorflow的官网也提供了一份使用高级APItf.keras
训练Fashion-MNIST的详细教程,你可以在这里查看它。
使用其它机器学习库
截止今日,以下软件库中已内置了对Fashion-MNIST
的支持。你只需要按照他们的文档载入Fashion-MNIST
即可使用此数据集。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)