首页 > 解决方案 > 是否有可能使 cuda 具有确定性?

问题描述

我正在尝试通过比较输出来重构应用程序并针对旧版本测试新版本。在使用相同输入的第一个 pytorch conv 层,我在使用 CPU 时得到相同的输出。然而,在 GPU 上使用 cuda,输出张量在某些单元上的小数点后 5 位不同。有没有办法消除这种差异?我已经在设置:

random.seed(seed)
np.random.seed(seed)
torch.manual_seed(seed)
torch.cuda.manual_seed(seed)
torch.backends.cudnn.deterministic = True

标签: pythongpupytorch

解决方案


即使种子设置相同,cpu 和 gpu 也无法产生相同的结果。参考这个这个


推荐阅读