【Bug Recod】更新中...
numpy
[20250703]-np.random
关于其随机数生成器,调用时,会进入一个函数中,则每次进入函数都会隐形重置种子,导致每次输出的结果都是一样的,如下情况所示:
# 隐性重置的情况(即使你没手动设置)
def some_function():np.random.seed(42) # 其他函数中设置了种子return np.random.rand()# 主程序
for _ in range(3):some_function() # 每次调用都会重置RNG状态print(np.random.choice(5, 2, replace=False)) # 结果始终相同
为了避免这个情况,最好如下操作:
np.random.default_rng().choice()用np.random.default_rng()来每次随机重置随机数
或者,不要在函数中调用,直接在整个主函数中进行