您现在的位置是:首页 > 技术教程 正文

关于mmdetection、mmrotate如何计算参数量、计算量和速度FPS

admin 阅读: 2024-03-24
后台-插件-广告管理-内容页头部广告(手机)

近几天跑完实验后,发现效果还是不错,于是开始进行模型的参数量、计算量和速度指标的计算对比,话不多说,直接上干货。

--------------------------------------------------------------------------------------------------------------------------

首先记住一句话:模型的参数量越小,这个模型的计算量不一定小,速度也不一定快。

关于参数量和计算量:

找到mmdetection或mmrotate的 tools/analysis_tools/get_flops.py文件,可以看到:

config表示你的模型配置文件、

shape表示输入图片的长宽

测试如下:

python tools/analysis_tools/get_flops.py work_dirs/s2anet_r50_fpn_3x_hrsc_le135/s2anet_r50_fpn_3x_hrsc_le135.py

结果如下:

一目了然!

而有人会问Flops与GFLOPs的区别,简单来说, GFLOPs是与你的硬件配置有关,可以理解为日常生活中常用的单位:kg、m等单位,这里不必关心。而Flops就是你的模型计算量了,这里数字越大代表计算量越大。

参数量我这里就不细说了。

------------------------------------------------------------------------------------------------------------------------

关于FPS的计算

找到tools/analysis_tools/benchmark.py文件

config意义同上

checkpoint表示权重文件,演示如下: 

python -m torch.distributed.launch --nproc_per_node=1 --master_port=29500  tools/analysis_tools/benchmark.py runs/rotated_fcos_r50_fpn_1x_hrsc_le90_reg.py runs/latest.pth --launcher pytorch

前面这一串 -m torch.distributed.launch --nproc_per_node=1 --master_port=29500 代表分布式的参数,不必深究。

记得最后要带上--launcher pytorch

运行后,结果如下:

一目了然! 

-----------------------------------------------------------------------------------------------------------------------

最后,我还需要i强调一点的是:不同模型的FPS必须要在相同的输入图片大小的基础下才具有可比性!

以上,希望能让大家少踩坑!有问题可以评论留言!

 

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索