在使用pytorch框架搭建模型的时候模型中的参数都是进行初始化的,且每次初始化的结果不同这就导致每次的训练模型不一样,要想在程序不变的情况下使得每次的输出結果一致,那就要设定随机种子
先来了解一下随机种子:
当我们设定一个随机种子时,那么关于随机数的选取就确定了但是我们可以發现,随机数只会确定最近的一个random的选取那么后面的随机数是怎么确定的呢?
其实当我们选取了一个随机种子的时候,在确定了接下來的random之后还会生成下一个种子,这个种子的形成和你当前选取的种子有关。所以只要确定一个选取的种子那么接下来的随机数也会被固定。所以我们没有必要对每个随机数的选取都人为给定一个种子,只需要设定一次就好
之前使用随机种子的设定使用cpu或gpu时需要不哃的代码进行设定,现在已经统一为:
种子的数字10可以自己给定
这样,当我们在训练模型的时候在不该变程序的基础上,每次运行的結果就会一致了