在神经网络中,参数默认是进行随机初始化的。不同的初始化参数往往会导致不同的结果,当得到比较好的结果时我们通常希望这个结果是可以复现的,在pytorch中,通过设置随机数种子也可以达到这么目的。
import torch
torch.manual_seed(2)
print(torch.rand(2))
有这段代码可以知道,每次得到的数是随机的,如果不加上
运行这段代码会发现,每次得到的随机数是固定的。但是如果不加上torch.manual_seed,打印出来的数就不同。
所以只需要调用torch.manual_seed(seed),它将随机数生成器的种子设置为固定值,这样,当调用时torch.rand(2),结果将可重现。
import torch
torch.manual_seed(2)
print(torch.rand(2))
输出
0.4360
0.1851
如果不使用torch.manual_seed,则会随机变化。
参考:https://cloud.tencent.com/developer/article/1149041