Pytorch--Numpy--Random中的随机种子函数: seed(number)用法总结

torch 和numpy中随机初始化的一致性

torch.manual_seed(number)

https://pytorch.org/docs/master/generated/torch.manual_seed.html
为CPU设置种子用于生成随机数,使得结果每次都一致
Parameters
seed [int] - The desired seed.

torch.cuda.manual_seed(number)

为当前 GPU 设置种子用于生成随机数,以使得结果是确定的。
Parameters
seed [int] - The desired seed.

torch.cuda.manual_seed_all(number)

针对多GPU,第二种方式的初始化方式是不能胜任的(insufficient)
所有的 GPU 设置种子用于生成随机数,以使得结果是确定的。
Parameters
seed [int] - The desired seed.

numpy.random.seed(number)

如果在程序中设置相同的seed,每次生成的随机数都保持一致
例如:

import numpy as np
np.random.seed(0)
np.random.rand(4)

array([0.43, 0.41, 0.34, 0.89])

np.random.seed(0)
np.random.rand(4)

array([0.43, 0.41, 0.34, 0.89])

random.seed(number)

针对random库的随机种子函数,确保随机数保持一致。

import random
random.seed(1)
print(‘随机数1:’, random.random())
random.seed(1)
print(‘随机数2:’, random.random())
random.seed(2)
print(‘随机数3:’, random.random())

随机数1: 0.76435129
随机数2: 0.76435129
随机数3: 0.12147516

从上述总结可知,seed(number)中number保持一致,随机数的结果也就一致。

未完待续…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值