为什么CPU需要设置随机数种子模型的训练结果将始终保持一致

深度学习模型稳定可复现
深度学習这一块奥稳定性奥,必须拿捏的死死的奥

深度学习的一个项目,其中的随机性会非常的大

1 随机生成的模型参数
2 可能是随机选取的訓练样本顺序

以上等等,会使得模型具有一定的随机性其实也并非完全算作坏事
因为模型性能的抖动能够让模型性能更高一些,可以报告跑出来的最高性能是吧。
但是在某些阶段时我们必须使得性能稳定,这样才可以明显的对比

等等上述情况时候,会需要稳定模型因为改进模型结构,可能就提升了/weixin_/article/details/

}

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

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

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

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

}

一个简单的javaweb大作业简单又不失沝准,比较容易看懂另附数据库语句,以及实验报告流程图等

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信