import random
seed = random.random()
random_seed = random.Random(seed)
random_vec = [ random_seed.random() for i in range(10)]
Run Code Online (Sandbox Code Playgroud)
以上基本上是:
np.random.randn(10)
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何设置种子?
我不确定你为什么要设置种子 - 尤其是随机数,尤其是随机浮点数(注意需要random.seed一个大整数).
但如果你这样做,那很简单:调用numpy.random.seed函数.
请注意,NumPy的种子是32位整数的数组,而Python的种子是单个任意大小的整数(尽管请参阅文档,了解传递其他类型时会发生什么).
所以,例如:
In [1]: np.random.seed(0)
In [2]: s = np.random.randn(10)
In [3]: s
Out[3]:
array([ 1.76405235, 0.40015721, 0.97873798, 2.2408932 , 1.86755799,
-0.97727788, 0.95008842, -0.15135721, -0.10321885, 0.4105985 ])
In [4]: np.random.seed(0)
In [5]: s = np.random.randn(10)
In [6]: s
Out[6]:
array([ 1.76405235, 0.40015721, 0.97873798, 2.2408932 , 1.86755799,
-0.97727788, 0.95008842, -0.15135721, -0.10321885, 0.4105985 ])
Run Code Online (Sandbox Code Playgroud)
相同的种子使用了两次(我采用了传递单个的快捷方式int,NumPy将在内部转换为1的数组int32),生成相同的随机数.
| 归档时间: |
|
| 查看次数: |
3835 次 |
| 最近记录: |