PyTorch随机种子的设置
随机数
随机数是专门的随机实验结果,其特点在于产生的后面那个数与前一个数是没有联系的。真正的随机数是利用物理现象产生的,比如掷钱币、骰子、转轮等,产生随机数的方法统称为随机数发生器。
伪随机数
伪随机数其实是具有一定的规律性的,它是由计算机使用算法模拟出来的,但由于其产生的算法相对来说较为复杂,规律周期较长,并不容易查找出其规律。
随机种子
随机种子是相对于随机方法而言,随机方法常见的有生成随机数,随机排序等。在深度学习中,常用的随机方法有网络的随机初始化,训练集的随机打乱。在深度学习中的随机种子是属于伪随机数,由随机数算法生成一种均匀分布且难以预测的序列。
设置随机种子意义及弊端
意义: 在其他超参和网络等各项参数不变的情况下,在PyTorch中预先设置好随机种子后,可以保证多次运行此段代码能够得到完全一样的结果,此举保证了结果的可复现性。
弊端: 确定性操作通常比非确定性操作慢,因此模型的单次运行性能可能会降低。但是,确定随机种子可以通过促进试验、调试和回归测试来节省开发时间。
设置随机种子方法
1 | import torch |