如何计算lstm网络的复杂度 乘法次数 flops(未完成)

编程入门 行业动态 更新时间:2024-10-05 07:19:29

如何计算lstm网络的<a href=https://www.elefans.com/category/jswz/34/1766699.html style=复杂度 乘法次数 flops(未完成)"/>

如何计算lstm网络的复杂度 乘法次数 flops(未完成)

计算算法复杂度的一种方法是计算前向算法的乘法次数,因此在这篇文章中计算复杂度的方法是计算lstm网络的乘法运算次数

首先要弄清楚lstm的cell中的乘法次数

cell有4个输入,一个输出

有三个门,input gate控制数据输不输进来,不输入就输入0

forget gate控制保存单元memory cell更不更新,不更新就维持原状

output gate控制计算的值输不输出,不输出就输出0

举例

x是input y是output

lstm的cell有4个input,就是矢量x+bias,乘上weight,求和

以信号处理为例,batch为1,全部省略,此时的x大小[1,Nv] 

接下来是用别人写好的库计算,用的是pytorch OpCounter

GitHub - Lyken17/pytorch-OpCounter: Count the MACs / FLOPs of your PyTorch model.

按照github上的提示

pip install thop

然后就可以运行下面的例子了

更多推荐

如何计算lstm网络的复杂度 乘法次数 flops(未完成)

本文发布于:2024-02-28 02:03:36,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1767520.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:复杂度   乘法   未完成   次数   网络

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!