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

相关文章

生成5位随机数验证码图片

%matplotlib inlinefrom PIL import Image, ImageDraw, ImageFontimport random# 获取字体以及大小font = ImageFont.truetype("../../font/Arial.ttf", size=30)# 随机数字:def rndInt():return str(random.randint(0, 9))

随机数初始化数组然后用选择法(三种,细微的区别)对数组进行排序

#include<stdio.h>#include<stdlib.h>#include<time.h>//时间头文件 int main(){time_t ts;//设置时间变量 unsigned int randdata = time(&ts);//获取时间,转换为无符号int srand(randdata);//设置随机数种子int a[10];//用随机数初始化数组for(int i=

Python 稳定的随机数 seed

import random random.seed( 10 ) random.random()

c语言 随机数

c语言        随机数 #include <stdio.h>#include <stdlib.h>#include<time.h>int main(){int i,j;srand((int)time(0));for(j=0;j<10;j++){for(i=0;i<10;i++){printf("%d\t",rand());}printf("\n");}system("pau

python从入门到精通8:数字随机数

在Python中,随机数的生成和处理是编程中常见的需求之一。Python的标准库提供了random模块,该模块包含了生成各种类型随机数的函数。本教程将深入探讨Python中random模块的使用,包括生成随机数、随机选择、随机打乱顺序等高级用法。 1. 导入random模块 首先,我们需要导入random模块来使用其提供的函数。 import random 2. 生成随机整数 rand

常见的伪随机数生成器(PRNG)的原理及C语言实现

1. 线性同余生成器(Linear Congruential Generator, LCG) 原理: 线性同余生成器是最简单和最古老的伪随机数生成算法之一。它使用线性同余方程来生成一个伪随机数序列。 公式: Xn+1=(aXn+c)mod  m XXX 是生成的随机数序列。aaa 是乘数。ccc 是增量。mmm 是模数。 C语言实现: #include <stdio.h>#define

笔记: 随机数

#include <stdio.h> #include<time.h> int main() {     int i, num[10];    srand (time(NULL));     for( i = 0; i< 10; i++)     {         num[i]=rand()%10;         printf("%d\n",num[i]);

JavaScript练手小技巧:JS 随机数小技巧

JS 里利用 Math.random() 可以产生0-1 之间的随机小数。如:  let  num1 = Math.random(); // 0-1之间的随机数console.log(num1);// 0.05563019650398182 可以用随机数做一些有趣的事情。 一、指定范围的随机整数  // 随机整数function randomInt(min, max) {return Ma

豆包高质量声音有望复现-Seed-TTS

我们介绍了 Seed-TTS,这是一个大规模自回归文本转语音 (TTS) 模型系列,能够生成与人类语音几乎没有区别的语音。Seed-TTS 作为语音生成的基础模型,在语音上下文学习方面表现出色,在说话人的相似性和自然性方面取得了与客观和主观评估中基本人类语音相匹配的表现。通过微调,我们在这些指标上获得了更高的主观分数。Seed-TTS 对各种语音属性(如情感)具有卓越的可控性,并且能够为野外的说话

利用随机数实现指定概率抽奖

一、随机数与概率的规律 假设我们使用随机数生成器,可以产生1-100范围内随机数。 那么每次产生的随机数,其值可能是1-100范围内任意一个数,每个数的概率均等。 所以可以得出,随机数值V与概率P,有如下规律: 数值(V)概率(P)1 <= V <= 100100%V < 1 或 V > 1000%1 <= V <= 5050%50 <= V <= 10050%1 <= V <= 2020