Note!
查看 model 参数值 model.state_dict()

1、自定义 Params

Pytorch依据其内建接口自己写代码获取模型参数情况,大家可以参考Pytorch提供的model.parameters() 接口来获取相应参数的size来实现,对于该参数是否属于可训练参数,那么可以依据Pytorch提供的requires_grad标志位来进行判断,具体方法如下代码所示:

# 定义总参数量、可训练参数量及非可训练参数量变量
Total_params = 0
Trainable_params = 0
NonTrainable_params = 0# 遍历model.parameters()返回的全局参数列表
for param in model.parameters():mulValue = np.prod(param.size())       # 使用numpy prod接口计算参数数组所有元素之积Total_params += mulValue                  # 总参数量if param.requires_grad:Trainable_params += mulValue         # 可训练参数量else:NonTrainable_params += mulValue      # 非可训练参数量print(f'Total params: {Total_params}')
print(f'Trainable params: {Trainable_params}')
print(f'Non-trainable params: {NonTrainable_params}')

2、torchsummaryX

相比自己计算,torchsummaryX 是一个非常棒的 第三方库,它具有强大的工程,并且支持更多的模型结构,而且还可以帮助用户输出 FLOPS,这一点是无可替代的,特别是 Transformer 模型的 FLOPS,好像之前的第三方库不太支持,这一点 torchsummaryX 做的特别棒!
此外 torchsummaryX 它是 torchsummary 的升级版,调用依旧简单,且十分的人性化,非常推荐大家使用~

pip install torchsummaryXimport torchvision
from torchsummaryX import summarymodel = torchvision.models.resnext50_32x4d()
summary(model, x=torch.zeros(4, 3, 224, 224))

展示格式也是相当的帅气!!!

「原版输出结果可能存在换行显示的情况,大家可以将相关的 df 的行参数设置的较大一些即可」可参考修改后的代码:https://github.com/ViatorSun/torchsummaryX

# -*- coding: utf-8 -*-
import numpy as np
import pandas as pd
# pd.set_option('display.height', 1000)
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)
df = pd.DataFrame(np.random.randn(1, 20))
print(df)

Pytorch 获取模型 Params/FLOPS相关推荐

  1. pytorch 获取模型参数_Pytorch获取模型参数情况的方法

    分享人工智能技术干货,专注深度学习与计算机视觉领域! 相较于Tensorflow,Pytorch一开始就是以动态图构建神经网络图的,其获取模型参数的方法也比较容易,既可以根据其内建接口自己写代码获取模 ...

  2. pytorch获取模型的中间层输出结果

    在inference阶段,整个模型会load到GPU上,进行端到端的计算,通常只会给你输出一个最终结果. 如果想要获取模型的中间层输出,则需要在计算前标定目标层位置(通过forward返回),或者把模 ...

  3. pytorch 获取模型参数_剑指TensorFlow,PyTorch Hub官方模型库一行代码复现主流模型...

    选自PyTorch 机器之心编译 参与:思源.一鸣 经典预训练模型.新型前沿研究模型是不是比较难调用?PyTorch 团队今天发布了模型调用神器 PyTorch Hub,只需一行代码,BERT.GPT ...

  4. pytorch 获取模型参数_锂电池P2D模型参数获取:平衡电势

    在锂离子电池伪二维模型中,Bulter-Volmer方程描述电解液/活性颗粒界面的电极反应速率: 式中,as是固相反应活性面积,i0是交换电流密度,表示反应过电势,表示固相与电解液相电位势之差减去固相 ...

  5. 额外参数_Pytorch获取模型参数情况的方法

    分享人工智能技术干货,专注深度学习与计算机视觉领域! 相较于Tensorflow,Pytorch一开始就是以动态图构建神经网络图的,其获取模型参数的方法也比较容易,既可以根据其内建接口自己写代码获取模 ...

  6. pytorch中获取模型参数

    原文链接:pytorch中获取模型参数:state_dict和parameters两个方法的差异比较_造未来-CSDN博客 一.本文的模型案例 代码如下: import torch import to ...

  7. pytorch计算模型参数量

    1. 安装 thop 1.1 常规安装 pip install thop 1.2 若上述安装方式错误,可以参考以下方式: pip install thop-i http://pypi.douban.c ...

  8. pytorch保存模型pth_Day159:模型的保存与加载

    网络结构和参数可以分开的保存和加载,因此,pytorch保存模型有两种方法: 保存 整个模型 (结构+参数) 只保存模型参数(官方推荐) # 保存整个网络torch.save(model, check ...

  9. c++list遍历_小白学PyTorch | 6 模型的构建访问遍历存储(附代码)

    关注一下不迷路哦~喜欢的点个星标吧~<> 小白学PyTorch | 5 torchvision预训练模型与数据集全览 小白学PyTorch | 4 构建模型三要素与权重初始化 小白学PyT ...

最新文章

  1. 019_with语句
  2. 4.6 什么是神经风格迁移-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  3. 操作系统复习笔记 06 CPU Scheduling CPU调度
  4. 用python绘制心形_python小趣味_520绘制一个心形.
  5. flume 写入文件服务器,Flume环境配置以及基本操作
  6. python barrier_Python多线程-Barrier(障碍对象)
  7. 关于arguments,caller以及匿名函数调用的问题
  8. 产品需求文档写作方法(一)写前准备+梳理需求
  9. 遇到问题的时候,要学会问问题
  10. 一个gSOAP web服务可以用多线程技术来处理请求
  11. matlab画三维图像(plot3,mesh,surf)
  12. 类案检索功能优化建议(一)——开发路径辨析
  13. C# 从零开始编写一个修改“植物大战僵尸”阳光的内存辅助
  14. java工程师js_Ajax,  励志做一名Java全干工程师
  15. 育碧开发了一个 AI 工具,能快速找出代码中的 Bug
  16. 除了《千与千寻》,宫崎骏漫画的花卉治愈了观众,而花艺学院治愈了你一片温情
  17. STM32 输入捕获 测量频率 PWM占空比
  18. 关于JDBC我所想说的
  19. layui js 自定义打印功能实现
  20. Driver的prob的调用顺序

热门文章

  1. 《数据采集与分析》期末考试爬虫部分重要知识点复习(详细版)
  2. 标量变量 c语言,Scalar initialization(标量类型初始化)
  3. PMO项目经理必备的8种项目管理工具
  4. MySQL数据库查看表占用空间大小及碎片整理
  5. OpenWrt make menuconfig 构建过程
  6. 忠计算机学校,花利忠
  7. linux鼠标键盘监控整理
  8. python colors后面_Python colors.BASE_COLORS属性代码示例
  9. wwhhuu (思维
  10. Python中的变长对象