【pytorch函数笔记】pytorch设置随机种子

torch.backends.cudnn.deterministic = True
torch.backends.cudnn.benchmark = False
seed = args.seed
random.seed(seed)
np.random.seed(seed)
torch.manual_seed(seed)
torch.cuda.manual_seed_all(seed)
  1. torch.backends.cudnn.deterministic = True: 这一行代码设置 PyTorch 使用 cuDNN 时的确定性模式。在此模式下,cuDNN 将使用确定性算法,以确保相同输入的结果在多次运行中保持一致。这样设置是为了保证在使用 cuDNN 加速时,得到的结果具有可复现性。

  2. torch.backends.cudnn.benchmark = False: 这一行代码关闭 cuDNN 的自动调优功能。cuDNN 在每次运行前会根据硬件和输入数据的大小自动选择最优的卷积算法,以提高性能。然而,这样可能导致结果在不同运行之间出现微小的差异。通过将 torch.backends.cudnn.benchmark 设置为 False,禁用自动调优,以确保每次运行的结果一致

  3. seed = args.seed: 这一行代码将变量 seed 的值设置为传入的参数 args.seed。这个参数很可能是用于控制随机数种子的数值。

  4. random.seed(seed): 这一行代码通过调用 Python 的 random 库的 seed 函数,将随机数生成器的种子设置为 seed。这样,后续调用 random 库的随机函数时,将得到相同的随机数序列。

  5. np.random.seed(seed): 这一行代码通过调用 NumPy 库的 seed 函数,将随机数生成器的种子设置为 seed。与第四行代码类似,这样后续调用 NumPy 库的随机函数时,将得到相同的随机数序列。

  6. torch.manual_seed(seed): 这一行代码通过调用 PyTorch 的 manual_seed 函数,将 CPU 上的随机数生成器的种子设置为 seed同样,这样后续调用 PyTorch 的随机函数时,将得到相同的随机数序列。

  7. torch.cuda.manual_seed_all(seed): 这一行代码通过调用 PyTorch 的 cuda.manual_seed_all 函数,将所有可用的 GPU 上的随机数生成器的种子设置为 seed。这样,在使用 GPU 进行计算时,同样可以保证可复现性。

代码来自https://github.com/jacobzhaoziyuan/AMR-Loss

记下笔记。 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值