PyTorch中torch.manual_seed()的用法实例详解

PyTorch中torch.manual_seed()的用法实例详解

目录

一、torch.manual_seed(seed) 介绍

torch.manual_seed(seed) 功能描述

语法

参数

返回

二、类似函数的功能

三、实例

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

实例 2 :设置随机种子,使得每次运行代码生成的随机数都一样

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

总结

一、torch.manual_seed(seed) 介绍 torch.manual_seed(seed) 功能描述

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

为 CPU 设置 种子 用于生成随机数,以使得结果是确定的。

当你设置一个随机种子时,接下来的随机算法生成数根据当前的随机种子按照一定规律生成。
随机种子作用域是在设置时到下一次设置时。要想重复实验结果,设置同样随机种子即可。

语法

torch.manual_seed(seed) → torch._C.Generator

参数

seed,int类型,是种子 – CPU生成随机数的种子。取值范围为 [-0x8000000000000000, 0xffffffffffffffff] ,十进制是 [-9223372036854775808, 18446744073709551615] ,超出该范围将触发 RuntimeError 报错。

返回

返回一个torch.Generator对象。

二、类似函数的功能

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

torch.manual_seed(number)

为特定GPU设置种子,生成随机数:

torch.cuda.manual_seed(number)

为所有GPU设置种子,生成随机数:

# 如果使用多个GPU,应该使用torch.cuda.manual_seed_all()为所有的GPU设置种子。 torch.cuda.manual_seed_all(number)

使用原因 :

在需要生成随机数据的实验中,每次实验都需要生成数据。设置随机种子是为了确保每次生成固定的随机数,这就使得每次实验结果显示一致了,有利于实验的比较和改进。使得每次运行该 .py 文件时生成的随机数相同。

三、实例 实例 1 :不设随机种子,生成随机数 # test.py import torch print(torch.rand(1)) # 返回一个张量,包含了从区间[0, 1)的均匀分布中抽取的一组随机数

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

tensor([0.4351])

tensor([0.3651])

tensor([0.7465])

实例 2 :设置随机种子,使得每次运行代码生成的随机数都一样 # test.py import torch # 设置随机种子 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()内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!

推荐阅读

    excel怎么用乘法函数

    excel怎么用乘法函数,乘法,函数,哪个,excel乘法函数怎么用?1、首先用鼠标选中要计算的单元格。2、然后选中单元格后点击左上方工具栏的fx公

    opporeno8参数配置及价格

    opporeno8参数配置及价格,面部,亿元,Oppo的荣誉2020年1月4日,接近屏幕关闭传感器是否支持双卡:支持oppor11splus什么时候上市的Oppo R11S P

    excel中乘法函数是什么?

    excel中乘法函数是什么?,乘法,函数,什么,打开表格,在C1单元格中输入“=A1*B1”乘法公式。以此类推到多个单元。1、A1*B1=C1的Excel乘法公式

    魅蓝note6性能参数有哪些

    魅蓝note6性能参数有哪些,摄像头,蓝牙,魅蓝note6性能参数有哪些魅力蓝色Note6最好拍照。电池寿命更长。蓝色Note6使用高通 snapdragon 625

    标准差excel用什么函数?

    标准差excel用什么函数?,函数,标准,什么,在数据单元格的下方输入l标准差公式函数公式“=STDEVPA(C2:C6)”。按下回车,求出标准公差值。详细

    公共CPU接口类型的详细描述

    公共CPU接口类型的详细描述,,我们知道CPU是电脑的大脑, CPU的处理速度直接决定电脑的性能, 那你知道CPU发展到现在, 都那些CPU接口类型吗.

    设置总账参数|用友u8设置总账参数

    设置总账参数|用友u8设置总账参数,,1. 用友u8设置总账参数1、首先要点开数据权限控制设置;2、选择想要设置控制的单据;3、打开后看到左上角

    csgo参数设置|csgo怎么保存

    csgo参数设置|csgo怎么保存,,csgo怎么保存第一步下载csgo的官方版本。然后再下载一个5e对战平台,PS:5e的账号和csgo的账号不是一个账号。第

    移动apn设置|移动apn设置参数

    移动apn设置|移动apn设置参数,,移动apn设置参数1、打开手机系统设置界面应用,点击页面中的“移动网络”设置选项。2、进入移动网络设置页面