pytorch seed,pytorch torch.save

  pytorch seed,pytorch torch.save

  Pytorch中张量可以由相关随机数生成,生成随机数的分布函数可以指定。下面文章主要介绍PyTorch中torch.manual_seed()用法的相关信息,供大家参考。

  00-1010一、torch.manual_seed(种子)函数描述语法参数返回二。类似功能的功能。示例示例1:不使用随机种子生成随机数示例2:设置随机种子,使每次代码运行生成的随机数相同示例3:不同的随机种子生成不同的值汇总。

  

目录

  

一、torch.manual_seed(seed) 介绍

  设置CPU产生的随机数的种子,方便下次重现实验结果。

  为CPU设置种子是用来产生随机数的,所以结果是确定的。

  当你设置一个随机种子时,下一个随机算法生成数是根据当前随机种子按照一定的规则生成的。

  随机种子范围是从设置时到下一次设置时。要重复实验结果,设置相同的随机种子。

  

torch.manual_seed(seed) 功能描述

  火炬.手动_种子(seed) 火炬。_C .发电机

  

语法

  种子,int类型,是种子CPU生成的随机数的种子。取值范围为[-0x800000000000000,0xffffffffffff],十进制值为[-922372036854775808,1844674073709551615]。超出此范围将触发RuntimeError报告错误。

  

参数

  归还火炬。生成器对象。

  

返回

  为CPU设置种子并生成随机数:

  torch.manual_seed(数量)

  为特定GPU设置种子并生成一个随机数:

  torch.cuda.manual_seed(数字)

  播种所有GPU并生成随机数:

  #如果使用多个GPU,应该使用torch.cuda.manual_seed_all()对所有GPU进行种子化。

  torch.cuda.manual_seed_all(数字)

  使用原因:

  在需要生成随机数据的实验中,每个实验都需要生成数据。设置随机种子,保证每次产生固定的随机数,使得每次实验结果显示相同,有利于实验的对比和改进。这样每次调用。py文件运行是一样的。

  

二、类似函数的功能

  

三、实例

  # test.py

  进口火炬

  Print(torch.rand(1)) #返回一个张量,该张量包含一组从区间[0,1]的均匀分布中提取的随机数

  每次运行test.py时,输出结果都是不同的:

  张量([0.4351])

  张量([0.3651])

  张量([0.7465])

  

实例 1 :不设随机种子,生成随机数

  # test.py

  进口火炬

  #

  设置随机种子

  torch.manual_seed(0)

  # 生成随机数

  print(torch.rand(1)) # 返回一个张量,包含了从区间[0, 1)的均匀分布中抽取的一组随机数

  

  每次运行 test.py 的输出结果都是一样:

  

tensor([0.4963])

  

  

  

实例 3 :不同的随机种子生成不同的值

  改变随机种子的值,设为 1 :

  

# test.py

  import torch

  torch.manual_seed(1)

  print(torch.rand(1)) # 返回一个张量,包含了从区间[0, 1)的均匀分布中抽取的一组随机数

  

  每次运行 test.py,输出结果都是:

  

tensor([0.7576])

  

  改变随机种子的值,设为 5 :

  

# test.py

  import torch

  torch.manual_seed(5)

  print(torch.rand(1)) # 返回一个张量,包含了从区间[0, 1)的均匀分布中抽取的一组随机数

  

  每次运行 test.py,输出结果都是:

  

tensor([0.8303])

  

  可见不同的随机种子能够生成不同的随机数。

  但只要随机种子一样,每次运行代码都会生成该种子下的随机数。

  

实例 4 :设置随机种子后,是每次运行test.py文件的输出结果都一样,而不是每次随机函数生成的结果一样

  # test.py

  import torch

  torch.manual_seed(0)

  print(torch.rand(1))

  print(torch.rand(1))

  

  输出结果:

  

tensor([0.4963])
tensor([0.7682])

  

  可以看到两次打印 torch.rand(1) 函数生成的结果是不一样的,但如果你再运行test.py,还是会打印:

  

tensor([0.4963])
tensor([0.7682])

  

  实例 5 :如果你就是想要每次运行随机函数生成的结果都一样,那你可以在每个随机函数前都设置一模一样的随机种子

  

# test.py

  import torch

  torch.manual_seed(0)

  print(torch.rand(1))

  torch.manual_seed(0)

  print(torch.rand(1))

  

  输出结果:

  

tensor([0.4963])
tensor([0.4963])

  

  参考链接

  【pytorch】torch.manual_seed()用法详解

  

  

总结

  到此这篇关于PyTorch中torch.manual_seed()的法的文章就介绍到这了,更多相关PyTorch中torch.manual_seed()内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: