Skip to the content.

THOP: PyTorch-OpCounter

Contact me

本系列博客主页及相关见此处


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