• Stars
    star
    436
  • Rank 99,220 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created about 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A general and accurate MACs / FLOPs profiler for PyTorch models

Torchprofile

This is a profiler to count the number of MACs / FLOPs of PyTorch models based on torch.jit.trace.

  • It is more general than ONNX-based profilers as some operations in PyTorch are not supported by ONNX for now.
  • It is more accurate than hook-based profilers as they cannot profile operations within torch.nn.Module.

Installation

pip install torchprofile

Getting Started

You should first define your PyTorch model and its (dummy) input:

import torch
from torchvision.models import resnet18

model = resnet18()
inputs = torch.randn(1, 3, 224, 224)

You can then measure the number of MACs using profile_macs:

from torchprofile import profile_macs

macs = profile_macs(model, inputs)

License

This repository is released under the MIT license. See LICENSE for additional details.