本文主要是介绍CIFAR10/CIFAR100数据集介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
CIFAR-10/CIFAR-100数据集解析
觉得有用的话,欢迎一起讨论相互学习~
参考文献
CIFAR-10/CIFAR-100数据集
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,这类东西。“卡车”只包括大卡车。都不包括皮卡车。
airplane/automobile/bird/cat/deer/dog/frog/horse/ship/truck
CIFAR-10下载
CIFAR-10 python版本
CIFAR-10 Matlab版本
CIFAR-10二进制版本(适用于C程序)
数据集布局
Python / Matlab版本
我将描述数据集的Python版本的布局。Matlab版本的布局是相同的。
该存档包含文件data_batch_1,data_batch_2,…,data_batch_5以及test_batch。这些文件中的每一个都是用cPickle生成的Python“pickled”对象。这里是一个python2例程,它将打开这样的文件并返回一个字典:
def unpickle(file):import cPicklewith open(file, 'rb') as fo:dict = cPickle.load(fo)return dict
下面是一个python3实例
def unpickle(file):import picklewith open(file, 'rb') as fo:dict = pickle.load(fo, encoding='bytes')return dict
以这种方式加载的每个批处理文件都包含一个包含以下元素的字典:
数据 - 一个10000x3072 uint8的numpy数组。阵列的每一行存储32x32彩色图像即每一行存储32323=3072个数字信息。前1024个条目包含红色通道值,下一个1024个绿色,最后1024个蓝色。图像以行优先顺序存储,以便数组的前32个条目是图像第一行的红色通道值。
标签 - 范围为0-9的10000个数字的列表。索引i处的数字表示阵列数据中第i个图像的标签。
该数据集包含另一个名为batches.meta的文件。它也包含一个Python字典对象。它有以下条目:
label_names - 一个10个元素的列表,它为上述标签数组中的数字标签赋予了有意义的名称。例如,label_names [0] ==“飞机”,label_names [1] ==“汽车”等
二进制版本
二进制版本包含文件data_batch_1.bin,data_batch_2.bin,…,data_batch_5.bin以及test_batch.bin。这些文件中的每一个格式如下:
<1×标签> <3072×像素>
...
<1×标签> <3072×像素>
换句话说,第一个字节是第一个图像的标签,它是一个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中的类别列表:
超类 | 类别 |
---|---|
水生哺乳动物 | 海狸,海豚,水獭,海豹,鲸鱼 |
鱼 | 水族馆的鱼,比目鱼,射线,鲨鱼,鳟鱼 |
花卉 | 兰花,罂粟花,玫瑰,向日葵,郁金香 |
食品容器 | 瓶子,碗,罐子,杯子,盘子 |
水果和蔬菜 | 苹果,蘑菇,橘子,梨,甜椒 |
家用电器 | 时钟,电脑键盘,台灯,电话机,电视机 |
家用家具 | 床,椅子,沙发,桌子,衣柜 |
昆虫 | 蜜蜂,甲虫,蝴蝶,毛虫,蟑螂 |
大型食肉动物 | 熊,豹,狮子,老虎,狼 |
大型人造户外用品 | 桥,城堡,房子,路,摩天大楼 |
大自然的户外场景 | 云,森林,山,平原,海 |
大杂食动物和食草动物 | 骆驼,牛,黑猩猩,大象,袋鼠 |
中型哺乳动物 | 狐狸,豪猪,负鼠,浣熊,臭鼬 |
非昆虫无脊椎动物 | 螃蟹,龙虾,蜗牛,蜘蛛,蠕虫 |
人 | 宝贝,男孩,女孩,男人,女人 |
爬行动物 | 鳄鱼,恐龙,蜥蜴,蛇,乌龟 |
小型哺乳动物 | 仓鼠,老鼠,兔子,母老虎,松鼠 |
树木 | 枫树,橡树,棕榈,松树,柳树 |
车辆1 | 自行车,公共汽车,摩托车,皮卡车,火车 |
车辆2 | 割草机,火箭,有轨电车,坦克,拖拉机 |
Superclass | Classes |
---|---|
aquatic | mammals beaver, dolphin, otter, seal, whale |
fish | aquarium fish, flatfish, ray, shark, trout |
flowers | orchids, poppies, roses, sunflowers, tulips |
food | containers bottles, bowls, cans, cups, plates |
fruit and vegetables | apples, mushrooms, oranges, pears, sweet peppers |
household electrical devices | clock, computer keyboard, lamp, telephone, television |
household | furniture bed, chair, couch, table, wardrobe |
insects | bee, beetle, butterfly, caterpillar, cockroach |
large carnivores | bear, leopard, lion, tiger, wolf |
large man-made outdoor things | bridge, castle, house, road, skyscraper |
large natural outdoor scenes | cloud, forest, mountain, plain, sea |
large omnivores and herbivores | camel, cattle, chimpanzee, elephant, kangaroo |
medium-sized mammals | fox, porcupine, possum, raccoon, skunk |
non-insect invertebrates | crab, lobster, snail, spider, worm |
people | baby, boy, girl, man, woman |
reptiles | crocodile, dinosaur, lizard, snake, turtle |
small mammals | hamster, mouse, rabbit, shrew, squirrel |
trees | maple, oak, palm, pine, willow |
vehicles 1 | bicycle, bus, motorcycle, pickup truck, train |
vehicles 2 | lawn-mower, rocket, streetcar, tank, tractor |
CIFAR-100下载
CIFAR-100 python版本
CIFAR-100 Matlab版本
CIFAR-100二进制版本(适用于C程序)
数据集布局
Python/matlab版本
python和Matlab版本的布局与CIFAR-10相同.
二进制版本
CIFAR-100的二进制版本与CIFAR-10的二进制版本相似,只是每个图像都有两个标签字节(粗略和细小)和3072像素字节,所以二进制文件如下所示:
<1 x粗标签> <1 x精标签> <3072 x像素>
...
<1 x粗标签> <1 x精标签> <3072 x像素>
这篇关于CIFAR10/CIFAR100数据集介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!