统计模型的Flops和Params

devtools/2025/1/13 3:21:08/

 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 summaryinput = 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.ppmy.cn/devtools/150041.html

相关文章

【gRPC】header和trailer两种元数据机制go案例

gRPC Header 和 Trailer gRPC 提供了 Header 和 Trailer 两种元数据机制,用于在客户端和服务端之间传递附加信息。 Header 和 Trailer 的区别 元数据类型发送时机常见用途HeaderRPC 调用开始时,随响应发送包含认证信息、会话数据、请求相关的元信息&a…

体育实时数据是怎么获取的

体育实时数据的获取通常依赖于技术、数据提供商以及基础设施的综合应用。以下是主要的获取方式和技术手段: 1. 官方渠道数据接口 体育联赛与赛事方的API:一些官方机构(如FIFA、NBA、MLB等)提供实时数据接口,这些接口…

汽车物资拍卖系统架构与功能分析

2015工作至今,10年资深全栈工程师,CTO,擅长带团队、攻克各种技术难题、研发各类软件产品,我的代码态度:代码虐我千百遍,我待代码如初恋,我的工作态度:极致,责任&#xff…

Spring实现通过工具类统一输出日志(不改变日志类信息)

版权说明: 本文由CSDN博主keep丶原创,转载请保留此块内容在文首。 原文地址: https://blog.csdn.net/qq_38688267/article/details/145022997 背景 实现输出带动态标签的日志需求后,实际操作过程中,输出日志的代码为&a…

【线性代数】通俗理解特征向量与特征值

这一块在线性代数中属于重点且较难理解的内容,下面仅个人学习过程中的体会,错误之处欢迎指出,有更简洁易懂的理解方式也欢迎留言学习。 文章目录 概念计算几何直观理解意义PS.适用 概念 矩阵本身就是一个线性变换,对一个空间中的…

为AI聊天工具添加一个知识系统 开发环境准备

现在,我准备开始开发这个项目,需要搭建开发环境 并将前面的程序整理到项目文件中。请完成--我是一个新手 好的!我将帮助您从头开始搭建开发环境,并整理好之前的程序代码到项目文件中,以便您可以轻松启动这个项目。以下…

模式识别-Ch3-贝叶斯估计

贝叶斯估计 贝叶斯估计是概率密度估计中另一类主要的参数估计方法。其结果在很多情况下与最大似然法十分相似,但是,两种方法对问题的处理视角是不一样的。 贝叶斯估计最大似然估计将待估计的参数视为一个随机变量,其中的一个核心任务是根据…

【每日学点鸿蒙知识】关于热修复、图片预览、多个@State刷新性能问题等

1、是否推荐使用bm quickfix制造修复包? 官方文档文档中显示:快速修复补丁安装bm quickfix -a -f /data/app/有两个问题: hqf文件如何制作的文档没有找到。hqf 是不是新版本和旧版本的差分包咨询场景描述:app可以在运行过程中修…