Numpy学习(2):将cifar10/100数据文件读入到python数据结构(字典)中
2017-03-14 15:21
495 查看
前言:
cifar10,cifar100是2个比较常用的图像分类数据库,官网地址,从官网下载的数据已经不是原始图片啦,而是经过数值化的numpy数组。那么这些数组究竟是什么样的?如果有一个直观的感受,以后不管是用机器学习算法还是深度学习算法,对于算法的理解都很有帮助。下面这段代码详细说明了图片数据是怎样一个存储方式,下面代码使用python3.x版本以及pickle的库,跑出来结果一目了然。
正文
闲话少说,请看代码:''' 首先把官网的python版本数据下载保存到本地 ''' file1 = 'E:/pythonProjects/dataSets/cifar-10-batches-py/data_batch_1' file2 = 'E:/pythonProjects/dataSets/cifar-10-batches-py/batches.meta' file3 = 'E:/pythonProjects/dataSets/cifar-10-batches-py/test_batch' def unpickle(file): # 该函数将cifar10提供的文件读取到python的数据结构(字典)中 import pickle fo = open(file, 'rb') dict = pickle.load(fo,encoding='iso-8859-1') fo.close() return dict dict_train_batch1 = unpickle(file1) # 将data_batch文件读入到数据结构(字典)中 print(dict_train_batch1) # 每个batch是一个字典 print(dict_train_batch1.keys()) # 字典里有4组键值对 ''' trainSet字典里有4组键值对 1,batch_label :表明batch的位置,没什么用 2,data :32*32图片的数值化数组,是一个10000*3072的numpy二维数组, 每一行代表一张图片,一行分3段(红绿蓝色道),每段1024个元素。 3,labels :data每一行对应的标签(数字0-9),是个一维数组,10000个元素 4,filenames : data每一行对应的文件名,同是一个一维数组,10000个元素 ''' data_train_batch1 = dict_train_batch1.get('data') # 字典中取data print(data_train_batch1) labels = dict_train_batch1.get('labels') # 字典中取labels print(labels) filenames = dict_train_batch1.get('filenames') # 字典中取filenames print(filenames) print('--------------我是分割线---------------------------------') dict_test_batch = unpickle(file3) print(dict_test_batch) print(dict_test_batch.keys()) ''' 跟trainSet中一样,testSet中有相同的4组键值对 说明同上 ''' print('--------------我是分割线---------------------------------') ''' batches.meta是一个字典,其中包含了一个列表,列表中是10种分类的具体名称 一般这个文件用不到 ''' dict_meta_batch = unpickle(file2) print(dict_meta_batch)
相关文章推荐
- Numpy学习(3):将mnist数据文件读入到数据结构(numpy数组)中
- 用python读取cifar-10与cifar-100图像数据
- 用python读取cifar-10与cifar-100图像数据
- TensorFlow学习——CIFAR-10(python实现数据可视化)
- Python读入CIFAR-10数据库
- oracle 11g 学习笔记 10_30(2)_数据字典和动态性能视图
- Python学习笔记_Chapter 4数据保存到文件
- oracle 11g 学习笔记 10_31_管理表空间和数据文件
- python 学习笔记(3)数据类型2 (元组(tuple),集合,字典)
- python 科学计算学习一:numpy文件存取,内存映射
- python学习三(数据保存到文件)
- python 将复杂数据类型(list、dict)存储到文件 以及 读入 pickle模块
- C语言学习10:结构体,结构体应用,联合用法,枚举,fopen函数使用,fseek,ftell的作用和文件结束符EOF,数组和文件交换数据,个人信息管理。
- oracle 11g 学习笔记 10_30(2)_数据字典和动态性能视图
- Python学习系列(五)(文件操作及其字典)
- 【Python】Python的数据分析(三)——数据文件及数据结构
- python 科学计算学习一:numpy文件存取,内存映射
- python学习笔记(四)——数据字典
- Python--将 txt文件里的-字典类型-的数据写到Excel中--xlwt--TxtToExcel
- 用python和numpy读写将字符串或文件中的数据