准备使用paddleslim的一些工具,顺便统计一下以便做模型优化时用到。
测试代码
import paddle
import paddle.vision.models as models
sides = [64, 128, 224, 256, 384, 512]
clses = [10, 100, 1000]
for side in sides:
for cls in clses:
net = models.vgg19(pretrained=False, num_classes=cls)
# net = models.mobilenet_v1(pretrained=False, scale=1.0, num_classes=1000)
# net = models.resnet34(pretrained=False)
FLOPs = paddle.flops(net, input_size=[1, 3, side, side], print_detail=True)
Resnet18
Classes | 64 | 128 | 224 | 256 | 384 | 512 |
---|---|---|---|---|---|---|
参数量 | ||||||
10 | 11191242 | 11191242 | 11191242 | 11191242 | 11191242 | 11191242 |
100 | 11237412 | 11237412 | 11237412 | 11237412 | 11237412 | 11237412 |
1000 | 11699112 | 11699112 | 11699112 | 11699112 | 11699112 | 11699112 |
计算量 | ||||||
10 | 148459008 | 593819136 | 1818559488 | 2375259648 | 5344327168 | 9501021696 |
100 | 148505088 | 593865216 | 1818605568 | 2375305728 | 5344373248 | 9501067776 |
1000 | 148965888 | 594326016 | 1819066368 | 2375766528 | 5344834048 | 9501528576 |
Resnet34
Classes | 64 | 128 | 224 | 256 | 384 | 512 |
---|---|---|---|---|---|---|
参数量 | ||||||
10 | 21306826 | 21306826 | 21306826 | 21306826 | 21306826 | 21306826 |
100 | 21352996 | 21352996 | 21352996 | 21352996 | 21352996 | 21352996 |
1000 | 21814696 | 21814696 | 21814696 | 21814696 | 21814696 | 21814696 |
计算量 | ||||||
10 | 299658752 | 1198618112 | 3670756352 | 4794455552 | 10787517952 | 19177805312 |
100 | 299704832 | 1198664192 | 3670802432 | 4794501632 | 10787564032 | 19177851392 |
1000 | 300165632 | 1199124992 | 3671263232 | 4794962432 | 10788024832 | 19178312192 |
Resnet50
Classes | 64 | 128 | 224 | 256 | 384 | 512 |
---|---|---|---|---|---|---|
参数量 | ||||||
10 | 23581642 | 23581642 | 23581642 | 23581642 | 23581642 | 23581642 |
100 | 23766052 | 23766052 | 23766052 | 23766052 | 23766052 | 23766052 |
1000 | 25610152 | 25610152 | 25610152 | 25610152 | 25610152 | 25610152 |
计算量 | ||||||
10 | 335489024 | 1341888512 | 4109487104 | 5367486464 | 12076816384 | 21469878272 |
100 | 335673344 | 1342072832 | 4109671424 | 5367670784 | 12077000704 | 21470062592 |
1000 | 337516544 | 1343916032 | 4111514624 | 5369513984 | 12078843904 | 21471905792 |
mobilenet_v1
Classes | 64 | 128 | 224 | 256 | 384 | 512 |
---|---|---|---|---|---|---|
参数量 | ||||||
10 | 3239114 | 3239114 | 3239114 | 3239114 | 3239114 | 3239114 |
100 | 3331364 | 3331364 | 3331364 | 3331364 | 3331364 | 3331364 |
1000 | 4253864 | 4253864 | 4253864 | 4253864 | 4253864 | 4253864 |
计算量 | ||||||
10 | 47182848 | 188697600 | 577863168 | 754756608 | 1698188288 | 3018992640 |
100 | 47275008 | 188789760 | 577955328 | 754848768 | 1698280448 | 3019084800 |
1000 | 48196608 | 189711360 | 578876928 | 755770368 | 1699202048 | 3020006400 |
vgg13
Classes | 64 | 128 | 224 | 256 | 384 | 512 |
---|---|---|---|---|---|---|
参数量 | ||||||
10 | 128991818 | 128991818 | 128991818 | 128991818 | 128991818 | 128991818 |
100 | 129360548 | 129360548 | 129360548 | 129360548 | 129360548 | 129360548 |
1000 | 1037705728 | 133047848 | 133047848 | 133047848 | 133047848 | 133047848 |
计算量 | ||||||
10 | 1033650688 | 3775791616 | 11316704256 | 14744380416 | 33025319936 | 58618710528 |
100 | 1034019328 | 3776160256 | 11317072896 | 14744749056 | 33025688576 | 58619079168 |
1000 | 337516544 | 3779846656 | 11320759296 | 14748435456 | 33029374976 | 58622765568 |
vgg16
Classes | 64 | 128 | 224 | 256 | 384 | 512 |
---|---|---|---|---|---|---|
参数量 | ||||||
10 | 134301514 | 134301514 | 134301514 | 134301514 | 134301514 | 134301514 |
100 | 134670244 | 134670244 | 134670244 | 134670244 | 134670244 | 134670244 |
1000 | 138357544 | 138357544 | 138357544 | 138357544 | 138357544 | 138357544 |
计算量 | ||||||
10 | 1373495808 | 5135172096 | 15479806976 | 20181902336 | 45259744256 | 80368798208 |
100 | 1373864448 | 5135540736 | 15480175616 | 20182270976 | 45260112896 | 80369166848 |
1000 | 1377550848 | 5139227136 | 15483862016 | 20185957376 | 45263799296 | 80372853248 |
vgg19
Classes | 64 | 128 | 224 | 256 | 384 | 512 |
---|---|---|---|---|---|---|
参数量 | ||||||
10 | 139611210 | 139611210 | 139611210 | 139611210 | 139611210 | 139611210 |
100 | 139979940 | 139979940 | 139979940 | 139979940 | 139979940 | 139979940 |
1000 | 143667240 | 143667240 | 143667240 | 143667240 | 143667240 | 143667240 |
计算量 | ||||||
10 | 1713340928 | 6494552576 | 19642909696 | 25619424256 | 57494168576 | 102118885888 |
100 | 1713709568 | 6494921216 | 19643278336 | 25619792896 | 57494537216 | 102119254528 |
1000 | 1717395968 | 6498607616 | 19646964736 | 25623479296 | 57498223616 | 102122940928 |