nump中的为随机数产生器的seed

2024-04-10 08:18
文章标签 随机数 seed 产生器 nump

本文主要是介绍nump中的为随机数产生器的seed,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在python的程序中,发现了如下的伪随机数产生的代码

rng = numpy.random.RandomState(23355)
arrayA = rng.uniform(0,1,(2,3))

  

该段代码的目的是产生一个2行3列的assarray,其中的每个元素都是[0,1]区间的均匀分布的随机数

这里看以看到,有一个23355这个数字,其实,它是伪随机数产生器的种子,也就是“the starting point for a sequence of pseudorandom number”

对于某一个伪随机数发生器,只要该种子(seed)相同,产生的随机数序列就是相同的

下面给出几个小例子

1 # 仍以上面的seed为例,但执行多次
2 # 利用循环,执行4次
3 import numpy
4 for i in [1,2,3,4]:
5     rng = numpy.random.RandomState(23455)
6     arrayA = rng.uniform(0,1,(2,3))
7     print arrayA

改代码段的结果如下:

 

可以看到,每次循环产生的伪随机数都是相同的,这是由于每次伪随机数发生器的种子都是相同的

下面,再看另外一个例子

1 import numpy
2 for i in [1,2,3,4]:
3     rng = numpy.random.RandomState(23455+i)
4     arrayA = rng.uniform(0,1,(2,3))
5     print ('i = %s' % (i))
6     print (arrayA)
7     

这里,我们做了一个小小的更改,每次循环的种子都加入了i,由于每次循环i值不同,导致每次循环的种子也不同,下面是改程序段的结果

可以看到,每次循环产生的2*3的随机asarray都是不同的了

这篇关于nump中的为随机数产生器的seed的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/890529

相关文章

明明的随机数处理问题分析与解决方案

明明的随机数处理问题分析与解决方案 引言问题描述解决方案数据结构设计具体步骤伪代码C语言实现详细解释读取输入去重操作排序操作输出结果复杂度分析 引言 明明生成了N个1到500之间的随机整数,我们需要对这些整数进行处理,删去重复的数字,然后进行排序并输出结果。本文将详细讲解如何通过算法、数据结构以及C语言来解决这个问题。我们将会使用数组和哈希表来实现去重操作,再利用排序算法对结果

Java生成随机数工具类,进制之间的转换工具类,获取指定时间,时间格式转换工具类

废话不多说,贡献一下code 1.编号生成工具 import org.apache.commons.lang3.StringUtils;import java.math.BigInteger;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Random;/*** 编号生成工具*/@

Cocos2dx 3.0 过渡篇(五) 随机数的获取

1、简单的随机数用法:CCRANDOM_0_1 示例如下: [cpp] int HelloWorld::getRand(int start,int end)  {   float i = CCRANDOM_0_1()*(end-start+1)+start;  //产生一个从start到end间的随机数   return (int)i;  }   2、上述的方法虽然简便,但是运行

(php伪随机数生成)[GWCTF 2019]枯燥的抽奖

审核源码发现加载check.php,审计发现使用了mt_rand()函数,这个函数生成的值是伪随机的 参考下面这篇文章 PHP mt_rand安全杂谈及应用场景详解 - FreeBuf网络安全行业门户 kali里面输入下载工具 git clone https://github.com/openwall/php_mt_seed.git cd进去输入make后编译出的文件先

STM32G474之随机数发生器

STM32G474一个RNG设备,它能提供由“集成模拟电路”生成的32位随机数,是硬件随机数发生器。在C语言中,若包含头文件“stdlib.h”,我们就可以使用有rand()函数,它是C语言中用于生成随机数的函数。 1、“随机数”的应用 1)、一般用“随机数”作为延时函数的传递参数,来获取不同的延时时间。在多主机通讯系统中,要求时间同步采集数据,但是数据传输,若发生在同一时刻,通讯就会发生碰撞

取Random范围内的随机数

Random rand = new Random();        int m = rand.nextInt(); //int范围类的随机数        int n = rand.nextInt(100); //0-100范围内的随机数      包含0,不包含100.

linux 随机数生成原理

简介 在信息学中,信息熵是用来描述系统混乱无序程度的物理量;系统的熵越大,系统就越无序,所含有用信息量越少,不确定度越大。 Linux内核中有一个熵池设备,专门收集来自系统环境的一些噪音,来产生高质量随机数序列;这些噪声主要来自于硬件设备发生中断的时间,用户点击鼠标的时间间隔,硬件噪声,磁盘活动等 /dev/random与/dev/urandom 这两个字符设备文件都是利用Linux内

SQL循环生成随机数

DECLARE @i INTDECLARE @dian DECIMAL(7,2)SET @i = 1WHILE @i < 40BEGINSET @dian = rand()*1000INSERT INTO tbl_energy_electricity_hour_201701([value])VALUES(CAST(@dian AS DECIMAL(7,2)))SET @i = @i + 1end

NumPy(二):创建数组【生成固定范围的数组:arange、linspace】【生成0和1的数组:zeros()等】【从现有数组生成:array、asarray】【生成随机数组:np.random】

生成0和1的数组 np.ones()np.ones_like()从现有数组中生成 np.array – 深拷贝np.asarray – 浅拷贝 生成固定范围数组 np.linspace() nun – 生成等间隔的多少个 np.arange() step – 每间隔多少生成数据 np.logspace() 生成以10的N次幂的数据 生成随机数组 正态分布 里面需要关注的参数:均值:u

NumPy(一):简介【主要功能:操作数组、矩阵】【Python + NumPy == Matlab】【包括很多实用的数学函数】【覆盖了很多的数学领域, 比如:线性代数、傅里叶变换、随机数生成】

一、NumPy是什么? NumPy是一个开源的Python科学计算库。 Numerical Python 二、NumPy有什么功能 NumPy主要的功能之一用来操作数组和矩阵。 NumPy是科学计算、深度学习等高端领域的必备工具。 使用TensorFlow、Caffe。框架训练神将网络模型时,需要进行大量复杂的计算,可以直接调用NumPy里面的API NumPy包含了很多实用的数学函数