查看特定layer的权重以及相应的梯度信息

  • 打印模型
  • 观察到model下面有module的key,module下面有features的key, features下面有(0)的key,这样就可以直接打印出weight了
  • 在pdb debug界面输入p model.module.features[0].weight,就可以看到weight,输入 p model.module.features[0].weight.grad 就可以查看梯度信息

中间变量的梯度 : .register_hook

  • pytorch 为了节省显存,在反向传播的过程中只针对计算图中的叶子结点(leaf variable)保留了梯度值(gradient)。但对于开发者来说,有时我们希望探测某些中间变量(intermediate variable) 的梯度来验证我们的实现是否有误,这个过程就需要用到 tensor的register_hook接口
grads = {}def save_grad(name):def hook(grad):grads[name] = gradreturn hookx = torch.randn(1, requires_grad=True)
y = 3*x
z = y * y# 为中间变量注册梯度保存接口,存储梯度时名字为 y。
y.register_hook(save_grad('y'))# 反向传播
z.backward()# 查看 y 的梯度值
print(grads['y'])

打印网络回传梯度

  • net.named_parameters()
  • parms.requires_grad 表示该参数是否可学习,是不是frozen的;
  • parm.grad 打印该参数的梯度值。
net = your_network().cuda()
def train():...outputs = net(inputs)loss = criterion(outputs, targets)loss.backward()for name, parms in net.named_parameters():   print('-->name:', name, '-->grad_requirs:',parms.requires_grad, \' -->grad_value:',parms.grad)

查看pytorch产生的梯度

[x.grad for x in self.optimizer.param_groups[0]['params']]

资料

  • pytorch查看模型weight与grad
  • pytorch 查看中间变量的梯度
  • pytorch 打印网络回传梯度
  • 如何查看pytorch产生的梯度

pytorch 权重weight 与 梯度grad 可视化相关推荐

  1. Pytorch获取中间变量的梯度grad

    为了节约显存,pytorch在反向传播的过程中只保留了计算图中的叶子结点的梯度值,而未保留中间节点的梯度 import torchx = torch.tensor(3., requires_grad= ...

  2. Blender基础:从程序员的角度理解顶点组(Vertex Group)和权重(Weight)

    本文基于Blender 2.8正式版 参考官方文档Vertex Group 从程序员的角度看,一个**顶点组(Vertex Group)**实际上就是一个容器,容器中是顶点的引用(弱引用),一个模型可 ...

  3. pointconv pytorch modelnet40 点云分类结果可视化

    文章目录 前言 环境 服务器环境 本地环境 准备工作 下载项目文件 下载数据集 训练 预测 下载训练权重 预测 部分代码解析 可视化输出 运行预测 查看运行结果 前言 上一篇博客介绍了在scannet ...

  4. PyTorch项目使用TensorboardX进行训练可视化

    PyTorch项目使用TensorboardX进行训练可视化 什么是TensorboardX 配置TensorboardX 使用 pip 安装 从源码安装 使用TensorboardX 参考资料 什么 ...

  5. 梯度grad公式_FLAC3D梯度计算详解

    重要通知:本公众号已开通赞赏功能,各位读者老爷有钱的可以给呱太捧个钱场!推荐使用微信PC端进行阅读,以避免命令流显示畸变.文章所附命令流均可直接复制到FLAC3D 6.0中运行,若有报错,请手动重输命 ...

  6. pytorch权重保存与加载

    pytorch权重保存: # 1) 保存网络的结构以及权重值文件 torch.save(model,'XXX.pth') # 2) 仅保存权重值文件 torch.save(model.state_di ...

  7. PyTorch 入坑四 梯度、链式法则、计算图与反向传播

    PyTorch 一文入门 PyTorch 入坑四:计算图与反向传播 导数.梯度与最优化 方向导数与梯度 最优化 复合函数求梯度 计算图 PyTorch实战 PyTorch中的动态图机制 PyTorch ...

  8. pytorch教程(1.5)——梯度自动计算

    摘要 在训练神经网络时,最常用的算法是反向传播. 在该算法中,参数(模型权重)根据损失函数相对于给定参数的梯度进行调整. 为了计算这些梯度,PyTorch 有一个名为 torch.autograd 的 ...

  9. pytorch 时间序列预测,梯度裁剪

    1.49.PyTorch时间序列预测 1.49.1.问题描述 已知 [k, k+n)时刻的正弦函数,预测 [k+t, k+n+t)时刻的正弦曲线. 因为每个时刻曲线上的点是一个值,即feature ...

  10. 【caffe-matlab】权重以及特征图的可视化

    前言 移植了各种caffe,是时候进行下一步操作了,先拿可视化下手吧.大部分内容可能跟网上的方法不一样,大家看完我的博客最好去网上看看大牛们的博客,万一被我误导了,就罪过了o(╯□╰)o,开更.... ...

最新文章

  1. 通过 RDTSC 指令从 CPU 寄存器中直接获取系统时钟
  2. oracle用户、表空间操作常用命令
  3. c++ opencv实现区域填充_帮你解锁一个新技能,opencv完美媲美PS,图片PS,我们代码实现...
  4. ambari 2.5.0源码编译安装
  5. TCP 的有限状态机
  6. Notepad++快速选中多行
  7. iOS 网络图片转为UIImage 和微信分享时缩略图片的压缩
  8. 联想笔记本键盘亮屏幕不亮_联想笔记本电脑开机键亮但是黑屏?键盘没反应?
  9. 机器人手眼标定原理介绍(含详细推导过程)使用Tsai-Lenz算法
  10. 利用fiddler抓包工具测试APP及高级应用
  11. 手机便签怎么对待办分类文件夹加密
  12. Selenium简单的163邮箱登录实例
  13. 智能家居远程控制:实现 APP 与 ESP8266 远程通信
  14. 如何删除双系统中的ubuntu
  15. 1068. 万绿丛中一点红(20)
  16. 计算机2级免考那几项,计算机二级证书可以免考哪些自学考试科目?
  17. 重磅!Amazon发布个人免费的AI编程助手:CodeWhisperer !
  18. Word2016加载MathType打开时显示“安全警告 宏已被禁用”解决办法
  19. Oracle-1 - :超级适合初学者的入门级笔记,CRUD,事务,约束 ......
  20. 无线网络中PPK-MIC和CKIP-CMIC的学习资料

热门文章

  1. 冰汽朋克侦查机器人_冰汽时代机器人与人力效率对比分析 寒霜朋克机器人与人力哪个效率高...
  2. 一块蛋清皂,把毛孔洗得一干二净
  3. 报表工具(报表设计器)使用的开发历程
  4. 2018招商银行春招笔试编程题第一题
  5. 加强财务知识细节:营业利润,利润总额,净利润
  6. DotSoft.C3DTools.v7.0.0.3民用勘测地图和GIS工具集合
  7. 魔兽世界燃烧的远征服务器状态,暴雪战网读入经典TBC服务器,魔兽世界燃烧的远征即将起航...
  8. Java:获取map的key和value
  9. MovieClip添加点击事件
  10. 计算机安全知识策划书,安全知识竞赛策划书