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数据库相关推荐

  1. python 手动读取cifar10_Python搞定Excel,秒解决!大大提高工作效率

    EXCEL是日常办公最常用的软件,然而遇到数据量特别大(超过10W条)或者需要很复杂的公式时就显得没那么方便了(卡卡卡),下面就看看一些python替代EXCEL的常用操作. X和Y代表地理位置,mo ...

  2. python批量读取文件内容_Python从数据库读取大量数据批量写入文件的方法

    使用机器学习训练数据时,如果数据量较大可能我们不能够一次性将数据加载进内存,这时我们需要将数据进行预处理,分批次加载进内存. 下面是代码作用是将数据从数据库读取出来分批次写入txt文本文件,方便我们做 ...

  3. python 手动读取cifar10_如何用python解析cifar10数据集图片

    概述 通用图像分类公开的标准数据集常用的有CIFAR.ImageNet.COCO等,常用的细粒度图像分类数据集包括CUB-200-2011.Stanford Dog.Oxford-flowers等.其 ...

  4. python——快速读取excel文件并插入数据库

    写一个小功能. import cStringIO import pandas as pd from sqlalchemy import create_enginepath = "D://Us ...

  5. Python+Pandas 读取Oracle数据库

    Python+Pandas 读取Oracle数据库 import pandas as pd from sqlalchemy import create_engine import cx_Oracle ...

  6. python导入csv数据例子-使用python读取csv文件快速插入数据库的实例

    如下所示: # -*- coding:utf-8 -*- # auth:ckf # date:20170703 import pandas as pd import cStringIO import ...

  7. python批量读取图片并批量保存_Python实现批量读取图片并存入mongodb数据库的方法示例...

    本文实例讲述了Python实现批量读取图片并存入mongodb数据库的方法.分享给大家供大家参考,具体如下: 我的图片放在E:\image\中,然后使用python将图片读取然后,显示一张,存入取一张 ...

  8. python如何读取数据保存为新格式_Python -- 数据加载、存储与文件格式

    标签(空格分隔): Python 读入读出通常可以划分为几个大类:读取文本文件和其他更高效的磁盘存储格式,加载数据库中的数据,利用Web API操作网络资源. 读写文本格式的数据 pandas提供了一 ...

  9. 在Python中读取MATLAB的数据文件

    简 介: 本文测试了几种通过python直接读取MATLAB的**.MAT格式的数据文件,有些方法经过测试发现无法完成.而通过mat4py可以比较方便的读取MATLAB中的数据文件.利用手边已有的用于 ...

最新文章

  1. SAP UI5 应用开发教程之三十 - SAP UI5 的路由过程中进行参数传递试读版
  2. 嵌入式科普:基本概念,设计流程,开发特点,如何学习
  3. java反射是运行时,Java反射(三)在运行时利用反射分析对象
  4. matlab基于dct的图像压缩编码解码_一篇文章搞定DCT在JPEG中的本质
  5. 基于逻辑回归的标准评分卡实现
  6. cad放大_如何玩转CAD看图?1分钟,一款完全免费的高效软件,解决所有看图
  7. [RK3399][Android7.1] 调试笔记 --- 虚拟声卡驱动添加
  8. Python3爬虫系列:理论+实验+爬取妹子图实战
  9. SRIO学习笔记之SRIO简介与Xilinx SRIO ip核例程详解
  10. 中国数学界为之骄傲--庞加莱猜想的完美证明
  11. vs2015 openssl-1.0.2j编译
  12. Python 图片处理模块之PIL
  13. 如何实现高速卷积?深度学习库使用了这些「黑魔法」
  14. 安卓系统导航测试软件,安卓战GPS 凯立德导航软件实测解析
  15. 安卓Bugly使用教程
  16. Docker安装配置Jenkins教程
  17. 思维工具2: Reversal
  18. ibatis升级到mybatis总结
  19. 卸载360安全卫士带来的悲剧
  20. 【大数据】要点整理-《数据治理与档案信息资源体系建设》

热门文章

  1. 2010年10月VB100测试成绩
  2. python数据拟合fit
  3. 加载部分神经网络预训练参数后改写网络的方法
  4. pyqt5获取屏幕大小并将窗口大小设置为屏幕的百分之六十
  5. python3 PIL、opencv, 二进制、base64 四种图片格式转换
  6. TensorFlow的基本运算01-01
  7. (总结1)HTML5中新增加的表单元素
  8. H3C大数据产品介绍
  9. c#获取电脑硬件信息参数说明(主板篇 Win32_BaseBoard )
  10. 国内知名 IT 公司前端团队