当前位置: 首页 > article >正文

统计模型的Flops和Params

 1、方法一 thop

from thop import profile, clever_format
model = Model()  ## 实例化模型
    
input = torch.randn(1, 3, 128, 128)  ## 模拟输入

flops, params = profile(model, inputs=(input,))
flops, params = clever_format([flops, params], "%.3f")
print('flops: {}, params: {}'.format(flops, params))
  • thop 是一个用于计算模型 FLOPs 和参数量的库。

  • profile 函数用于计算模型的 FLOPs 和参数量。

  • clever_format 函数用于将计算得到的 FLOPs 和参数量格式化为更易读的形式(例如,将 1000000 转换为 1.000M)。

 2、方法二  torchinfo

from torchinfo import summary

input = torch.randn(1, 3, 128, 128)  ## 模拟输入

# 使用 torchinfo 计算参数量
summary(model, input_data=input)

 3、方法三 手工计算

total_params = sum(p.numel() for p in model.parameters())
print(f"总参数量: {total_params / 1e6:.3f}M")


http://www.kler.cn/a/501269.html

相关文章:

  • python检测gitlab中某个标签在一个月内添加和移除了多少次
  • Termora 一个开源的 SSH 跨平台客户端工具
  • 如何安装cnpm
  • 什么是数据仓库?
  • Mac 删除ABC 输入法
  • 【2024年华为OD机试】(A卷,100分)- 单词倒序(Java JS PythonC/C++)
  • 2、数据验证组件框架:FluentValidation for .NET - 开源项目研究文章
  • Android adb shell GPU信息
  • 快速实现一个快递物流管理系统:实时更新与状态追踪
  • Qt for android : 简单实现弹窗创建文件,并使用JNI进行读写实例
  • LeetCode 225: 用队列实现栈
  • 每日学习30分轻松掌握CursorAI:多文件编辑与Composer功能
  • OpenGL利用DDA算法绘制图形,并增加鼠标键盘交互
  • VUE3 监听器(watch)
  • 卷积神经网络:过滤器为啥被叫作“核”
  • 内网服务器添加共享文件夹功能并设置端口映射
  • 【YOLOv5】源码(train.py)
  • 红队攻防 | 凭证获取的10个方法
  • 云计算-操作系统介绍
  • 我这不需要保留本地修改, 只需要拉取远程更改
  • Vue2: el-table为每一行添加超链接,并实现光标移至文字上时改变形状
  • 如何快速准备数学建模?
  • 代码随想录day13| 二叉树理论基础| 递归遍历|迭代遍历| 统一迭代 |层序遍历
  • 第25章 汇编语言--- 信号量与互斥锁
  • 什么是数据分析?
  • asp.net core webapi 并发请求时 怎么保证实时获取的用户信息是此次请求的?