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

模型的参数量、计算量、延时等的关系

模型的参数量、计算量、延时等的关系

  • 基本概念
  • 相互关系
  • 代码计算

基本概念

1.参数量:Params
2.计算量:FLOPs,Floating Point Operations,浮点运算次数,用来衡量模型计算复杂度。
3.延时:Latency

4.内存访问成本: MAC,memory access cost,存储模型所需的存储空间。
例如某个模型需要256000个浮点参数定义,转化为bit 乘以32得8192000bit,再除8转化为Byte,1024KB,也就是1M,那么这个模型大小约为1M。

5.乘加运算次数:MACs,multiply and accumulate operations,通常MACs=2FLOPs

6.每秒浮点运算次数:FLOPS,Floating Point Operations Per Second,是一个衡量硬件速度的指标。

7.每秒万亿次操作:TOPS,Tera Operations Per Second,1TOPS代表处理器每秒钟可进行一万亿次(10^12)操作,是处理器运算能力单位。

注意:区分FLOPs和FLOPS。

相互关系

1.相同 FLOPs 的两个模型,它们的延时可能会差很多。因为 FLOPs 只考虑模型总的计算量,而不考虑内存访问成本 (memory access cost, MAC) 和并行度 (degree of parallelism)。

2.在相同的 FLOPs 下,MAC 大的模型将具有更大的延时。

3.计算量有时候可以忽略,但是MAC却不能忽略。比如Add 或 Concat 的计算量可以忽略不计。

4.对于并行度而言,在相同的 FLOPs 下,具有高并行度的模型可能比另一个具有低并行度的模型快得多。

5.更高的 FLOPS可能 Params 会降低,比如当模型使用共享参数时。

代码计算

参数量Params:

params = sum(p.numel() for p in model.parameters())
print(f"params: {params/(1000 * 1000):.4f} M")

计算量FLOPs:

from thop import profile
flops, _ = profile(model, inputs=(image_tensor))
print("GFLOPs:", flops/(1000*1000*1000))

乘加运算次数MACs:

from ptflops import get_model_complexity_info
macs, params = get_model_complexity_info(model, (3,224,224), as_strings=True, print_per_layer_stat=True)

打印模型结构:

from torchsummary import summary
summary(model, input_size=(3, 224, 224))

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

相关文章:

  • 关于bash内建echo输出多行文本
  • hdfs:介绍三个脚本
  • NLP自然语言处理通识
  • 白嫖DeepSeek:一分钟完成本地部署AI
  • 芯片AI深度实战:基础篇之langchain
  • C++ 静态变量static的使用方法
  • 数据结构的概念大合集04(队列)
  • 学习vue3第五节(reactive 及其相关)
  • 裁员潮下,打工人的自我修养
  • 微信小程序一次性订阅requestSubscribeMessage授权和操作详解
  • MyBatis中 #{} 和 ${} 区别
  • Python实战:NumPy数组与矩阵操作入门
  • 提高安全投资回报:威胁建模和OPEN FAIR™风险分析
  • 数据类型【mysql数据库】
  • 数据可视化-ECharts Html项目实战(2)
  • 【Python循环3/5】条件循环语句
  • SeAndroid 安全策略机制
  • 基于单片机的智能小车泊车系统设计
  • Prompt Engineering(提示工程)
  • Rust的async和await支持多线程运行吗?
  • Unity Timeline学习笔记(2) - PlayableTrack
  • python二级备考(3)-综合应用
  • 【设计模式】Java 设计模式之组合模式(Composite)
  • 爱奇艺 CTR 场景下的 GPU 推理性能优化
  • 什么是http?
  • 【JAVA】JAVA方法的学习和创造