cifar10数据集的下载和使⽤
基本信息
CIFAR-10 是⼀个包含60000张图⽚的数据集。其中每张照⽚为32*32的彩⾊照⽚,每个像素点包括RGB三个数值,数值范围 0 ~ 255。
import pickle所有照⽚分属10个不同的类别,分别是 'airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck'
其中五万张图⽚被划分为训练集,剩下的⼀万张图⽚属于测试集。
下载数据集
打开下⾯的链接进⼊官⽹下载
下载完成后先解压缩,之后会得到如下⼏个⽂件
data_batch_1 ~ data_batch_5 是划分好的训练数据,每个⽂件⾥包含10000张图⽚,test_batch 是测试集数据,也包含10000张图⽚。他们的结构是⼀样的,下⾯就⽤ data_batch_1 作为例⼦进⾏说明。
读取数据
import pickle def load_file(filename): with open(filename, 'rb') as fo: data = pickle.load(fo, encoding='latin1') return data
⾸先定义读取数据的函数,这⼏个⽂件都是通过 pickle 产⽣的,所以在读取的时候也要⽤到这个包。
这⾥⾯返回的data是⼀个字典,先看看这个字典⾥⾯有哪些键吧。
data = load_file('test_batch')
print(data.keys())
输出结果
1dict_keys(['batch_label', 'labels', 'data', 'filenames'])
batch_label
对应的值是⼀个字符串,⽤来表明当前⽂件的⼀些基本信息。
如果是 data_batch_1 这个⽂件,⾥⾯的值就是
training batch 1 of 5
如果是 test_batch 这个⽂件,⾥⾯的值就是
testing batch 1 of 1
labels
对应的值是⼀个长度为10000的列表,每个数字取值范围 0~9,代表当前图⽚所属类别
data
10000 * 3072 的⼆维数组,每⼀⾏代表⼀张图⽚的像素值。(32*32*3=3072)
filenames
长度为10000的列表,⾥⾯每⼀项是代表图⽚⽂件名的字符串。
num_cases_per_batch
10000
label_names
['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck'] num_vis
3072
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论