要训练人工智能,就需要有充足的数据。网络上有很多数据集,CIFAR10是一个训练图像分类器的数据集。本文介绍一下,python读取CIFAR10数据集的方法。
工具/原料
1
电脑
2
anaconda(python3+)
3
spyder编译器
方法/步骤
2
把下载的压缩包解压到某个文件夹里面。数据集包括6个文件,其中前五个是训练集,最后一个是测试集。
3
我们用咸菜模块来读取数据:# -*- coding: utf-8 -*-import pickledef load(filename): with open(filename, 'rb') as fo: data = pickle.load(fo, encoding='latin1') return data把python代码保存到数据集所在的文件夹里面。
4
读取第一个训练集——data_batch_1:p = 'data_batch_1'd = load(p)
5
上面的d是一个字典,我们来查看一下这个字典的关键字:print(d.keys())一共有四个关键字:'batch_label', 'labels', 'data', 'filenames'
6
查看d的标签:'batch_label'运行结果是:training batch 1 of 5
7
查看d里面的各个数据的标签:print(d['labels'])这些标签是0到9之间的正整数。
8
查看d里面的图片的名称:print(d['filenames'])这些图片全都是png格式。
9
数据集的主体部分,是图片数据:print(d['data'])里面包含着10000张图片。
10
把这10000张图片数据还原为图片:e = d['data']for i in range(len(e)): cv2.imwrite('a\\'+str(i)+'.jpg', e[i].reshape(32,32,3))
注意事项
CIFAR10数据集都是mat格式的数据。
下一篇:如何选购单反相机【精编版】