THOP: PyTorch-OpCounter
Contact me
- Blog -> https://cugtyt.github.io/blog/index
- Email -> cugtyt@qq.com
- GitHub -> Cugtyt@GitHub
本系列博客主页及相关见此处
THOP: PyTorch-OpCounter,是用来统计Pytorch模型的MAC和FLOP值的。
使用方法:
基本使用
from torchvision.models import resnet50
from thop import profile
model = resnet50()
input = torch.randn(1, 3, 224, 224)
flops, params = profile(model, inputs=(input, ))
第三方模块和自定义计算
class YourModule(nn.Module):
# your definition
def count_your_model(model, x, y):
# your rule here
input = torch.randn(1, 3, 224, 224)
flops, params = profile(model, inputs=(input, ),
custom_ops={YourModule: count_your_model})
好的可读性
from thop import clever_format
flops, params = clever_format([flops, params], "%.3f")
细节实现见pytorch-OpCounter@GitHub。