当前位置:   article > 正文

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

torch random seed
  1. torch.backends.cudnn.deterministic = True
  2. torch.backends.cudnn.benchmark = False
  3. seed = args.seed
  4. random.seed(seed)
  5. np.random.seed(seed)
  6. torch.manual_seed(seed)
  7. 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

记下笔记。 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/878189
推荐阅读
相关标签
  

闽ICP备14008679号