📅  最后修改于: 2023-12-03 15:03:19.256000             🧑  作者: Mango
在机器学习和深度学习的任务中,经常需要使用到随机数。而随机数的生成即需要一个种子,生成的结果也会受到该种子的影响。numpy是Python中用于生成随机数的一个常用库,同时也提供了种子生成函数。本文将介绍如何使用numpy生成随机正常分布,并且如何使用时间作为种子。
我们可以使用numpy的randn
函数来生成随机的正常分布数,该函数的参数代表生成数的个数。例如,生成10个正常分布数的代码如下:
import numpy as np
random_nums = np.random.randn(10)
print(random_nums)
输出结果如下:
[-0.26248949 1.25403228 0.081553 0.75719723 -0.85989867 0.67739055
-0.56087717 1.46377611 -0.72325949 0.90315226]
我们可以使用当前时间,将其转换为整数,作为种子生成随机数。由于当前时间不断变化,所以每次生成的随机数也不同。我们可以使用Python自带的time
模块来获取当前时间戳,然后将其转换为整数作为numpy的随机种子。代码如下:
import numpy as np
import time
# 获取当前时间戳
seed = int(time.time())
# 使用时间戳作为种子生成随机正常分布
np.random.seed(seed)
random_nums = np.random.randn(10)
print(seed)
print(random_nums)
输出结果如下:
1612314164
[-1.03248815 0.99717242 1.02029739 -0.84500578 -0.49884538 0.00487439
0.5408394 -0.71979949 -1.09412527 -0.7213936 ]
通过本文的介绍,我们了解了如何使用numpy生成随机正常分布,并且如何使用时间作为随机种子。如果我们需要每次生成的随机数不同,可以使用时间作为种子。