我有一个函数,可以做一些随机的事情
我想输入种子,所以对于相同的种子,输出将是相同的
但是在乞讨的时候开始播种,就像这样:
def generate_random_number(seed):
np.random.seed(seed)
magics = np.random.random(1)
more_magics = ...
return magics, more_magics
将导致调用此方法后,种子被破坏
有没有办法“保存”当前种子状态并在以后恢复
所以它看起来像这样:
def generate_random_number_without_ruining_for_others(seed):
old_seed = np.random.get_seed()
np.random.seed(seed)
magics = np.random.random(1)
more_magics = ...
np.random.seed(old_seed)
return magics, more_magics
当然,命令:np.random.get_seed()
是一个组合函数。。有这样的东西吗?
或者是在不破坏每个人的随机状态的情况下生成“随机”(最多种子输入)输出的替代方法
(实际的随机过程在实践中要复杂得多,它在循环中生成矩阵,因此为了简单起见,我想坚持使用启动种子的格式)
好的,您不能重置默认的随机生成器。实际上
seed
的文档说不要使用它:基于此,您可以构建自己的随机引擎并保存随机状态。以下是一个例子:
相关问题 更多 >
编程相关推荐