以下导入NumPy并设置种子.

import numpy as np

np.random.seed(42)

但是,我对设置种子并不感兴趣,而是更多地阅读它. random.get_state()似乎不包含种子. documentation没有显示出明显的答案.

我如何检索numpy.random使用的当前种子,假设我没有手动设置它?

我想使用当前种子来继承进程的下一次迭代.

解决方法:

简短的回答是你根本不能(至少不是一般).

numpy使用的Mersenne Twister RNG具有219937-1个可能的内部状态,而单个64位整数仅具有264个可能的值.因此,不可能将每个RNG状态映射到唯一的整数种子.

您可以使用np.random.get_state和np.random.set_state直接获取和设置RNG的内部状态.get_state的输出是一个元组,其第二个元素是一个32位整数的(624)数组.该阵列具有足够多的比特来表示RNG的每个可能的内部状态(2624 * 32> 219937-1).

get_state返回的元组可以像种子一样使用,以便创建可重现的随机数序列.例如:

import numpy as np

# randomly initialize the RNG from some platform-dependent source of entropy

np.random.seed(None)

# get the initial state of the RNG

st0 = np.random.get_state()

# draw some random numbers

print(np.random.randint(0, 100, 10))

# [ 8 76 76 33 77 26 3 1 68 21]

# set the state back to what it was originally

np.random.set_state(st0)

# draw again

print(np.random.randint(0, 100, 10))

# [ 8 76 76 33 77 26 3 1 68 21]

标签:random-seed,python,numpy,random,mersenne-twister

来源: https://codeday.me/bug/20191004/1852336.html

python产生随机数种子_python – 如何检索NumPy随机数生成器的当前种子?相关推荐

  1. python 组合数库函数_Python数据分析之Numpy库(笔记)

    2.1 ndarray多维数组 2.1.1 创建ndarray数组 通过NumPy库的array函数,即可轻松地创建ndarray数组.NumPy库能将数据(列表,元组,数组,或其他序列类型)转换为n ...

  2. python计算样本方差_Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算...

    使用numpy可以做很多事情,在这篇文章中简单介绍一下如何使用numpy进行方差/标准方差/样本标准方差/协方差的计算. variance: 方差 方差(Variance)是概率论中最基础的概念之一, ...

  3. python 轮廓矩阵_python – 在3D numpy矩阵中绘制给定值的曲面轮廓

    我有三个对应于xyz坐标空间的3D网格矩阵(X,Y,Z). 我还有一个3D Numpy矩阵A,其中A [i,j,k]包含一个与点(x,y,z)相关联的浮点数,其中x = X [i,j,k],y = Y ...

  4. python 数据分析模块_Python数据分析之Numpy模块

    import Numpy as np ar=np.array([[1,3,5,7,9],[2,4,6,8,10]]) # Numpy.array中必须是数组 print(ar,type(ar)) # ...

  5. python nan判断_Python数据分析:Numpy基本操作

    NumPy:数组计算 NumPy是高性能科学计算和数据分析的基础包.它是Pandas等其他各种工具的基础 NumPy的主要功能: ndarray,一个多维数据结构,高校且节省空间 无需循环即可对整组数 ...

  6. python使用虚拟内存_python – 为什么导入numpy在Linux上添加1 GB的虚拟内存?

    我必须在资源受限的环境中运行python,只有几GB的虚拟内存.更糟糕的是,作为应用程序设计的一部分,我必须从我的主进程中派出子进程,所有这些都在fork上接收相同数量的虚拟内存的写时复制分配.结果是 ...

  7. python generator输出_python 高级特性:Generator(生成器)

    格式对比: List Imprehensions 格式:[ 语句 for .. in ..] Generator 格式:(语句 for .. in ..) 区别:List存储的是具体内容,每个元素都占 ...

  8. python generator长度_Python 高级特性之:生成器(generator)和迭代器(Iterator)

    前言: 之前学习Python自动化,接触了不少python的学习,对生成器印象尤其深,网上也看了很多介绍,下面主要是这些概念的个人学习整理(如侵删). 正文: 如要创建一个非常大的列表,受到内存限制, ...

  9. python三大器_python三大器(装饰器/生成器/迭代器)

    1装饰器 1.1基本结构 def 外层函数(参数): def 内层函数(*args,**kwargs); return 参数(*args,**kwargs) return 内层函数 @外层函数 def ...

最新文章

  1. 分布式id生成策略,我和面试官扯了一个半小时
  2. 常用抓包工具(可编程抓包工具)
  3. burpsuite csrf攻击_WEB安全之CSRF
  4. 微信正则表达式 iOS
  5. CYYMysql 源码解读 4
  6. Spring讲解二:Spring中的Bean配置0
  7. Android 悬浮按钮 两种实现方法
  8. 使用fat jar和proguard对包含第三方依赖包的java代码进行打包混淆
  9. thinkpad 机身清理
  10. 苹果分屏软件_苹果iOS14曝光,全是安卓已有的功能!
  11. 计算机网络(韩立刚老师主讲笔记)
  12. 远程网络教学系统用例图
  13. getinfo怎么用php,PHP curl_getinfo函数
  14. 聚石塔服务器 微信,聚石塔云服务器
  15. 如何访问一个互联网上的xap文件
  16. 给PDF文档添加图片签名的简单方法
  17. 虚拟机开启系统蓝屏报错:“终止代码:SYSTEM_SERVICE_ECXEPTION“
  18. 原像、第二原像、碰撞;随机预言机;生日攻击
  19. 网络基本功(二十四):Wireshark抓包实例分析TCP重传
  20. WPF DataGrid 隐藏列

热门文章

  1. [蓝桥杯python] 秘密行动:小D接到一项任务,要求他爬到一座n层大厦的顶端与神秘人物会面。这座大厦有一个神奇的特点,每层的高度都不一样,同时,小D也拥有一项特殊能力,可以一次向上跳跃一层或两层
  2. 【机会约束、鲁棒优化】具有排放感知型经济调度中机会约束和鲁棒优化研究【IEEE6节点、IEEE118节点算例】(Matlab代码实现)
  3. 仪表检测——电压表halcon
  4. iapp调用java顶部显示界面_iapp 悬浮窗权限
  5. 大学毕业生计算机培训,这20所大学的“计算机”专业毕业颇受欢迎
  6. 将json字符串与实体类互相转换
  7. Java基础之---- 集合(一)List
  8. FCKeditor在.NET的使用方法
  9. 刚入门软件测试行业的女生就能月薪过万骗局解秘
  10. testlink二次开发php,testlink根据需求定制