pytorch查看全连接层的权重和梯度

比如,建了一个两层全连接层的神经网络:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class LinearClassifier_2layer(nn.Module):
    def __init__(self,  last_layer_dim=None, n_label=None):
        super(LinearClassifier_2layer, self).__init__()
 
        self.classifier = nn.Sequential(
            nn.Linear(last_layer_dim, 2*last_layer_dim),
            nn.ReLU(),
            nn.Linear(2*last_layer_dim, n_label)
        )
 
 
    def forward(self, x):
        return self.classifier(x)
 
model = LinearClassifier_2layer(512, 10)

 

然后,用这个神经网络训练。训练过程中,如果想查看权重或梯度:

1
2
3
4
5
model.classifier[0].weight[:3, :3]    # 查看第一层全连接层的一部分权重
model.classifier[0].weight.grad[:3, :3]    # 查看第一层全连接层的一部分梯度
 
model.classifier[1].weight[:3, :3]    # 查看第二层全连接层的一部分权重
model.classifier[1].weight.grad[:3, :3]    # 查看第一层全连接层的一部分梯度

  

 

posted @   Picassooo  阅读(2111)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2020-07-24 图像小波变换
点击右上角即可分享
微信分享提示