<返回Alex Krizhevsky的主页
CIFAR-10和CIFAR-100是8000万张微型图像数据集。它们是由亚历克斯·克利舍夫斯基(Alex Krizhevsky)、维诺德·奈尔(Vinod Nair)和杰弗里·辛顿(Geoffrey Hinton)收集的。CIFAR-10数据集
CIFAR-10数据集由10类60000张32x32彩色图像组成,每类6000张图像。有50000张训练图像和10000张测试图像。
数据集分为五个训练批次和一个测试批次,每个批次有10000张图像。测试批次正好包含每个类中1000个随机选择的图像。训练批包含随机顺序的剩余图像,但某些训练批可能包含一个类中的图像多于另一个类的图像。其中,训练批次正好包含每个类的5000张图像。
以下是数据集中的类,以及每个类中的10个随机图像:
这些类是完全互斥的。汽车和卡车之间没有重叠。“汽车”包括轿车、SUV等。“卡车”只包括大卡车。两者都不包括皮卡车。下载
如果您要使用此数据集,请引用本页底部的技术报告。
基线结果
您可以在此数据集上找到一些可复制的基线结果在cuda-convnet的项目页面上这些结果是用卷积神经网络得到的。简言之,在不进行数据增强的情况下,它们的测试误差为18%,在进行数据增强时,它们的误差为11%。此外,贾斯珀·斯诺克有一个新论文其中,他使用贝叶斯超参数优化来找到权重衰减和其他超参数的良好设置,这使他能够使用获得18%的网络结构获得15%的测试错误率(无需数据增强)。其他结果
罗德里戈·贝内森非常友好地在其网站上收集了CIFAR-10/100和其他数据集的结果;单击此处以查看。数据集布局
Python/Matlab版本
我将描述数据集的Python版本的布局。Matlab版本的布局相同。
存档包含文件数据块1,数据包2。。。,数据块5,以及测试匹配(_B)。每个文件都是用生成的Python“pickled”对象c酸菜。下面是一个python2例程,它将打开这样的文件并返回字典:定义取消拾取(文件):导入cPickle以fo形式打开(文件,'rb'):dict=cPickle.load(fo)返回指令
还有一个python3版本:定义取消拾取(文件):进口泡菜以fo形式打开(文件,'rb'):dict=pickle.load(fo,编码=“字节”)返回指令
以这种方式加载后,每个批处理文件都包含一个包含以下元素的字典:
- 数据--一个10000x3072笨蛋数组单位8阵列的每一行存储一个32x32颜色的图像。前1024个条目包含红色通道值,后1024个包含绿色通道值,最后1024个则包含蓝色通道值。图像以row-mahor顺序存储,因此数组的前32个条目是图像第一行的红色通道值。
- 标签--包含10000个0-9范围内的数字的列表。索引处的数字我指示的标签我数组中的第个图像数据.
数据集包含另一个名为批次.meta。它也包含一个Python字典对象。它包含以下条目:
- 标签名称--一个10元素列表,为中的数字标签提供有意义的名称标签上述数组。例如,label_names[0]==“飞机”,label_names[1]==“汽车”等。
二进制版本
二进制版本包含文件数据_批次_1.bin,data_batch2.bin(数据包2.bin), ...,data_batch_5.bin(数据包),以及test_batch.bin测试包。每个文件的格式如下:<1 x标签><3072 x像素>...<1 x标签><3072 x像素>
换句话说,第一个字节是第一个图像的标签,是0-9范围内的数字。接下来的3072字节是图像像素的值。前1024个字节是红色通道值,后1024个是绿色通道值,最后1024个为蓝色通道值。这些值以行-主顺序存储,因此前32个字节是图像第一行的红色通道值。
每个文件包含10000个这样的3073字节的“行”图像,尽管没有分隔行的内容。因此,每个文件的长度应该正好为30730000字节。
还有一个文件,名为批处理.meta.txt。这是一个ASCII文件,它将0-9范围内的数字标签映射到有意义的类名。它只是一个10个类名的列表,每行一个。行上的类名我对应于数字标签我.CIFAR-100数据集
该数据集与CIFAR-10类似,只是它有100个类,每个类包含600个图像。每节课有500张训练图像和100张测试图像。CIFAR-100中的100个类被分为20个超类。每个图像都有一个“精细”标签(它所属的类)和一个“粗糙”标签(其所属的超类)。
以下是CIFAR-100中的类列表:
超类 |
课程 |
水生哺乳动物 |
海狸、海豚、水獭、海豹、鲸鱼 |
鱼 |
水族馆鱼类、比目鱼、鳐鱼、鲨鱼、鳟鱼 |
花 |
兰花、罂粟、玫瑰、向日葵、郁金香 |
食品容器 |
瓶子、碗、罐子、杯子、盘子 |
水果和蔬菜 |
苹果、蘑菇、桔子、梨、甜椒 |
家用电器 |
时钟、电脑键盘、灯、电话、电视 |
家用家具 |
床、椅子、沙发、桌子、衣柜 |
昆虫 |
蜜蜂、甲虫、蝴蝶、毛毛虫、蟑螂 |
大型食肉动物 |
熊、豹、狮、虎、狼 |
大型人造户外用品 |
桥、城堡、房子、道路、摩天大楼 |
大型自然户外场景 |
云、森林、山、平原、海 |
大型杂食和食草动物 |
骆驼、牛、黑猩猩、大象、袋鼠 |
中型哺乳动物 |
狐狸、豪猪、负鼠、浣熊、臭鼬 |
无脊椎动物 |
螃蟹、龙虾、蜗牛、蜘蛛、蠕虫 |
人 |
宝贝,男孩,女孩,男人,女人 |
爬行动物 |
鳄鱼、恐龙、蜥蜴、蛇、乌龟 |
小型哺乳动物 |
仓鼠、老鼠、兔子、鼩鼱、松鼠 |
树 |
枫树、橡树、棕榈树、松树、柳树 |
车辆1 |
自行车、公共汽车、摩托车、皮卡、火车 |
车辆2 |
割草机、火箭、电车、坦克、拖拉机 |
是的,我知道蘑菇不是真正的水果或蔬菜,熊也不是真正的食肉动物。
下载
数据集布局
Python/Matlab版本
python和Matlab版本在布局上与CIFAR-10相同,所以我不会在这里浪费空间描述它们。二进制版本
CIFAR-100的二进制版本与CIFAR-10的二进制版本类似,只是每个图像都有两个标签字节(粗略和精细)和3072个像素字节,因此二进制文件如下所示:<1 x粗标签><1 x细标签><3072 x像素>...<1 x粗略标签><1 x精细标签><3072 x像素>
原始8000万张微型图像数据集的索引
Sivan Sabato很好地提供了这个文件它将CIFAR-100图像映射到8000万个微型图像数据集中的图像。Sivan写道:文件有60000行,每行包含一个索引到小数据库,其中微型数据库中的第一个图像被索引为“1”。“0”表示不是来自小数据库的图像。前50000行对应培训集,后10000行对应到测试集。
参考
本技术报告(第3章)更详细地描述了数据集以及收集数据时所遵循的方法。如果您打算使用此数据集,请引用它。