通過設置隨機種子可使訓練結果可復現。
def setup_seed(seed):
np.random.seed(seed)
random.seed(seed)
torch.manual_seed(seed) #cpu
torch.cuda.manual_seed_all(seed) #並行gpu
torch.backends.cudnn.deterministic = True #cpu/gpu結果一致
torch.backends.cudnn.benchmark = True #訓練集變化不大時使訓練加速
def main():
setup_seed(args.seed)