介绍CIFAR-10 数据集
The CIFAR-10 dataset由 32x32 的10类彩图组成,每类6000张,一共60000张 . 其中训练集中有50000张,测试集中有10000张.
数据集分为五个训练分支和一个测试分支,每个分支中都包含10000张图片。一般来说,测试分支的图片随机从每个类中选出1000张组成的。训练分支则是挑出测试分支图片后剩余图片的集合
下载数据集
听李菲菲老师的机器视觉课程,下载作业包,才发现get数据集的.sh无法在windows下运行(囧)。
于是乎,
记事本打开.sh观察代码,看到http,尝试浏览器打开网址的方法:
结果成功下载The CIFAR-10 dataset
如何使用?
The archive contains the files data_batch_1, data_batch_2, …, data_batch_5, as well as test_batch. Each of these files is a Python “pickled” object produced with cPickle.
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 array of uint8s . array的每一行都存储了一个 32x32 大小的彩图. 前1024个参数表示红色通道值,接下来的1024个为绿色通道值,最后1024 为蓝色通道值, 图像是按行存储的,因此array的前32个参数是第一行图像的红色通道值。(通俗点说3072是3个1024相加,也就是3个1024分别记录RGB通道取值,表示一幅图,总共10000张图片在这个子分支内)
labels – 包含10000个值,取值范围0-9。值的索引i代表了array数据中第i张图片的标签。
数据集还包含两一个文件, batches.meta。该文件中也包含了一个Python字典对象,参数如下:
label_names−−包含十个元素列表,每个元素代表数值化标签背后的含义比如:label_names[0]=="airplane",label_names[1]=="automobile",诸如此类
更多关于数据集的资料,请参考:这里