python 手动读取cifar10_Python读入CIFAR-10数据库
CIFAR-10数据组成:
训练集和测试集分别有50000和10000张图片,RGB3通道,尺寸32×32,如下为data_batch_1的组成(使用pickle.load函数):
可以看到有四部分,清晰明了
对于CIFAR-10数据的读取,函数有两个,如下所示
1 def load_CIFAR_batch(filename):
2 """ load single batch of cifar """
3 with open(filename, 'rb') as f:
4 datadict = pickle.load(f,encoding='latin1')
5 X = datadict['data']
6 Y = datadict['labels']
7 X = X.reshape(10000, 3, 32,32).transpose(0,2,3,1).astype("float")
8 Y = np.array(Y)
9 return X, Y
——————————————————————————————————————————————
1 def load_CIFAR10(ROOT):
2 """ load all of cifar """
3 xs = []
4 ys = []
5 for b in range(1,6):
6 f = os.path.join(ROOT, 'data_batch_%d' % (b, ))
7 X, Y = load_CIFAR_batch(f)
8 xs.append(X)
9 ys.append(Y)
10 Xtr = np.concatenate(xs)#使变成行向量
11 Ytr = np.concatenate(ys)
12 del X, Y
13 Xte, Yte = load_CIFAR_batch(os.path.join(ROOT, 'test_batch'))
14 return Xtr, Ytr, Xte, Yte
——————————————————————————————————————————————
其中有几个语句要注意一下:
X = X.reshape(10000, 3, 32, 32).transpose(0, 2, 3, 1).astype("float")
起初,X的size为(10000, 3072(3*32*32))。首先reshape很好理解,最后astype的格式转换也很好理解。
可是为什么要调用transpose,转置轴呢?就我认为只需要把一幅图像转成行向量就可以了。是为了方便检索吗?
xs.append(X)将5个batch整合起来;np.concatenate(xs)使得最终Xtr的尺寸为(50000,32,32,3)
当然还需要一步Xtr_rows = Xtr.reshape(Xtr.shape[0], 32 * 32 * 3)使得每一副图像称为一个行向量,最终就有了50000个行向量(Xtr_rows的尺寸为(50000,3072))
——————————————————————————————————————————————
综上,为了方便,难道不应该直接从最开始就不要调用reshape(10000, 3, 32, 32).transpose(0, 2, 3, 1).astype("float"),直接append再concatenate不就能导出Xtr_rows了吗?
知道的博友可以讨论一下!
python 手动读取cifar10_Python读入CIFAR-10数据库相关推荐
- python 手动读取cifar10_Python搞定Excel,秒解决!大大提高工作效率
EXCEL是日常办公最常用的软件,然而遇到数据量特别大(超过10W条)或者需要很复杂的公式时就显得没那么方便了(卡卡卡),下面就看看一些python替代EXCEL的常用操作. X和Y代表地理位置,mo ...
- python批量读取文件内容_Python从数据库读取大量数据批量写入文件的方法
使用机器学习训练数据时,如果数据量较大可能我们不能够一次性将数据加载进内存,这时我们需要将数据进行预处理,分批次加载进内存. 下面是代码作用是将数据从数据库读取出来分批次写入txt文本文件,方便我们做 ...
- python 手动读取cifar10_如何用python解析cifar10数据集图片
概述 通用图像分类公开的标准数据集常用的有CIFAR.ImageNet.COCO等,常用的细粒度图像分类数据集包括CUB-200-2011.Stanford Dog.Oxford-flowers等.其 ...
- python——快速读取excel文件并插入数据库
写一个小功能. import cStringIO import pandas as pd from sqlalchemy import create_enginepath = "D://Us ...
- Python+Pandas 读取Oracle数据库
Python+Pandas 读取Oracle数据库 import pandas as pd from sqlalchemy import create_engine import cx_Oracle ...
- python导入csv数据例子-使用python读取csv文件快速插入数据库的实例
如下所示: # -*- coding:utf-8 -*- # auth:ckf # date:20170703 import pandas as pd import cStringIO import ...
- python批量读取图片并批量保存_Python实现批量读取图片并存入mongodb数据库的方法示例...
本文实例讲述了Python实现批量读取图片并存入mongodb数据库的方法.分享给大家供大家参考,具体如下: 我的图片放在E:\image\中,然后使用python将图片读取然后,显示一张,存入取一张 ...
- python如何读取数据保存为新格式_Python -- 数据加载、存储与文件格式
标签(空格分隔): Python 读入读出通常可以划分为几个大类:读取文本文件和其他更高效的磁盘存储格式,加载数据库中的数据,利用Web API操作网络资源. 读写文本格式的数据 pandas提供了一 ...
- 在Python中读取MATLAB的数据文件
简 介: 本文测试了几种通过python直接读取MATLAB的**.MAT格式的数据文件,有些方法经过测试发现无法完成.而通过mat4py可以比较方便的读取MATLAB中的数据文件.利用手边已有的用于 ...
最新文章
- SAP UI5 应用开发教程之三十 - SAP UI5 的路由过程中进行参数传递试读版
- 嵌入式科普:基本概念,设计流程,开发特点,如何学习
- java反射是运行时,Java反射(三)在运行时利用反射分析对象
- matlab基于dct的图像压缩编码解码_一篇文章搞定DCT在JPEG中的本质
- 基于逻辑回归的标准评分卡实现
- cad放大_如何玩转CAD看图?1分钟,一款完全免费的高效软件,解决所有看图
- [RK3399][Android7.1] 调试笔记 --- 虚拟声卡驱动添加
- Python3爬虫系列:理论+实验+爬取妹子图实战
- SRIO学习笔记之SRIO简介与Xilinx SRIO ip核例程详解
- 中国数学界为之骄傲--庞加莱猜想的完美证明
- vs2015 openssl-1.0.2j编译
- Python 图片处理模块之PIL
- 如何实现高速卷积?深度学习库使用了这些「黑魔法」
- 安卓系统导航测试软件,安卓战GPS 凯立德导航软件实测解析
- 安卓Bugly使用教程
- Docker安装配置Jenkins教程
- 思维工具2: Reversal
- ibatis升级到mybatis总结
- 卸载360安全卫士带来的悲剧
- 【大数据】要点整理-《数据治理与档案信息资源体系建设》