# Setup seeds设置种子
torch.manual_seed(cfg.get("seed", 1337)) # 为CPU设置随机种子,cfg为字典,get方法如果不存在该键,则返回默认值
torch.cuda.manual_seed(cfg.get("seed", 1337)) # 为当前GPU设置随机种子
# 如果使用多个GPU,应该使用torch.cuda.manual_seed_all()为所有的GPU设置种子。
np.random.seed(cfg.get("seed", 1337))
random.seed(cfg.get("seed", 1337))
# Setup device
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
seed() 方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数
以下是 seed() 方法的语法:
import random
random.seed( [x] )
seed(()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。
x -- 改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。x可以是任意的整数,目的是做一个标记,不同的x的值固定的是不同的随机数
其他的说法: seed( ) 用于指定随机数生成时所用算法开始的整数值,如果使用相同的seed( )值,则每次生成的随即数都相同,如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。
本函数没有返回值。
其他重要的例子和思考在这个链接上面:numpy.random.seed()的使用
seed( ) 用于指定随机数生成时所用算法开始的整数值。
1.如果使用相同的seed( )值,则每次生成的随即数都相同;
2.如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。
3.设置的seed()值仅一次有效