一、CIFAR10数据集下载及云盘链接参照如下文章:
HUST小菜鸡:Cifar10数据集下载zhuanlan.zhihu.com二、数据集文件解读
![a92cebbd00d0249510a84505794827b3.png](https://i-blog.csdnimg.cn/blog_migrate/c07e81df26e5948858421414e534d522.jpeg)
下载的文件解压出来可以看到有如上图所示的数据,其中data_batch_1-data_batch_5是5个批次的训练数据,每个批次有10000张训练图片,test_batch为测试数据集,有10000张测试的图片。通过官方的数据集解压的代码可以解压训练和测试的文件。
#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
三、使用官方的解压代码处理数据集
解压后会返回dict,我们来看一下其属性
data = unpickle('datasets/cifar-10-batches-py/data_batch_1')
data1 = unpickle('datasets/cifar-10-batches-py/batches.meta')
print(data.keys())
print(data1.keys())
print(data1)
print(data1[b'num_cases_per_batch'])
print(data1[b'label_names'])
print(data1[b'num_vis'])
Traceback如下
dict_keys([b'batch_label', b'labels', b'data', b'filenames'])
dict_keys([b'num_cases_per_batch', b'label_names', b'num_vis'])
{b'num_cases_per_batch': 10000, b'label_names': [b'airplane', b'automobile', b'bird', b'cat', b'deer', b'dog', b'frog', b'horse', b'ship', b'truck'], b'num_vis': 3072}
10000
[b'airplane', b'automobile', b'bird', b'cat', b'deer', b'dog', b'frog', b'horse', b'ship', b'truck']
3072
四、使用torchvision处理数据
cifar10
可以得到返回的结果
Dataset CIFAR10
Number of datapoints: 50000
Root location: datasets
Split: Train
Dataset CIFAR10
Number of datapoints: 10000
Root location: datasets
Split: Test
对于官方下载数据集慢的方式,使用torchvision下载也很慢,所以参照之前解决MINIST数据集本地文件下载的方法:
HUST小菜鸡:使用torchvision下载MINIST及配置踩坑笔记zhuanlan.zhihu.com![cd271ace13eee043cb2e552b63b211ab.png](https://i-blog.csdnimg.cn/blog_migrate/258d0be42925ba24cb84421707244eb1.png)
1、首先按照上面的链接提前下载好数据集
2、进入CIFAR10函数
3、修改url,将url由官网下载改成本地下载
![2a7ebbb089ae41c6a01e5c11ee83d1a1.png](https://i-blog.csdnimg.cn/blog_migrate/3b04c34b5b538a127b31588f757bef02.jpeg)