Pytorch 获取模型 Params/FLOPS
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相关推荐
- pytorch 获取模型参数_Pytorch获取模型参数情况的方法
分享人工智能技术干货,专注深度学习与计算机视觉领域! 相较于Tensorflow,Pytorch一开始就是以动态图构建神经网络图的,其获取模型参数的方法也比较容易,既可以根据其内建接口自己写代码获取模 ...
- pytorch获取模型的中间层输出结果
在inference阶段,整个模型会load到GPU上,进行端到端的计算,通常只会给你输出一个最终结果. 如果想要获取模型的中间层输出,则需要在计算前标定目标层位置(通过forward返回),或者把模 ...
- pytorch 获取模型参数_剑指TensorFlow,PyTorch Hub官方模型库一行代码复现主流模型...
选自PyTorch 机器之心编译 参与:思源.一鸣 经典预训练模型.新型前沿研究模型是不是比较难调用?PyTorch 团队今天发布了模型调用神器 PyTorch Hub,只需一行代码,BERT.GPT ...
- pytorch 获取模型参数_锂电池P2D模型参数获取:平衡电势
在锂离子电池伪二维模型中,Bulter-Volmer方程描述电解液/活性颗粒界面的电极反应速率: 式中,as是固相反应活性面积,i0是交换电流密度,表示反应过电势,表示固相与电解液相电位势之差减去固相 ...
- 额外参数_Pytorch获取模型参数情况的方法
分享人工智能技术干货,专注深度学习与计算机视觉领域! 相较于Tensorflow,Pytorch一开始就是以动态图构建神经网络图的,其获取模型参数的方法也比较容易,既可以根据其内建接口自己写代码获取模 ...
- pytorch中获取模型参数
原文链接:pytorch中获取模型参数:state_dict和parameters两个方法的差异比较_造未来-CSDN博客 一.本文的模型案例 代码如下: import torch import to ...
- pytorch计算模型参数量
1. 安装 thop 1.1 常规安装 pip install thop 1.2 若上述安装方式错误,可以参考以下方式: pip install thop-i http://pypi.douban.c ...
- pytorch保存模型pth_Day159:模型的保存与加载
网络结构和参数可以分开的保存和加载,因此,pytorch保存模型有两种方法: 保存 整个模型 (结构+参数) 只保存模型参数(官方推荐) # 保存整个网络torch.save(model, check ...
- c++list遍历_小白学PyTorch | 6 模型的构建访问遍历存储(附代码)
关注一下不迷路哦~喜欢的点个星标吧~<> 小白学PyTorch | 5 torchvision预训练模型与数据集全览 小白学PyTorch | 4 构建模型三要素与权重初始化 小白学PyT ...
最新文章
- 019_with语句
- 4.6 什么是神经风格迁移-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
- 操作系统复习笔记 06 CPU Scheduling CPU调度
- 用python绘制心形_python小趣味_520绘制一个心形.
- flume 写入文件服务器,Flume环境配置以及基本操作
- python barrier_Python多线程-Barrier(障碍对象)
- 关于arguments,caller以及匿名函数调用的问题
- 产品需求文档写作方法(一)写前准备+梳理需求
- 遇到问题的时候,要学会问问题
- 一个gSOAP web服务可以用多线程技术来处理请求
- matlab画三维图像(plot3,mesh,surf)
- 类案检索功能优化建议(一)——开发路径辨析
- C# 从零开始编写一个修改“植物大战僵尸”阳光的内存辅助
- java工程师js_Ajax, 励志做一名Java全干工程师
- 育碧开发了一个 AI 工具,能快速找出代码中的 Bug
- 除了《千与千寻》,宫崎骏漫画的花卉治愈了观众,而花艺学院治愈了你一片温情
- STM32 输入捕获 测量频率 PWM占空比
- 关于JDBC我所想说的
- layui js 自定义打印功能实现
- Driver的prob的调用顺序