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通过post提交数据的方法
May 06 Python
Python Paramiko模块的安装与使用详解
Nov 18 Python
Python 基础教程之闭包的使用方法
Sep 29 Python
人工智能最火编程语言 Python大战Java!
Nov 13 Python
python 3.6.2 安装配置方法图文教程
Sep 18 Python
python程序控制NAO机器人行走
Apr 29 Python
python实现回旋矩阵方式(旋转矩阵)
Dec 04 Python
python 非线性规划方式(scipy.optimize.minimize)
Feb 11 Python
django项目中新增app的2种实现方法
Apr 01 Python
Django实现微信小程序支付的示例代码
Sep 03 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
Oct 18 Python
浅析Python打包时包含静态文件处理方法
Jan 15 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
也谈截取首页新闻 - 范例
2006/10/09 PHP
PHP ajax 分页类代码
2008/11/13 PHP
PHP封装的简单连接MongoDB类示例
2019/02/13 PHP
$()JS小技巧
2007/07/21 Javascript
javascript函数中的arguments参数
2010/08/01 Javascript
调用jQuery滑出效果时闪烁的解决方法
2014/03/27 Javascript
jquery库文件略庞大用纯js替换jquery的方法
2014/08/12 Javascript
深入分析Javascript事件代理
2016/01/30 Javascript
JavaScript 函数模式详解及示例
2016/09/07 Javascript
Nodejs基于LRU算法实现的缓存处理操作示例
2017/03/17 NodeJs
让微信小程序支持ES6中Promise特性的方法详解
2017/06/13 Javascript
Vue导出json数据到Excel电子表格的示例
2017/12/04 Javascript
vue filters的使用详解
2018/06/11 Javascript
Vue如何实现响应式系统
2018/07/11 Javascript
jQuery实现的简单歌词滚动功能示例
2019/01/07 jQuery
弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】
2019/08/07 Javascript
el-table表头根据内容自适应完美解决表头错位和固定列错位
2021/01/07 Javascript
[03:22]DAC最前线(第二期)—DOTA2亚洲邀请赛主赛场周边及线路探访
2015/01/24 DOTA
使用Python的Tornado框架实现一个Web端图书展示页面
2016/07/11 Python
Python数据结构与算法之二叉树结构定义与遍历方法详解
2017/12/12 Python
Python实现多级目录压缩与解压文件的方法
2018/09/01 Python
Python多进程入门、分布式进程数据共享实例详解
2019/06/03 Python
详解PyTorch中Tensor的高阶操作
2019/08/18 Python
Python自动重新加载模块详解(autoreload module)
2020/04/01 Python
使用jupyter notebook直接打开.md格式的文件
2020/04/10 Python
Python如何优雅删除字符列表空字符及None元素
2020/06/25 Python
椰子猫砂:CatSpot
2018/08/27 全球购物
DC Shoes俄罗斯官网:美国滑板鞋和服饰品牌
2020/08/19 全球购物
工程总经理工作职责
2013/12/09 职场文书
大学毕业自我鉴定范文
2014/02/03 职场文书
医院病假条范文
2015/08/17 职场文书
2016年小学生寒假总结
2015/10/10 职场文书
导游词之无锡东林书院
2019/12/11 职场文书
Python基础之字符串格式化详解
2021/04/21 Python
详解php中流行的rpc框架
2021/05/29 PHP
SQL解决未能删除约束问题drop constraint
2022/05/30 SQL Server