我想在我的程序的第一部分使用np.random.seed(),在第二部分取消它。再一次,
发布于 2018-04-22 14:04:06
在第一部分中,用常量初始化种子,例如0:
numpy.random.seed(0)
在第二部分中,用时间初始化种子:
import time
t = 1000 * time.time() # current time in milliseconds
np.random.seed(int(t) % 2**32)
(种子必须介于0至2**32 -1之间)
注意:通过调用不带参数的np.random.seed()
(即新的(伪)-unpredictable序列),可以获得类似的效果。
每次用相同的常量初始化种子时,都会得到相同的数字序列:
>>> np.random.seed(0)
>>> [np.random.randint(10) for _ in range(10)]
[5, 0, 3, 3, 7, 9, 3, 5, 2, 4]
>>> [np.random.randint(10) for _ in range(10)]
[7, 6, 8, 8, 1, 6, 7, 7, 8, 1]
>>> np.random.seed(0)
>>> [np.random.randint(10) for _ in range(10)]
[5, 0, 3, 3, 7, 9, 3, 5, 2, 4]
因此,用当前的毫秒数进行非initalizing处理会给出一些伪随机序列。
https://stackoverflow.com/questions/49966770
复制相似问题