神经网络打印模型参数及参数名字和数量

在设计和优化神经网络模型性能时,很多时候需要考虑模型的参数量和计算复杂度,下面一个栗子可以帮助我们快速查看模型的参数。
** 举个栗子,如有错误,欢迎大家批评指正 **
本文链接:神经网络打印模型参数及参数名字和数量
https://blog.csdn.net/leiduifan6944/article/details/103690228

exp:

import torch
from torch import nnclass Net(nn.Module):def __init__(self):super().__init__()self.fc1 = nn.Linear(3*4*4, 3*5*5)self.conv1 = nn.Sequential(nn.Conv2d(3, 4, 1, 1),     # conv1.0nn.BatchNorm2d(4),         # conv1.1nn.LeakyReLU(),                # conv1.2nn.Conv2d(4, 4, 3, 1),     # conv1.3nn.BatchNorm2d(4),         # conv1.4nn.LeakyReLU(),                # conv1.5)self.fc2 = nn.Linear(4*3*3, 10)def forward(self, entry):entry = entry.reshape(-1, 3*4*4)fc1_out = self.fc1(entry)fc1_out = fc1_out.reshape(-1, 3, 5, 5)conv1_out = self.conv1(fc1_out)conv1_out = conv1_out.reshape(-1, 4*3*3)fc2_out = self.fc2(conv1_out)return fc2_outif __name__ == '__main__':x = torch.Tensor(2, 3, 4, 4)net = Net()out = net(x)print('%14s : %s' % ('out.shape', out.shape))print('---------------华丽丽的分隔线---------------')# -------------方法1--------------sum_ = 0for name, param in net.named_parameters():mul = 1for size_ in param.shape:mul *= size_                            # 统计每层参数个数sum_ += mul                                 # 累加每层参数个数print('%14s : %s' % (name, param.shape))    # 打印参数名和参数数量# print('%s' % param)                     # 这样可以打印出参数,由于过多,我就不打印了print('参数个数:', sum_)                      # 打印参数量# -------------方法2--------------for param in net.parameters():print(param.shape)# print(param)# -------------方法3--------------params = list(net.parameters())for param in params:print(param.shape)# print(param)

以下是方法1的输出效果:

(方法2和方法3没贴出效果,个人比较喜欢用方法1,因为可以看到当前打印的是哪一层网络的参数)

     out.shape : torch.Size([2, 10])
---------------华丽丽的分隔线---------------fc1.weight : torch.Size([75, 48])fc1.bias : torch.Size([75])
conv1.0.weight : torch.Size([4, 3, 1, 1])conv1.0.bias : torch.Size([4])
conv1.1.weight : torch.Size([4])conv1.1.bias : torch.Size([4])
conv1.3.weight : torch.Size([4, 4, 3, 3])conv1.3.bias : torch.Size([4])
conv1.4.weight : torch.Size([4])conv1.4.bias : torch.Size([4])fc2.weight : torch.Size([10, 36])fc2.bias : torch.Size([10])
参数个数: 4225

神经网络打印模型参数及参数名字和数量相关推荐

  1. 机器学习模型的超参数优化 | 原力计划

    作者 | deephub 责编 | 王晓曼 出品 | CSDN博客 头图 | CSDN付费下载自东方IC 引言 模型优化是机器学习算法实现中最困难的挑战之一.机器学习和深度学习理论的所有分支都致力于模 ...

  2. 【机器学习】算法模型自动超参数优化方法

    什么是超参数? 学习器模型中一般有两类参数,一类是可以从数据中学习估计得到,我们称为参数(Parameter).还有一类参数时无法从数据中估计,只能靠人的经验进行设计指定,我们称为超参数(Hyper ...

  3. 机器学习模型定点化_机器学习模型的超参数优化

    引言 模型优化是机器学习算法实现中最困难的挑战之一.机器学习和深度学习理论的所有分支都致力于模型的优化. 机器学习中的超参数优化旨在寻找使得机器学习算法在验证数据集上表现性能最佳的超参数.超参数与一般 ...

  4. tensorflow超参数优化_机器学习模型的超参数优化

    引言 模型优化是机器学习算法实现中最困难的挑战之一.机器学习和深度学习理论的所有分支都致力于模型的优化. 机器学习中的超参数优化旨在寻找使得机器学习算法在验证数据集上表现性能最佳的超参数.超参数与一般 ...

  5. PyTorch:存储和恢复模型并查看参数,load_state_dict(),state_dict()

    # save torch.save(model.state_dict(), PATH)# load model = MyModel(*args, **kwargs) model.load_state_ ...

  6. JVM内存模型、相关参数设置与命令查看

    JVM内存模型.相关参数设置与命令查看 JVM内存模型,你看这一篇就够了 - 知乎 (zhihu.com) Java虚拟机-Java8内存模型JVM(整理版) - 牧梦者 - 博客园 (cnblogs ...

  7. 模型效果差?我建议你掌握这些机器学习模型的超参数优化方法

    模型优化是机器学习算法实现中最困难的挑战之一.机器学习和深度学习理论的所有分支都致力于模型的优化. 机器学习中的超参数优化旨在寻找使得机器学习算法在验证数据集上表现性能最佳的超参数.超参数与一般模型参 ...

  8. 全网最全:机器学习算法模型自动超参数优化方法汇总

    什么是超参数? 学习器模型中一般有两类参数,一类是可以从数据中学习估计得到,我们称为参数(Parameter).还有一类参数时无法从数据中估计,只能靠人的经验进行设计指定,我们称为超参数(Hyper ...

  9. 为多模型寻找模型最优参数、多模型交叉验证、可视化、指标计算、多模型对比可视化(系数图、误差图、混淆矩阵、校正曲线、ROC曲线、AUC、Accuracy、特异度、灵敏度、PPV、NPV)、结果数据保存

    使用randomsearchcv为多个模型寻找模型最优参数.多模型交叉验证.可视化.指标计算.多模型对比可视化(系数图.误差图.classification_report.混淆矩阵.校正曲线.ROC曲 ...

  10. R语言使用caret包构建GBM模型:在模型最优参数已知的情况下,拟合整个训练集,而无需进行任何重采样或参数调优

    R语言使用caret包构建GBM模型:在模型最优参数已知的情况下,拟合整个训练集,而无需进行任何重采样或参数调优 目录 R语言使用caret包构建GBM模型:在模型最优参数已知的情况下,拟合整个训练集 ...

最新文章

  1. checkbox的全选中,取消全选中
  2. 51nod 1105:第K大的数
  3. 先给自己定个小目标,比如写个爬虫程序
  4. 自学python有用么_Python自学可以吗?
  5. 1268 和为K的组合
  6. 内联元素与块级元素及内外边距的影响
  7. Visual Studio下使用jQuery的10个技巧
  8. 3_03 蛇形填数(数组)
  9. python的socket编程接收浏览器上传的文件_使用python套接字编程将文件发送到浏览器...
  10. jenkins安装部署全过程
  11. FCKEditor在Asp.net环境下的配置安装
  12. keras可视化模型训练过程
  13. ❤️Docker中只需2步即可拥有Oracle 10G环境,史上最快部署❤️
  14. Ubertooth one“蓝牙扫描嗅探”使用教程
  15. 如何将PDF转换成Word文档?教你3种方法
  16. 【leetcode】出界的路径数----迭代问题与计算思维
  17. 微信小程序个人和企业有什么不一样(个人和企业小程序的区别)
  18. ⭐UI自动化工具轻松实现微信消息收发⚡朋友圈爬取⁉️
  19. 董嘉文抵达之谜:真正的努力从来都不动声色
  20. MAX813/MAX813L看门狗电路理解

热门文章

  1. C++读写操作ofstream(数据丢失问题)
  2. JS炫彩动画效果的文字特效
  3. 没有ftp信息服务器,电脑没有ftp服务器配置
  4. 女孩起名字:100个优秀的女孩名字大全
  5. PHP利用qq邮箱发邮件
  6. Git-删除文件后找回
  7. SAR图像变化检测的评价指标
  8. windows11 截屏键无法使用 Print screen
  9. iomega ix2 Android,Lenovo Iomega ix2系统安装_联想 IOMEGA IX2_服务器评测与技术-中关村在线...
  10. AiHi+翼次元学院儿童自然感知实践“几米小甜田”+中韧开智“优慧码”| Wit++