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使用urlparse分析网址中域名的方法
Apr 15 Python
详解python的数字类型变量与其方法
Nov 20 Python
Python 实现数据库(SQL)更新脚本的生成方法
Jul 09 Python
matplotlib subplots 调整子图间矩的实例
May 25 Python
python判断文件夹内是否存在指定后缀文件的实例
Jun 10 Python
对django views中 request, response的常用操作详解
Jul 17 Python
Python如何使用Gitlab API实现批量的合并分支
Nov 27 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
Feb 25 Python
python小程序之4名牌手洗牌发牌问题解析
May 15 Python
python框架flask入门之路由及简单实现方法
Jun 07 Python
python实现大文本文件分割成多个小文件
Apr 20 Python
python 爬取华为应用市场评论
May 29 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 Static关键字实用方法
2010/06/04 PHP
php生成EAN_13标准条形码实例
2013/11/13 PHP
19个超实用的PHP代码片段
2014/03/14 PHP
如何阻止网站被恶意反向代理访问(防网站镜像)
2014/03/18 PHP
ThinkPHP多表联合查询的常用方法
2020/03/24 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
2015/04/15 PHP
PHP浮点数精度问题汇总
2015/05/13 PHP
非常有用的9个PHP代码片段
2016/04/06 PHP
模仿jQuery each函数的链式调用
2009/07/22 Javascript
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
2010/04/01 Javascript
jQuery阻止同类型事件小结
2013/04/19 Javascript
JSON 数字排序多字段排序介绍
2013/09/18 Javascript
jQuery中bind,live,delegate与one方法的用法及区别解析
2013/12/30 Javascript
简单讲解AngularJS的Routing路由的定义与使用
2016/03/05 Javascript
JavaScript实现复制内容到粘贴板代码
2016/03/31 Javascript
关于jQuery.ajax()的jsonp碰上post详解
2017/07/02 jQuery
vue2手机APP项目添加开屏广告或者闪屏广告
2017/11/28 Javascript
vue2.0结合Element-ui实战案例
2019/03/06 Javascript
微信小程序的tab选项卡的实现效果
2019/05/15 Javascript
[01:09:50]VP vs Pain 2018国际邀请赛小组赛BO2 第二场
2018/08/20 DOTA
python原始套接字编程示例分享
2014/02/21 Python
Eclipse中Python开发环境搭建简单教程
2016/03/23 Python
尝试用最短的Python代码来实现服务器和代理服务器
2016/06/23 Python
python中numpy基础学习及进行数组和矢量计算
2017/02/12 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
2017/07/24 Python
深入理解Python3 内置函数大全
2017/11/23 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
Python WSGI的深入理解
2018/08/01 Python
简单了解django缓存方式及配置
2019/07/19 Python
Python requests模块cookie实例解析
2020/04/14 Python
Python+PyQt5+MySQL实现天气管理系统
2020/06/16 Python
在 Python 中使用 MQTT的方法
2020/08/18 Python
Selenium 配置启动项参数的方法
2020/12/04 Python
社区娱乐活动方案
2014/08/21 职场文书
写景作文评语集锦
2014/12/25 职场文书
法人代表证明书范本
2015/06/18 职场文书