深度学习调参笔记#2-可复现的细节(固定seed)
本文最后更新于:2022年7月21日 下午
深度学习调参笔记#2-可复现的细节(固定seed)
在深度学习中,要想让你的结果可完美复现出来,避免每次运行都看运气,那就要尽量避免不确定因素,本文以PyTorch为例,介绍相关的设置。
固定种子 seed
模型训练中,参数的初始化、数据的顺序等都具有一定的不确定性,而计算机通过种子生成伪随机数,所以固定种子还是十分有必要的。(但是固定一个神奇的种子来表面提升学习效果是不可取的)
下面这几项参考pytorch_lightning
的种子设置:
1 |
|
配置使用确定性操作
即使固定了种子,算法的结果在不同设备(或者不同平台)上可能还是不同,所以假如对复现有很高要求,还要配置使用确定性操作。要注意的是,使用确定性操作往往会让算法变慢,需要进行速度和复现性的取舍。
1 |
|
1 |
|
参考资料:
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!