深度学习:CIFAR-10数据集

简介

CIFAR-10和CIFAR-100是来自于80 million张小型图片的数据集,图片收集者是Alex Krizhevsky, Vinod Nair, and Geoffrey Hinton。

官网 http://www.cs.toronto.edu/~kriz/cifar.html

CIFAR-10数据集
总数图片尺寸色彩类别数训练集测试集
60000(张)32×32RGB10类50000(张)10000(张)

整个数据集被分为5个training batches和1个test batch(每个batch有10000张图片)
test batch:随机从每类选择1000张图片组成
training batches:从剩下的图片中随机选择,但每类的图片不是平均分给batch的(即一些training batches中某类图片可能比较多),总数为每类5000张图片。

这些类别是完全互斥的,在automobile和trucks中,automobiles包括轿车、越野车等。trucks只包括大型卡车。两者都不包括皮卡。

下载方式

登陆官网http://www.cs.toronto.edu/~kriz/cifar.html下载数据集

顺便一提,Rodrigo Benenson对cifar-10、cifar-100等数据集的识别模型做了一个排名,click here to view

数据集

这里描述一下Python版本的数据集,Matlab版本是相同的。
解压后的目录结构

  • cifar-10-python
    • cifar-10-batches-py
      • batches.meta
      • data_batch_1
      • data_batch_2
      • data_batch_3
      • data_batch_4
      • data_batch_5
      • readme.html
      • test_batch
文件名内容
batches.meta每个batch大小, label名称, 图片大小
data_batch_1训练集的第一个batch,含有10000张图片
data_batch_2训练集的第二个batch,含有10000张图片
data_batch_3训练集的第三个batch,含有10000张图片
data_batch_4训练集的第四个batch,含有10000张图片
data_batch_5训练集的第五个batch,含有10000张图片
readme.html
test_batch测试集的batch,含有10000张图片

batch文件都是Python的pickled对象。
下面是python3来打开文件,并转换成dictonary的方法。

def unpickle(file):
    import pickle
    with open(file, 'rb') as fo:
        dict_ = pickle.load(fo, encoding='bytes')
    return dict_
data = unpickle('test_batch')
data.keys() # dict_keys([b'batch_label', b'labels', b'data', b'filenames'])
data[b'data'][0] # array([158, 159, 165, ..., 124, 129, 110], dtype=uint8)
每个batch文件转换为dictonary,其中的内容是
名称
dataa 10000×3072 array(uint85),array的每行是一张32×32的彩色图片,前1024是red channel的值,后面1024是green channel的值,最后1024是blue channel的值。图片是以行主顺序存储,所以,前数组中前32个数表示的是一张图片第一行的red channel values。
labelsa list of 10000 numbers in the range 0-9,labels中的序号i对应的是data数组中第i个图片的label。
batch_labelbatch的名称
filenames数据集中data对应的图片名称数组
batches.meta文件包含了[b’num_cases_per_batch’, b’label_names’, b’num_vis’]
  • label_names – 十个类别对应的英文名

总结

  cifar-10是我所接触过的第二个图像数据集,和之前了解的mnist数据集相比,划分为5个training batches。图像也是彩色,所以要给图像的三个通道进行管理。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐