依赖库安装命令
pip install fvcore
FLOPs: 注意s小写,是floating point operations的缩写(s表复数),意指浮点运算数,理解为计算量,可以用来衡量算法/模型的复杂度。
示例
import torch
from torchvision.models import resnet50
from fvcore.nn import FlopCountAnalysis, parameter_count_table
# 创建resnet50网络
model = resnet50(num_classes=1000)
# 创建输入网络的tensor
tensor = (torch.rand(1, 3, 224, 224),)
# 分析FLOPs,格式为10次幂
flops = FlopCountAnalysis(model, tensor)
print("FLOPs: {:.2e}".format(flops.total()))
# 分析parameters
print(parameter_count_table(model))