You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么使用numpy生成的随机值每次运行代码都不发生变化?

NumPy随机数每次运行结果不变解决方法

原因说明

传入固定随机种子是导致结果不变的核心原因:
你使用的np.random.default_rng(12345)中,传入的12345就是随机种子。NumPy采用伪随机算法生成随机数,固定种子会完全确定后续的随机数序列,这个特性是专门设计用于保障实验结果可复现的,因此你每次运行都会得到完全相同的6个数值。

解决方法

  • 如果你不需要复现之前的结果,仅需要每次运行得到不同的随机值,初始化生成器时不要传入固定种子即可,修改后代码如下:
import numpy as np
# 无参数初始化时,生成器会自动调用系统熵源生成随机初始状态
rng = np.random.default_rng()
sizes = rng.integers(low=0, high=500, size=6)
print(sizes)
  • 如果你需要先复现指定种子的结果、之后再生成不重复的随机序列,可以保留种子初始化逻辑,在需要切换随机状态时调用rng.bit_generator.seed_seq重新生成随机种子即可。

内容的提问来源于stack exchange,提问作者nao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 06:36:04