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爬虫:通过关键字爬取百度图片
Feb 17 Python
django创建自定义模板处理器的实例详解
Aug 14 Python
Python基于time模块求程序运行时间的方法
Sep 18 Python
Python环境搭建之OpenCV的步骤方法
Oct 20 Python
Python找出最小的K个数实例代码
Jan 04 Python
Python将list中的string批量转化成int/float的方法
Jun 26 Python
python定时复制远程文件夹中所有文件
Apr 30 Python
python3.6+django2.0+mysql搭建网站过程详解
Jul 24 Python
Django 实现Admin自动填充当前用户的示例代码
Nov 18 Python
PYcharm 激活方法(推荐)
Mar 23 Python
Python3+Django get/post请求实现教程详解
Feb 16 Python
Python实现随机生成迷宫并自动寻路
Jun 13 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
PHP 高级课程笔记 面向对象
2009/06/21 PHP
ajax php传递和接收变量实现思路及代码
2012/12/19 PHP
使用swoole扩展php websocket示例
2014/02/13 PHP
php实现获取文件mime类型的方法
2015/02/11 PHP
检测是否已安装 .NET Framework 3.5的js脚本
2009/02/14 Javascript
JQuery拖拽元素改变大小尺寸实现代码
2012/12/10 Javascript
Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍
2012/12/13 Javascript
jquery设置text的值示例(设置文本框 DIV 表单值)
2014/01/06 Javascript
angularJS提交表单(form)
2015/02/09 Javascript
javascript实现点击提交按钮后显示loading的方法
2015/07/03 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
基于JavaScript实现跳转提示页面
2016/09/24 Javascript
有关suggest快速删除后仍然出现下拉列表的bug问题
2016/12/02 Javascript
vuejs2.0子组件改变父组件的数据实例
2017/05/10 Javascript
关于vue中watch检测到不到对象属性的变化的解决方法
2018/02/08 Javascript
vue 组件使用中的一些细节点
2018/04/25 Javascript
vue中的模态对话框组件实现过程
2018/05/01 Javascript
微信小程序template模版的使用方法
2019/04/13 Javascript
关于vue3默认把所有onSomething当作v-on事件绑定的思考
2020/05/15 Javascript
vue项目实现多语言切换的思路
2020/09/17 Javascript
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
2021/01/29 jQuery
Python中的进程分支fork和exec详解
2015/04/11 Python
python实现数独算法实例
2015/06/09 Python
Python 实现12306登录功能实例代码
2018/02/09 Python
用pandas按列合并两个文件的实例
2018/04/12 Python
Python3.6简单的操作Mysql数据库的三个实例
2018/10/17 Python
Python 控制终端输出文字的实例
2019/07/12 Python
分享CSS3中必须要知道的10个顶级命令
2012/04/26 HTML / CSS
详解css position 5种不同的值的用法
2019/07/30 HTML / CSS
台湾旅游网站:雄狮旅游网
2017/08/16 全球购物
英文版银行求职信
2013/10/09 职场文书
超市营业员求职简历的自我评价
2013/10/17 职场文书
公司门卫岗位职责范本
2014/07/08 职场文书
小学教师岗位职责
2015/04/02 职场文书
利用html+css实现菜单栏缓慢下拉效果的示例代码
2021/03/30 HTML / CSS
解决redis批量删除key值的问题
2022/03/23 Redis