fvcore计算模型参数量和计算量
fvcore是一个易用的工具。fvcore是Facebook开源的一个轻量级的核心库,它提供了各种计算机视觉框架中常见且基本的功能。其中就包括了统计模型的参数以及FLOPs等。
pip install fvcore
- FLOPS:注意全大写,是floating point operations per second的缩写,意指每秒浮点运算次数,理解为计算速度。是一个衡量硬件性能的指标。
- FLOPs:注意s小写,是floating point operations的缩写(s表复数),意指浮点运算数,理解为计算量。可以用来衡量算法/模型的复杂度。
1.计算量
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 flops = FlopCountAnalysis(model, tensor) print("FLOPs: ", flops.total())
2.参数量
import torch from torchvision.models import resnet50 from fvcore.nn import FlopCountAnalysis, parameter_count_table # 创建resnet50网络 model = resnet50(num_classes=1000) # 分析parameters print(parameter_count_table(model))