if torch.cuda.is_available():
torch.cuda.manual_seed(i) # 为当前GPU设置 torch.manual_seed(i)
torch.cuda.manual_seed_all(i) # 为所有GPU设置
random.seed(i)
np.random.seed(i) # 保证后续使用random函数时,产生固定的随机数
torch.manual_seed(i)
os.environ['CUBLAS_WORKSPACE_CONFIG'] = ':4096:8' # 防止下行设置因为版本问题报错
torch.use_deterministic_algorithms(True) # 使用固定算法
torch.backends.cudnn.benchmark = False # GPU、网络结构固定,可设置为True
torch.backends.cudnn.deterministic = True # 固定网络结构
上面可以直接复制插入到自己代码中,其中i为int类型,就是自己设置得种子因子,建议上面加入for 循环:
for i in range(x):
上述代码块
自己的算法块