【发布时间】:2021-08-03 06:57:44
【问题描述】:
我在两台不同的机器上训练相同的模型,但训练的模型并不相同。我已采取以下措施来确保重现性:
# 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)
当我在同一台机器上多次训练同一个模型时,训练的模型总是相同的。但是,在两台不同机器上训练的模型并不相同。这是正常的吗?我还有什么其他的技巧可以使用吗?
【问题讨论】:
-
您在模型中使用了哪些层?除了@iacob 的相关答案外,特定层可能以非确定性方式运行。
标签: python pytorch random-seed reproducible-research