torch.manual_seed()
只要随机数种子N是不变的,那么只要np.random.seed(N)或者torch.manual_seed(N)被执行,那么产生随机数就是一样的。
比如说在训练模型的程序中,只包含一次np.random.seed(N)和torch.manual_seed(N) 操作:
每次运行该程序文件的时候,由于N不变,那么就保证了无论第几次运行该程序文件,产生的初始参数都是一样的。
如所示:同一段代码运行两次,产生的初始化参数是一样的。
import torch
import torch.nn as nn
import datetime
if __name__ == '__main__':
print(datetime.datetime.now())
torch.manual_seed(2)
model = nn.Conv2d(8,16,3,stride=2)
for para in model.state_dict():
# para is the key
print(para,'t',model.state_dict()[para])
————————————————
版权声明:本文为CSDN博主「LUQC638」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_61445075/article/details/122269291