Skip to main content

A tool to count the FLOPs of PyTorch model.

Project description

THOP: PyTorch-OpCounter

How to install

  • Through PyPi

    pip install thop

  • Using GitHub (always latest)

    pip install --upgrade git+https://github.com/Lyken17/pytorch-OpCounter.git

How to use

  • Basic usage

    from torchvision.models import resnet50
    from thop import profile
    model = resnet50()
    input = torch.randn(1, 3, 224, 224)
    flops, params = profile(model, inputs=(input, ))
    
  • Define the rule for 3rd party module.

    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})
    
  • Improve the output readability

    Call thop.clever_format to give a better format of the output.

    from thop import clever_format
    flops, params = clever_format([flops, params], "%.3f")
    

Results on Recent Models

Model Params(M) MACs(G)
alexnet 58.27 0.72
densenet121 7.61 2.70
densenet161 27.35 7.31
densenet169 13.49 3.20
densenet201 19.09 4.09
resnet18 11.15 1.70
resnet34 20.79 3.43
resnet50 24.37 3.85
resnet101 42.49 7.33
resnet152 57.40 10.81
Model Params(M) MACs(G)
squeezenet1_0 1.19 0.77
squeezenet1_1 1.18 0.33
vgg11 126.71 7.21
vgg11_bn 126.71 7.24
vgg13 126.88 10.66
vgg13_bn 126.89 10.70
vgg16 131.95 14.54
vgg16_bn 131.96 14.59
vgg19 137.01 18.41
vgg19_bn 137.02 18.47

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

thop-0.0.30-1908281655.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

thop-0.0.30.post1908281655-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file thop-0.0.30-1908281655.tar.gz.

File metadata

  • Download URL: thop-0.0.30-1908281655.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for thop-0.0.30-1908281655.tar.gz
Algorithm Hash digest
SHA256 acb046362625f68cee7451818f77f4a1ecae83e4c9cc8f626eaa6139e793988b
MD5 317250c4670cec125a0fdd5db10032b4
BLAKE2b-256 f28d6244e0a9c257cbf16c9904af249e72d530bc03185ce60a0f5af812dadbbd

See more details on using hashes here.

File details

Details for the file thop-0.0.30.post1908281655-py3-none-any.whl.

File metadata

  • Download URL: thop-0.0.30.post1908281655-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for thop-0.0.30.post1908281655-py3-none-any.whl
Algorithm Hash digest
SHA256 21cdc14247ce09ca53afe85c0f5a24c3145ab015f9e6ca0e7843be1f001cd6c8
MD5 8ebe9b3ae273d762e0a5a1b43fe0ab99
BLAKE2b-256 387a17fbd8c3adf2c8c0494bc3a13c0566865ea5da55bf071258036dd39fc7d0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page