在PyTorch中,torch.nn.Module模块中的state_dict函数获得的一个字典变量,其存放训练过程中需要学习的权重和偏执系数,如下所示:

代码1:

import torch.nn as nn

module = nn.Linear(2, 2)

print(module.state_dict().keys())

代码2:

import torch.nn as nn
import torch.nn.functional as F

class MyModel(nn.Module):
    def __init__(self):
        super().__init__()
        self.conv1 = nn.Conv2d(1, 20, 5)
        self.conv2 = nn.Conv2d(20, 20, 5)

    def forward(self, x):
        x = F.relu(self.conv1(x))
        return F.relu(self.conv2(x))


module = MyModel()

print(module.state_dict().keys())

参考

https://pytorch.org/docs/stable/generated/torch.nn.Module.html#torch.nn.Module.state_dict

学习建议

我在工作中接触了很多人,有学生有上班族,尤其是学生,他们的动手能力相当的弱,不是他们不努力,而是方向跑偏了,很多人执着于读论文、跑开源、学算法,但是忽略了最底层的基本功,连PyTorch都用不好,这是一个非常错误的做法。很多人问我,某某你会吗?我总数回答:只要是用PyTorch,我都会。因为我深刻体会到了学好PyTorch,我也提醒各位读者,学好PyTorch十分重要。欢迎大家关注红黑树技术联盟,这里有高质量的PyTorch资料,让我们一起努力吧。