第一种情况:thop包没装,或版本太旧
解决方法:装thop包或卸载后重装
pip install thop
#或者卸载后重装
pip uninstall thop
pip install thop
第二种情况比较麻烦:改模型或者添加模块了
比如下面这种情况,加了CoordAtt之后,不打印GFLOPs了
那只能曲线救国了:
from ptflops import get_model_complexity_info
with torch.cuda.device(0):
flops, params = get_model_complexity_info(model, (3,640,640), as_strings=True, print_per_layer_stat=True)
print('Flops:', flops) # 注:FLOPs=2*MACs
print('Params:', params)
用yolov5s验证结果如下,此方法有效。
上面代码是示例代码,没有加载模型的部分,我写了一个py文件,不依赖于yolo可单独使用,效果如下右图,需要的私聊或评论:
yolo训练前后打印信息都已实现:
1、训练前(用yaml文件):
2、训练好的权重(pt文件) :