torch.manual_seed的使用

之前理解的不到位numpy.random.seed, torch.manual_seed使用_LUQC638的博客-CSDN博客

只要随机数种子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])

 两次运行结果局部截图:

torch.manual_seed的使用_第1张图片

 torch.manual_seed的使用_第2张图片

 

你可能感兴趣的:(深度学习,机器学习,pytorch)