pytorch 随机种子的使用

pytorch随机种子

在使用pytorch框架搭建模型的时候,模型中的参数都是进行初始化的,且每次初始化的结果不同,这就导致每次的训练模型不一样,要想在程序不变的情况下,使得每次的输出结果一致,那就要设定随机种子。
先来了解一下随机种子:
拿numpy举例:

import numpy as np
n=0
while(n<5):
    np.random.seed(2)
    n+=1
    print(np.random.random())
print('\n')
n=0
np.random.seed(2)
while(n<5):
    n+=1
    print(np.random.random())

输出的结果为:

0.43599490214200376
0.43599490214200376
0.43599490214200376
0.43599490214200376
0.43599490214200376

0.43599490214200376
0.025926231827891333
0.5496624778787091
0.4353223926182769
0.42036780208748903

当我们设定一个随机种子时,那么关于随机数的选取就确定了。但是我们可以发现,随机数只会确定最近的一个random的选取,那么后面的随机数是怎么确定的呢?
其实,当我们选取了一个随机种子的时候,在确定了接下来的random之后,还会生成下一个种子,这个种子的形成,和你当前选取的种子有关。所以只要确定一个选取的种子,那么接下来的随机数也会被固定。所以我们没有必要对每个随机数的选取,都人为给定一个种子,只需要设定一次就好。

pytorch设定随机种子

之前使用随机种子的设定使用cpu或gpu时需要不同的代码进行设定,现在已经统一为:

torch.manual_seed(10)

种子的数字10可以自己给定。
这样,当我们在训练模型的时候,在不该变程序的基础上,每次运行的结果就会一致了。

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值