fvcore計算模型引數量和計算量
阿新 • • 發佈:2022-04-15
fvcore是一個易用的工具。fvcore是Facebook開源的一個輕量級的核心庫,它提供了各種計算機視覺框架中常見且基本的功能。其中就包括了統計模型的引數以及FLOPs等。
pip install fvcore
- FLOPS:注意全大寫,是floating point operations per second的縮寫,意指每秒浮點運算次數,理解為計算速度。是一個衡量硬體效能的指標。
- FLOPs:注意s小寫,是floating point operations的縮寫(s表複數),意指浮點運算數,理解為計算量。可以用來衡量演算法/模型的複雜度。
1.計算量
import torch fromtorchvision.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 torchfrom torchvision.models import resnet50 from fvcore.nn import FlopCountAnalysis, parameter_count_table # 建立resnet50網路 model = resnet50(num_classes=1000) # 分析parameters print(parameter_count_table(model))