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 nose单元测试框架的安装与使用
Dec 20 Python
Python自定义线程类简单示例
Mar 23 Python
python 去除txt文本中的空格、数字、特定字母等方法
Jul 24 Python
python实现指定文件夹下的指定文件移动到指定位置
Sep 17 Python
75条笑死人的知乎神回复,用60行代码就爬完了
May 06 Python
python通过TimedRotatingFileHandler按时间切割日志
Jul 17 Python
Python中sorted()排序与字母大小写的问题
Jan 14 Python
TensorFlow获取加载模型中的全部张量名称代码
Feb 11 Python
python读写文件write和flush的实现方式
Feb 21 Python
python 追踪except信息方式
Apr 25 Python
编写python代码实现简单抽奖器
Oct 20 Python
matplotlib更改窗口图标的方法示例
Feb 03 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高手?学会“懒惰”的编程
2006/12/05 PHP
PHP中usort在值相同时改变原始位置问题的解决方法
2011/11/27 PHP
PHP实现读取一个1G的文件大小
2013/08/24 PHP
用jquery和json从后台获得数据集的代码
2011/11/07 Javascript
通过JS获取用户本地图片路径并显示的代码
2012/02/16 Javascript
JS子父窗口互相操作取值赋值的方法介绍
2013/05/11 Javascript
基于insertBefore制作简单的循环插空效果
2015/09/21 Javascript
跟我学习javascript的this关键字
2020/05/28 Javascript
详解AngularJs中$sce与$sceDelegate上下文转义服务
2016/09/21 Javascript
NodeJS整合银联网关支付(DEMO)
2016/11/09 NodeJs
Kendo Grid editing 自定义验证报错提示的解决方法
2016/11/18 Javascript
使用Angular缓存父页面数据的方法
2017/01/03 Javascript
Three.js实现浏览器变动时进行自适应的方法
2017/09/26 Javascript
TypeScript基础入门教程之三重斜线指令详解
2018/10/22 Javascript
详解微信小程序-canvas绘制文字实现自动换行
2019/04/26 Javascript
vue中node_modules中第三方模块的修改使用详解
2019/05/31 Javascript
100行代码实现vue表单校验功能(小白自编)
2019/11/19 Javascript
JavaScript中使用Spread运算符的八种方法总结
2020/06/18 Javascript
基于VUE实现判断设备是PC还是移动端
2020/07/03 Javascript
[01:02:48]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Liquid
2018/04/03 DOTA
Python中的Numpy入门教程
2014/04/26 Python
python3+PyQt5实现使用剪贴板做复制与粘帖示例
2017/01/24 Python
使用Turtle画正螺旋线的方法
2017/09/22 Python
numpy.delete删除一列或多列的方法
2018/04/03 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
2018/05/10 Python
python基于Selenium的web自动化框架
2019/07/14 Python
Python定时任务随机时间执行的实现方法
2019/08/14 Python
如何创建一个Flask项目并进行简单配置
2020/11/18 Python
python爬虫中的url下载器用法详解
2020/11/30 Python
python使用smtplib模块发送邮件
2020/12/17 Python
求职者应聘的自我评价
2013/10/16 职场文书
大学生职业生涯规划书前言
2014/01/09 职场文书
环保小标语
2014/06/13 职场文书
三方股东合作协议书
2014/10/28 职场文书
2015重阳节敬老活动总结
2015/07/29 职场文书
Win11如何启用启动修复 ? Win11执行启动修复的三种方法
2022/04/08 数码科技