Iva*_*van 16 python numpy jupyter-notebook
我正在使用numpy.random
Jupyter Lab 笔记本上的函数,我正在尝试使用numpy.random.seed(333)
. 仅当种子设置与代码位于同一笔记本单元格中时,这才按预期工作。例如,如果我有一个这样的脚本:
import numpy as np
np.random.seed(44)
ll = [3.2,77,4535,123,4]
print(np.random.choice(ll))
print(np.random.choice(ll))
Run Code Online (Sandbox Code Playgroud)
两者的输出np.random.choice(ll)
将相同,因为种子已设置:
# python seed.py
4.0
123.0
# python seed.py
4.0
123.0
Run Code Online (Sandbox Code Playgroud)
现在,如果我尝试在 Jupyter notebook 上做同样的事情,我会得到不同的结果:
# in [11]
import numpy as np
# even if I set the seed here the other cells don't see it
np.random.seed(333)
# in [12]
np.random.choice([1,23,44,3,2])
23
# gets the same numbers
# in [13]
np.random.choice([1,23,44,3,2])
44
# gets different numbers every time I run this cell again
Run Code Online (Sandbox Code Playgroud)
有没有办法在 Jupyter 实验室笔记本中全局设置 numpy 随机种子?
因为您反复调用 randint,所以每次都会生成不同的数字。重要的是要注意,seed 不会使函数始终返回相同的数字,而是使其在重复运行 randint 相同次数时生成相同的数字序列。因此,每次重新运行 random.randint 时,您都会得到相同的数字序列,而不是总是产生相同的数字。
如果您每次都想要相同的随机数,则在每次 random.randint 调用之前,在该特定单元格中重新播种应该有效。否则,您可以期望始终获得相同的数字序列,但不会每次都获得相同的数字。
归档时间: |
|
查看次数: |
8412 次 |
最近记录: |