步遥情感网
您的当前位置:首页轻量化网络+轻量化语义分割网络的评价参数的理论计算与实际计算

轻量化网络+轻量化语义分割网络的评价参数的理论计算与实际计算

来源:步遥情感网

1.定义

  • 参数数量(params):指模型含有多少参数,直接决定模型的大小,也影响推断时对内存的占用量
    • 单位通常为 M,通常参数用 float32 表示,所以模型大小是参数数量的 4 倍左右
    • 参数数量与模型大小转换示例:10M float32 bit = 10M × 4 bytes = 40Mb
  • 理论计算量(FLOPs):指模型推断时需要多少计算次数
    • 是 floating point operations 的缩写(注意 s 小写),可以用来衡量算法/模型的复杂度,这关系到算法速度,大模型的单位通常为 G(GFLOPs:10亿次浮点运算),小模型单位通常为 M
    • 通常只考虑乘加操作(Multi-Adds)的数量,而且只考虑 CONV 和 FC 等参数层的计算量,忽略 BN 和 PReLU 等等。一般情况,CONV 和 FC 层也会忽略仅纯加操作的计算量,如 bias 偏置加和 shotcut 残差加等,目前有 BN 的卷积层可以不加 bias
  • PS:计算平台的两个指标如下所示
    • 算力: 计算平台倾尽全力每秒钟所能完成的浮点运算数,单位一般为 TFLOPS(floating point of per second)
    • 带宽: 计算平台倾尽全力每秒所能完成的内存(CPU 内存 or GPU 显存)交换量,单位一般为 GB/s(Gbyte/second),计算公式一般为 内存频率 × 内存位宽 / 8

2.理论计算公式

3.pytorch计算应用

pytorch计算params和FLOPs-深度学习中,模型训练完后,查看模型的参数量和浮点计算量

我们知道用什么工具,之后去查详细的API即可。

参考链接:
1、https:///mzpmzk/article/details/82976871
2、https:///qq_26369907/article/details/857021

因篇幅问题不能全部显示,请点此查看更多更全内容