1、统计模型的浮点运算数和参数量

  • FLOPS:注意全大写,是floating point operations per second的缩写,意指每秒浮点运算次数,理解为计算速度。是一个衡量硬件性能的指标。
  • FLOPs:注意s小写,是floating point operations的缩写(s表复数),意指浮点运算数,理解为计算量。可以用来衡量算法/模型的复杂度。
  • MACCs:是multiply-accumulate operations),也叫MAdds,意指乘-加操作,理解为计算量,MAdds 大约是 FLOPs 的一半。

当我们使用tensorflow设计好一个神经网络模型之后,我们如何统计这个模型有多少浮点运算数(FLOPs)和多少参数量呢?我们可以使用tensorflow中的一个模块来进行统计,实例如下(以统计VGG为例):

#coding = utf-8import tensorflow as tf
import tensorflow.contrib.slim as slim
from tensorflow.contrib.slim.nets import vggdef stats_graph(graph):flops = tf.profiler.profile(graph, options=tf.profiler.ProfileOptionBuilder.float_operation())params = tf.profiler.profile(graph, options=tf.profiler.ProfileOptionBuilder.trainable_variables_parameter())print('FLOPs: {};    Trainable params: {}'.format(flops.total_float_ops, params.total_parameters))def main():with tf.Graph().as_default() as graph:inputs = tf.placeholder(dtype = tf.float32, shape = [1, 224, 224, 3])with slim.arg_scope(vgg.vgg_arg_scope()):_, end_points = vgg.vgg_16(inputs,num_classes=1000,is_training=True,dropout_keep_prob=0.5,spatial_squeeze=False,scope='vgg_16')     stats_graph(graph)if __name__ == '__main__':main()

统计的输出为:

FLOPs: 31651968442;    Trainable params: 138357544

计算方式参考论文:《Pruning Convolutional Neural Networks for Resource Efficient Inference》中的内容:

2、常用模型的FLOPs统计 (参考)

参考:https://blog.csdn.net/leayc/article/details/81001801

https://robertlexis.github.io/2018/08/28/Tensorflow-%E6%A8%A1%E5%9E%8B%E6%B5%AE%E7%82%B9%E6%95%B0%E8%AE%A1%E7%AE%97%E9%87%8F%E5%92%8C%E5%8F%82%E6%95%B0%E9%87%8F%E7%BB%9F%E8%AE%A1/

Tensorflow计算一个模型的浮点运算数相关推荐

  1. 人工智能学习07--pytorch11--分类网络:使用pytorch和tensorflow计算分类模型的混淆矩阵

    师兄说学目标检测之前先学分类 坏了,内容好多!学学学 感谢up主,好人一生平安 混淆矩阵 什么是混淆矩阵: 横坐标:每一列属于该类的所有验证样本.每一列所有元素对应真实类别. 纵坐标:网络的预测类别. ...

  2. R语言计算回归模型每个样本(观察、observation、sample)的杠杆值(leverage)实战:如果一个样本的预测变量比其他样本的预测变量值更极端,那么被认为具有很高的杠杆作用

    R语言计算回归模型每个样本(观察.observation.sample)的杠杆值(leverage)实战:如果一个样本的预测变量比其他样本的预测变量值更极端,那么被认为具有很高的杠杆作用 目录

  3. R语言计算回归模型每个样本(观察、observation、sample)的DFBETAS值实战:每一个样本对给定系数的估计有多大的影响

    R语言计算回归模型每个样本(观察.observation.sample)的DFBETAS值实战:每一个样本对给定系数的估计有多大的影响 目录

  4. 【社区分享】从零开始学习 TinyML,建立 TensorFlow 深度学习模型(技术优化篇)

    TinyML是什么?如何从零开始入门学习?本系列上一篇教程中,我们复习了 TinyML 的概念,完成了一个最简单的 ML 模型与微控制器运行.今天,本教程将与你探讨如何在实际的工程应用中对已建立的模型 ...

  5. 【社区分享】从零开始学习 TinyML,建立 TensorFlow 深度学习模型(模型应用篇)

    TinyML是什么?如何从零开始入门学习?本系列上一篇教程为大家介绍了 TensorFlow 的基础原理,在这一篇中,我们将结合代码实例,教你如何去编写微控制器能够运行的 ML 应用,并进一步掌握项目 ...

  6. TensorFlow与PyTorch模型部署性能比较

    TensorFlow与PyTorch模型部署性能比较 前言 2022了,选 PyTorch 还是 TensorFlow?之前有一种说法:TensorFlow 适合业界,PyTorch 适合学界.这种说 ...

  7. python线性加权回归_python深度学习-tensorflow实现一个线性回归的案例

    线性回归:w1x1+w2x2+w3x3+......+wnxn+bias(这是一个偏移量),我们采用的算法是:线性回归,策略是:均方误差,优化是:梯度下降API, 1.转准备好实验的数据:100个数据 ...

  8. 深度学习利器:TensorFlow与NLP模型

    深度学习利器:TensorFlow与NLP模型 享到:微博微信FacebookTwitter有道云笔记邮件分享 稍后阅读 我的阅读清单 前言 自然语言处理(简称NLP),是研究计算机处理人类语言的一门 ...

  9. 8.1 mnist_soft,TensorFlow构建回归模型

    背景 之前已经写了很多TensorFlow的基本知识,现在利用TensorFlow实现一些简单的功能,对原来的知识进行串联,并初步入门,该部分共包括三篇,分别实现的是回归模型,浅层神经网络,KNN. ...

最新文章

  1. javascript断点调试方法
  2. AI 版 Nature Index 排名,两种结果折射中国 AI 实力软肋
  3. fcntl函数之文件锁 F_SETLK
  4. 【美文保存】nosql数据库对比以及如何巧妙利用redis来提高效率?
  5. 大一萌新看过来,C语言学到什么程度,才能“毕业不失业”!
  6. linux 解压文件zip格式
  7. Android初学第55天
  8. failed to connect to raw.githubusercontent.com port 443: Connection refused
  9. 理解 webpack 热更新
  10. Maven 项目中配置私服
  11. 防抖与节流方案_手写系列之防抖和节流
  12. 游戏启动是html,陈书艺:推动游戏前行 开启HTML5游戏之门
  13. Windows任务管理器中的内存
  14. PDF识别文字、关键字,获取对应坐标,用于插入电子签名
  15. 高数——关于微分方程共轭复根引发的复数思考
  16. mysql explain 性能分析_MySQL性能分析(Explain)
  17. wordpress 数据库_如何一键优化您的WordPress数据库
  18. Python_基础笔记
  19. eclipse的主题背景设置(关爱你的眼睛,从这里做起)
  20. this is a prerequisite condition to test whether the packagecompat-libstdc++-33-3.2.3-61.x86_64

热门文章

  1. HDU 6034 Balala Power!
  2. python 化学计量学_强烈推荐!八个鲜为人知的大数据学习网站!
  3. 深度学习平台使用文档
  4. CentOS (Community Enterprise Operating System)是什么?
  5. bootstrap表格 行编辑状态_JS组件系列——BootstrapTable 行内编辑解决方案:x-editable...
  6. 使用WGET参数介绍大全
  7. 【附源码】Python计算机毕业设计码码科技公司招投标管理系统
  8. QQ群排名优化:“小百度”大蓝海有搞头
  9. python 实现 短信登录 b站 并打印cookie内容
  10. php备份王,帝国备份王常见问题及解决方法