主要是3个:
random.seed()
numpy.random.seed()
torch.manual_seed()
三个的原理和作用都是相似的,所以接下来我只简单介绍random.seed()
。
random()
函数是用来产生伪随机数的,而random.seed()
是用来确定随机数种子,使得每次产生的随机数是一样的。从而保证程序的可复现性。
import random
for i in range(5):
# Any number can be used in place of '0'
random.seed(0)
# Generated random number will be between 1 to 1000
print(random.randint(1, 1000))
"""
Output:
865
865
865
865
865
"""
import random
random.seed(3)
print(random.randint(1, 1000))
random.seed(3)
print(random.randint(1, 1000))
print(random.randint(1, 1000))
"""
Output:
244
244
607
"""
例子来源于:
https://www.geeksforgeeks.org/random-seed-in-python/