笔记:CIFAR-01 和 CIFAR-100 数据集内容和格式详解

CIFAR-10和CIFAR-100是8000万个微型图像数据集的标记子集。它们是由亚历克斯·克里热夫斯基、维诺德·奈尔和杰弗里·辛顿收集的。

一、 CIFAR-10数据集

CIFAR-10数据集由10个类的60000个32x32彩色图像组成,每个类有6000个图像。有5万张训练图片和1万张测试图片。

数据集分为五个训练批和一个测试批,每个测试批有10000个图像。测试批包含从每个类中随机选择的1000个图像。训练批包含随机顺序的剩余图像,但某些训练批可能包含一个类的图像多于另一个类的图像。其中,训练批次包含每个类的5000幅图像。

以下是数据集中的类,以及来自每个类的10个随机图像:

在这里插入图片描述

这些类是完全互斥的。汽车和卡车之间没有重叠。”汽车“包括轿车,越野车,诸如此类的东西。”“卡车”只包括大卡车。也不包括皮卡。

1 下载

如果你要使用这个数据集,请引用本页底部的技术报告。

版本大小md5 校验和
CIFAR-10 python版本163 MBc58f30108f718f92721af3b95e74349a
CIFAR-10 Matlab版本175 MB70270af85842c9e89bb428ec9976c926
CIFAR-10二进制版本(适用于C程序)162 MBc32a1d4ab5d03f1284b67883e8d87530

2 基线结果

在 cuda convnet 的项目页面上,您可以在此数据集上找到一些可复制的基线结果。这些结果是用卷积神经网络得到的。简言之,在不增加数据的情况下,它们的测试误差为18%,而在增加数据的情况下,它们的测试误差为11%。此外,Jasper Snoek还发表了一篇新的论文,他使用贝叶斯超参数优化来寻找权重衰减和其他超参数的良好设置,使得他能够使用得到18%的网络结构获得15%的测试错误率(无需数据增加)。

3 其他结果

Rodrigo Benenson 在他的网站上收集了CIFAR-10/100 和其他数据集的结果;点击这里查看

4 数据集布局

4.1 Python/Matlab版本

我将描述数据集的Python版本的布局。Matlab版本的布局是相同的。

存档文件包含 data_batch_1data_batch_2、…、data_batch_5 以及 test_batch。这些文件中的每一个都是用cPickle生成的Python“pickled”对象。下面是 python2 例程,它将打开这样的文件并返回字典:

def unpickle(file):
    import cPickle
    with open(file, 'rb') as fo:
        dict = cPickle.load(fo)
    return dict

python3 版本:

def unpickle(file):
    import pickle
    with open(file, 'rb') as fo:
        dict = pickle.load(fo, encoding='bytes')
    return dict

以这种方式加载的每个批处理文件都包含一个字典,其中包含以下元素:

  • 数据——一个10000x3072 numpy的uint8s数组。数组的每一行存储一个32x32彩色图像。前1024个条目包含红色通道值,后1024个条目包含绿色通道值,最后1024个条目包含蓝色通道值。图像以行主顺序存储,因此数组的前32个条目是图像第一行的红色通道值。
  • 标签——10000个数字的列表,范围为0-9。索引i处的数字表示数组数据中第i个图像的标签。

数据集包含另一个名为 batches.meta 的文件。它也包含一个Python字典对象。它有以下条目:

  • 标签名称列表(label_names)——一个10个元素的列表,为上面描述的labels数组中的数字标签提供有意义的名称。例如,label_names[0]=“飞机”,label_names[1]=“汽车”,等等。
4.2 二进制版本

二进制版本包含文件data_batch_1.bin、data_batch_2.bin、…、data_batch_5.bin以及test_batch.bin。这些文件的格式如下:

<1 x label><3072 x pixel>
...
<1 x label><3072 x pixel>

换句话说,第一个字节是第一个图像的标签,它是一个0-9范围内的数字。接下来的3072字节是图像像素的值。前1024字节是红色通道值,后1024字节是绿色通道值,最后1024字节是蓝色通道值。这些值按行主顺序存储,因此前32个字节是图像第一行的红色通道值。

每个文件包含10000个这样的3073字节的“行”图像,尽管没有任何限制行的内容。因此,每个文件的长度应该正好是30730000字节。

还有一个文件,名为batches.meta.txt。这是一个ASCII文件,它将0-9范围内的数字标签映射到有意义的类名。它只是10个类名的列表,每行一个。第i行上的类名对应于数字标签i。

二、CIFAR-100数据集

这个数据集和CIFAR-10一样,只是它有100个类,每个类包含600个图像。每节课有500张训练图片和100张测试图片。CIFAR-100中的100个类被分为20个超类。每个图像都有一个“精细”标签(它所属的类)和一个“粗糙”标签(它所属的超类)。
以下是CIFAR-100中的类列表:

SuperclassClasses
aquatic mammalsbeaver, dolphin, otter, seal, whale
fishaquarium fish, flatfish, ray, shark, trout
flowersorchids, poppies, roses, sunflowers, tulips
food containersbottles, bowls, cans, cups, plates
fruit and vegetablesapples, mushrooms, oranges, pears, sweet peppers
household electrical devicesclock, computer keyboard, lamp, telephone, television
household furniturebed, chair, couch, table, wardrobe
insectsbee, beetle, butterfly, caterpillar, cockroach
large carnivoresbear, leopard, lion, tiger, wolf
large man-made outdoor thingsbridge, castle, house, road, skyscraper
large natural outdoor scenescloud, forest, mountain, plain, sea
large omnivores and herbivorescamel, cattle, chimpanzee, elephant, kangaroo
medium-sized mammalsfox, porcupine, possum, raccoon, skunk
non-insect invertebratescrab, lobster, snail, spider, worm
peoplebaby, boy, girl, man, woman
reptilescrocodile, dinosaur, lizard, snake, turtle
small mammalshamster, mouse, rabbit, shrew, squirrel
treesmaple, oak, palm, pine, willow
vehicles 1bicycle, bus, motorcycle, pickup truck, train
vehicles 2lawn-mower, rocket, streetcar, tank, tractor

是的,我知道蘑菇不是真正的水果或蔬菜,熊也不是真正的食肉动物。

1 下载

版本大小md5校验和
CIFAR-100 python version161 MBeb9058c3a382ffc7106e4002c42a8d85
CIFAR-100 Matlab version175 MB6a4bfa1dcd5c9453dda6bb54194911f4
CIFAR-100 binary version (suitable for C programs)161 MB03b5dce01913d631647c71ecec9e9cb8

2 数据集布局

2.1 Python/Matlab版本

python和Matlab版本在布局上与CIFAR-10相同,因此我不会在这里浪费空间来描述它们。
二进制版本

CIFAR-100的二进制版本与CIFAR-10的二进制版本相同,只是每个图像有两个标签字节(粗略和精细)和3072个像素字节,所以二进制文件如下所示:

<1 x coarse label><1 x fine label><3072 x pixel>
...
<1 x coarse label><1 x fine label><3072 x pixel>
2.2 索引到原始的8000万个小图像数据集

Sivan Sabato非常友好地提供了这个文件,它将CIFAR-100图像映射到8000万个微型图像数据集中的图像。Sivan 写道:

该文件有60000行,每行包含一个到tiny db的索引,其中 tiny db 中的第一个图像被索引为“1”、"0“表示不是来自 tiny db 的图像。前5万行对应训练集,后1万行对应测试集。

三、引用本数据集的要求

本技术报告(第3章)详细描述了收集数据集时所遵循的方法。如果你想使用这个数据集,请引用它。

  • 从微小图像中学习多层特征,Alex Krizhevsky,2009。

参考文献

  1. http://www.cs.toronto.edu/~kriz/cifar.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

许野平

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值