自动计算模型参数量、FLOPs、乘加数以及所需内存等数据

之前写过一篇手动计算卷积神经网络参数量和FLOPs的计算公式的博客:卷积神经网络模型参数量和运算量计算方法
现介绍一款自动计算模型参数量、FLOPs、乘加数以及所需内存等数据的轮子:torchstat

食用方法如下:

1.安装:
pip install torchstat
2.使用:
In [3]: import torch              
In [4]: from torchstat import stat           
In [5]: import torchvision.models as models      
In [6]: net = models.vgg11()           
In [7]: stat(net,(3,224,224))    # (3,224,224)表示输入图片的尺寸
运行结果:
[MAdd]: AdaptiveAvgPool2d is not supported!
[Flops]: AdaptiveAvgPool2d is not supported!
[Memory]: AdaptiveAvgPool2d is not supported!
[MAdd]: Dropout is not supported!
[Flops]: Dropout is not supported!
[Memory]: Dropout is not supported!
[MAdd]: Dropout is not supported!
[Flops]: Dropout is not supported!
[Memory]: Dropout is not supported!
        module name  input shape output shape       params memory(MB)              MAdd            Flops   MemRead(B)  MemWrite(B) duration[%]    MemR+W(B)
0        features.0    3 224 224   64 224 224       1792.0      12.25     173,408,256.0     89,915,392.0     609280.0   12845056.0      14.24%   13454336.0
1        features.1   64 224 224   64 224 224          0.0      12.25       3,211,264.0      3,211,264.0   12845056.0   12845056.0       1.40%   25690112.0
2        features.2   64 224 224   64 112 112          0.0       3.06       2,408,448.0      3,211,264.0   12845056.0    3211264.0      11.61%   16056320.0
3        features.3   64 112 112  128 112 112      73856.0       6.12   1,849,688,064.0    926,449,664.0    3506688.0    6422528.0       5.33%    9929216.0
4        features.4  128 112 112  128 112 112          0.0       6.12       1,605,632.0      1,605,632.0    6422528.0    6422528.0       0.65%   12845056.0
5        features.5  128 112 112  128  56  56          0.0       1.53       1,204,224.0      1,605,632.0    6422528.0    1605632.0       4.59%    8028160.0
6        features.6  128  56  56  256  56  56     295168.0       3.06   1,849,688,064.0    925,646,848.0    2786304.0    3211264.0       4.42%    5997568.0
7        features.7  256  56  56  256  56  56          0.0       3.06         802,816.0        802,816.0    3211264.0    3211264.0       0.29%    6422528.0
8        features.8  256  56  56  256  56  56     590080.0       3.06   3,699,376,128.0  1,850,490,880.0    5571584.0    3211264.0       8.13%    8782848.0
9        features.9  256  56  56  256  56  56          0.0       3.06         802,816.0        802,816.0    3211264.0    3211264.0       0.25%    6422528.0
10      features.10  256  56  56  256  28  28          0.0       0.77         602,112.0        802,816.0    3211264.0     802816.0       2.19%    4014080.0
11      features.11  256  28  28  512  28  28    1180160.0       1.53   1,849,688,064.0    925,245,440.0    5523456.0    1605632.0       4.72%    7129088.0
12      features.12  512  28  28  512  28  28          0.0       1.53         401,408.0        401,408.0    1605632.0    1605632.0       0.10%    3211264.0
13      features.13  512  28  28  512  28  28    2359808.0       1.53   3,699,376,128.0  1,850,089,472.0   11044864.0    1605632.0       8.77%   12650496.0
14      features.14  512  28  28  512  28  28          0.0       1.53         401,408.0        401,408.0    1605632.0    1605632.0       0.09%    3211264.0
15      features.15  512  28  28  512  14  14          0.0       0.38         301,056.0        401,408.0    1605632.0     401408.0       1.14%    2007040.0
16      features.16  512  14  14  512  14  14    2359808.0       0.38     924,844,032.0    462,522,368.0    9840640.0     401408.0       3.53%   10242048.0
17      features.17  512  14  14  512  14  14          0.0       0.38         100,352.0        100,352.0     401408.0     401408.0       0.03%     802816.0
18      features.18  512  14  14  512  14  14    2359808.0       0.38     924,844,032.0    462,522,368.0    9840640.0     401408.0       3.64%   10242048.0
19      features.19  512  14  14  512  14  14          0.0       0.38         100,352.0        100,352.0     401408.0     401408.0       0.03%     802816.0
20      features.20  512  14  14  512   7   7          0.0       0.10          75,264.0        100,352.0     401408.0     100352.0       0.32%     501760.0
21          avgpool  512   7   7  512   7   7          0.0       0.10               0.0              0.0          0.0          0.0       0.25%          0.0
22     classifier.0        25088         4096  102764544.0       0.02     205,516,800.0    102,760,448.0  411158528.0      16384.0      20.16%  411174912.0
23     classifier.1         4096         4096          0.0       0.02           4,096.0          4,096.0      16384.0      16384.0       0.02%      32768.0
24     classifier.2         4096         4096          0.0       0.02               0.0              0.0          0.0          0.0       0.03%          0.0
25     classifier.3         4096         4096   16781312.0       0.02      33,550,336.0     16,777,216.0   67141632.0      16384.0       3.26%   67158016.0
26     classifier.4         4096         4096          0.0       0.02           4,096.0          4,096.0      16384.0      16384.0       0.01%      32768.0
27     classifier.5         4096         4096          0.0       0.02               0.0              0.0          0.0          0.0       0.01%          0.0
28     classifier.6         4096         1000    4097000.0       0.00       8,191,000.0      4,096,000.0   16404384.0       4000.0       0.79%   16408384.0
total                                          132863336.0      62.69  15,230,196,248.0  7,630,071,808.0   16404384.0       4000.0     100.00%  663250240.0
===========================================================================================================================================================
Total params: 132,863,336
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Total memory: 62.69MB
Total MAdd: 15.23GMAdd
Total Flops: 7.63GFlops
Total MemR+W: 632.52MB

支持环境:
  • Python 3.6+
  • Pytorch 0.4.0+
  • Pandas 0.23.4+
  • NumPy 1.14.3+
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,907评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,546评论 1 289
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,705评论 0 238
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,624评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,940评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,371评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,672评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,396评论 0 195
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,069评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,350评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,876评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,243评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,847评论 3 231
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,004评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,755评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,378评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,266评论 2 259

推荐阅读更多精彩内容