我正在测试一种算法,它有随机输入:作为参考,输入是一系列浮点数字,这些数字与一些0和1压缩在一起(1相对较少)。
最终,1的概率和位置都将是随机的。然而,事实证明这很难调试。
概率目前根据狄利克雷分布进行分布:
import numpy.random as ran
N=1024
num_ones = 10
probs = ran.dirichlet([1]*N)
probs = num_ones*probs
probs = probs
probs = sorted(probs, reverse=True)
我意识到这可能很天真,但我真的不知道随机数是如何产生的。如何在每次运行测试时使这些概率相同?
调用
numpy.random.seed(x)
其中x
是一个常数,每次运行程序时都会有相同的随机样本。
您可以"播种"随机数生成器,使其在每次运行中生成相同的数字。
numpy.random.seed(123) # change the seed for different tests