1. 核心代码
def setup_seed(seed):
th.manual_seed(seed)
th.cuda.manual_seed_all(seed)
np.random.seed(seed)
random.seed(seed)
th.backends.cudnn.deterministic = True
setup_seed(20)
2.测试代码
import torch as th
from torch import nn
import numpy as np
import random
th.set_printoptions(precision=5) // 设置精度
def setup_seed(seed):
th.manual_seed(seed)
th.cuda.manual_seed_all(seed)
np.random.seed(seed)
random.seed(seed)
th.backends.cudnn.deterministic = True
setup_seed(20)
net = th.nn.Sequential(
nn.Linear(5,3)
)
data = th.randn([2,3,5])
print(data)
print(net(data))
多次运行 结果一致