版权声明:本文版权归作者和CSDN共有,欢迎转载。转载时请注明原作者并保留此段声明,若不保留我也不咬你,随你了=-=。 https://blog.csdn.net/TeFuirnever/article/details/88943883
np.random.seed()函数用于生成指定随机数。
np.random.seed(
n
)
所以seed总是跟random搭配使用。
设置seed()之后,np,random.random()按顺序产生一组固定的数组,如果使用相同的seed( )值,则每次生成的随即数都相同,如果不设置这个值,那么每次生成的随机数不同。
例子1:
import numpy as np
np.random.seed(0)
x = np.random.randn(3,3)
y = np.random.randn(3,3)
print(x)
print(y)
> [[ 1.76405235 0.40015721 0.97873798]
[ 2.2408932 1.86755799 -0.97727788]
[ 0.95008842 -0.15135721 -0.10321885]]
> [[ 0.4105985 0.14404357 1.45427351]
[ 0.76103773 0.12167502 0.44386323]
[ 0.33367433 1.49407907 -0.20515826]]
只在调用的时候seed()一下并不能使生成的随机数相同,需要每次调用都seed()一下,表示种子相同,从而生成的随机数相同。
import numpy as np
np.random.seed(0)
x = np.random.randn(3,3)
np.random.seed(0)
y = np.random.randn(3,3)
print(x)
print(y)
> [[ 1.76405235 0.40015721 0.97873798]
[ 2.2408932 1.86755799 -0.97727788]
[ 0.95008842 -0.15135721 -0.10321885]]
> [[ 1.76405235 0.40015721 0.97873798]
[ 2.2408932 1.86755799 -0.97727788]
[ 0.95008842 -0.15135721 -0.10321885]]
例子2:
import numpy as np
x1 = np.random.randn(3,3)
x2 = np.random.randn(3,3)
np.random.seed(0)
y1 = np.random.randn(3,3)
np.random.seed(0)
y2 = np.random.randn(3,3)
print(x1)
print(x2)
print(y1)
print(y2)
> [[ 0.4105985 0.14404357 1.45427351]
[ 0.76103773 0.12167502 0.44386323]
[ 0.33367433 1.49407907 -0.20515826]]
> [[ 0.3130677 -0.85409574 -2.55298982]
[ 0.6536186 0.8644362 -0.74216502]
[ 2.26975462 -1.45436567 0.04575852]]
> [[ 1.76405235 0.40015721 0.97873798]
[ 2.2408932 1.86755799 -0.97727788]
[ 0.95008842 -0.15135721 -0.10321885]]
> [[ 1.76405235 0.40015721 0.97873798]
[ 2.2408932 1.86755799 -0.97727788]
[ 0.95008842 -0.15135721 -0.10321885]]
如果使用相同的seed( )值,则每次生成的随即数都相同,如果不设置这个值,那么每次生成的随机数不同。