numpy.random.shuffle打乱顺序函数的实现


Posted in Python onSeptember 10, 2019

numpy.random.shuffle

在做将caffe模型和预训练的参数转化为tensorflow的模型和预训练的参数,以便微调,遇到如下函数:

def gen_data(source):
  while True:
    indices = range(len(source.images)) # indices = the number of images in the source data set
    random.shuffle(indices)
    for i in indices:
      image = np.reshape(source.images[i], (28, 28, 1))
      label = source.labels[i]
      yield image, label

之前卑鄙陋寡闻,不知道这个用法,按照字面上的意思是打乱,那么这里就应该是让训练数据集中的数据打乱顺序,然后一个挨着一个地(for i in indices)生成训练数据对。下面就从docs.scipy.org中查到的random.shuffle的用法:

numpy.random.shuffle(x)

Modify a sequence in-place by shuffling its contents.

Parameters: x : array_like The array or list to be shuffled.
Returns: None

举例

python>>>
>>> arr = np.arange(10)
>>> np.random.shuffle(arr)
>>> arr
[1 7 5 2 9 4 3 6 0 8]

This function only shuffles the array along the first index of a multi-dimensional array(多维矩阵中,只对第一维(行)做打乱顺序操作):

python>>>
>>> arr = np.arange(9).reshape((3, 3))
>>> np.random.shuffle(arr)
>>> arr
array([[3, 4, 5],
    [6, 7, 8],
    [0, 1, 2]])This function only shuffles the array along the first index of a multi-dimensional array:

参考:

[1] https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.shuffle.html#numpy-random-shuffle

[2] https://github.com/ethereon/caffe-tensorflow/blob/master/examples/mnist/finetune_mnist.py

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python装饰器基础详解
Mar 09 Python
Python+OpenCV人脸检测原理及示例详解
Oct 19 Python
详解Python发送email的三种方式
Oct 18 Python
Python给定一个句子倒序输出单词以及字母的方法
Dec 20 Python
Python 监测文件是否更新的方法
Jun 10 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
Jun 19 Python
python字符串反转的四种方法详解
Dec 02 Python
Python接口测试数据库封装实现原理
May 09 Python
基于Python快速处理PDF表格数据
Jun 03 Python
Python语言编写智力问答小游戏功能
Oct 13 Python
Python实战之实现康威生命游戏
Apr 26 Python
python实现简单的名片管理系统
Apr 26 Python
python+pygame实现坦克大战
Sep 10 #Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
Sep 10 #Python
Python将视频或者动态图gif逐帧保存为图片的方法
Sep 10 #Python
python使用PIL和matplotlib获取图片像素点并合并解析
Sep 10 #Python
Python字符串中添加、插入特定字符的方法
Sep 10 #Python
详解python uiautomator2 watcher的使用方法
Sep 09 #Python
一行Python代码制作动态二维码的实现
Sep 09 #Python
You might like
网页自动刷新,不产生嗒嗒声的一个解决方法
2007/03/27 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
纯JavaScript实现HTML5 Canvas六种特效滤镜示例
2013/06/28 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2013/08/12 Javascript
iframe的父子窗口之间的对象相互调用基本用法
2013/09/03 Javascript
Javascript 浮点运算精度问题分析与解决
2014/03/26 Javascript
加载列表时jquery获取ul中第一个li的属性
2014/11/02 Javascript
JS实现状态栏跑马灯文字效果代码
2015/10/24 Javascript
深入理解jQuery事件绑定
2016/06/02 Javascript
从零开始学习Node.js系列教程二:文本提交与显示方法
2017/04/13 Javascript
Vue.js实现图片的随意拖动方法
2018/03/08 Javascript
JavaScript求一个数组中重复出现次数最多的元素及其下标位置示例
2018/07/23 Javascript
JS根据json数组多个字段排序及json数组常用操作
2019/06/06 Javascript
javascript面向对象三大特征之继承实例详解
2019/07/24 Javascript
通过js示例讲解时间复杂度与空间复杂度
2019/08/06 Javascript
JS算法教程之字符串去重与字符串反转
2020/12/15 Javascript
详解js创建对象的几种方式和对象方法
2021/03/01 Javascript
pygame播放音乐的方法
2015/05/19 Python
JavaScript中的模拟事件和自定义事件实例分析
2018/07/27 Python
selenium+python实现1688网站验证码图片的截取功能
2018/08/14 Python
Django中在xadmin中集成DjangoUeditor过程详解
2019/07/24 Python
Python爬取知乎图片代码实现解析
2019/09/17 Python
python turtle工具绘制四叶草的实例分享
2020/02/14 Python
python openCV实现摄像头获取人脸图片
2020/08/20 Python
使用HTML5做个画图板的方法介绍
2013/05/03 HTML / CSS
H5页面适配iPhoneX(就是那么简单)
2019/12/02 HTML / CSS
关于VPN
2012/06/10 面试题
单位法定代表人授权委托书
2014/09/20 职场文书
2015年科室工作总结
2015/04/10 职场文书
2015年大学生村官工作总结
2015/04/21 职场文书
旅游投诉信范文
2015/07/02 职场文书
初中毕业生感言
2015/07/31 职场文书
2016教师党员学习心得体会
2016/01/21 职场文书
golang 实现菜单树的生成方式
2021/04/28 Golang
学习nginx基础知识
2021/09/04 Servers
MySQL 如何限制一张表的记录数
2021/09/14 MySQL