numpy.random.RandomState()函数用法

在tensorflow机器学习过程中,发现了如下的伪随机数产生的代码:

import numpy

# 伪随机数生成
# 产生一个随机状态种子
rdm = numpy.random.RandomState(seed=None)
# 生成2*2的随机数
X = rdm.rand(2, 2)
print(X)

现在的问题是seed参数的问题:
1、numpy.random.RandomState()或者numpy.random.RandomState(seed=None)

import numpy

for i in range(4):
    # 伪随机数生成
    # 产生一个随机状态种子
    rdm = numpy.random.RandomState(seed=None)
    # 生成2*2的随机数
    X = rdm.rand(2, 2)
    print(X)

结果如下:
[[0.83835762 0.71838185]
[0.45947428 0.66974438]]
[[0.67096788 0.97604589]
[0.44965953 0.69030001]]
[[0.77489668 0.6134324 ]
[0.5774214 0.17553482]]
[[0.58315188 0.21092608]
[0.72681226 0.75760607]]
循环4次,每次生成的随机数都不同。

2、numpy.random.RandomState(1)或者numpy.random.RandomState(seed=1)

import numpy

for i in range(4):
    # 伪随机数生成
    # 产生一个随机状态种子
    rdm = numpy.random.RandomState(seed=1)
    # 生成2*2的随机数
    X = rdm.rand(2, 2)
    print(X)

结果如下:
[[4.17022005e-01 7.20324493e-01]
[1.14374817e-04 3.02332573e-01]]
[[4.17022005e-01 7.20324493e-01]
[1.14374817e-04 3.02332573e-01]]
[[4.17022005e-01 7.20324493e-01]
[1.14374817e-04 3.02332573e-01]]
[[4.17022005e-01 7.20324493e-01]
[1.14374817e-04 3.02332573e-01]]
循环4次,每次生成的随机数都一样。seed设置成其它数字,生产的随机数都是一样的,我想seed应该是种子编号,跟生成随机数没有关系,例如1号种子,2号种子等等。


菜鸟一枚,发表博客的主要目的是为了记录tensorflow机器学习中的点滴,方便自己以后查阅,如果有错误的地方,还请大家多提宝贵意见。


你可能感兴趣的:(随机数,numpy)