我正在两台不同的机器上训练相同的模型,但是训练出的模型并不完全相同。为了确保可重复性,我采取了以下措施:
# set random number
random.seed(0)
torch.cuda.manual_seed(0)
np.random.seed(0)
# set the cudnn
torch.backends.cudnn.benchmark=False
torch.backends.cudnn.deterministic=True
# set data loader work threads to be 0
DataLoader(dataset, num_works=0)
当我在同一台机器上多次训练相同的模型时,训练出的模型总是相同的。然而,在两台不同的机器上训练出的模型并不相同。这种情况正常吗?还有其他的诀窍可以使用吗?