首页 > 解决方案 > numpy.random.seed 是否使结果固定在不同的计算机上?

问题描述

我知道,当您使用时,numpy.random.seed(0)每次在您自己的计算机上都会得到相同的结果。我想知道对于不同的计算机和不同的 numpy 安装是否也是如此。

标签: pythonnumpy

解决方案


这一切都取决于algorithm内部实现的类型numpy random function。在 的情况下numpy,由pseudo-random number generators(PRNGs) 算法操作。这意味着如果您提供相同的种子(与开始输入时一样),您将获得相同的输出。如果你改变种子,你会得到不同的输出。所以这种算法不依赖于系统。

但是对于true random number generator (TRNG)这些通常依赖于某种专门的硬件,这些硬件对环境中不可预测的事物进行一些物理测量,例如光或温度、电噪声、放射性物质。因此,如果一个模块实现了这种算法,那么它将取决于系统。


推荐阅读