Skip to main content

A torch model analyzer

Project description

Torch Analyzer

This tool can be used to analyze the model run time, GPU memory usage, input/output information of each layer, and FLOPs of each layer in PyTorch models.

The run time, GPU memory usage, and FLOPs are analyzed at the cuda operator level, which is more accurate than the existing module-based analysis. Even model with custom operators can be analyzed.

example1

Installation

Install from pip:

pip install torch-analyzer

Install from source:

git clone https://github.com/IrisRainbowNeko/torch-analyzer.git
cd torch-analyzer
pip install -e .

Usage

Example:

import torch
import torchvision.models as models
from torchanalyzer import ModelTimeMemAnalyzer, TorchViser

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

analyzer = ModelTimeMemAnalyzer(model)
info = analyzer.analyze(inputs)
TorchViser().show(model, info)

Analyze model

Analyze run time of each layer:

from torchanalyzer import ModelTimeMemAnalyzer

analyzer = ModelTimeMemAnalyzer(model)
info = analyzer.analyze(inputs)

Analyze input/output information of each layer:

from torchanalyzer import ModelIOAnalyzer

analyzer = ModelIOAnalyzer(model)
info = analyzer.analyze(inputs)

Analyze flops of each layer:

from torchanalyzer import ModelFlopsAnalyzer

analyzer = ModelFlopsAnalyzer(model)
info = analyzer.analyze(inputs)

Show Analyzed Information

Show with the style like print(model) in torch:

from torchanalyzer import TorchViser
TorchViser().show(model, info)

Show with table style:

from torchanalyzer import TableViser
TableViser().show(model, info)

Show with flow style:

from torchanalyzer import FlowViser
FlowViser().show(model, info)

Project details


Download files

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

Source Distribution

torch_analyzer-0.2.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

torch_analyzer-0.2-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file torch_analyzer-0.2.tar.gz.

File metadata

  • Download URL: torch_analyzer-0.2.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for torch_analyzer-0.2.tar.gz
Algorithm Hash digest
SHA256 48f889cdc142ae2bb93a08d63ab64071cb56769b0ff3abb2eca17e18ffe69fdb
MD5 c6703262dec1d2dbeed3308c00e566b0
BLAKE2b-256 a4c22af1dcc679c12044f2f8d7766c5896b39e2064cfa5ad94c68bc39b7d5a7c

See more details on using hashes here.

Provenance

File details

Details for the file torch_analyzer-0.2-py3-none-any.whl.

File metadata

  • Download URL: torch_analyzer-0.2-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for torch_analyzer-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6b4da40cb4dca6f08dd6f10d462ca4144b84fc5e9f16ba2839620af777068c46
MD5 33c5a6cb3dc3615cef909840f413e295
BLAKE2b-256 eb49d2048bfd64e9f67ae607a0eaa9a972b1a9b317cf6f01749e0cb62345bc84

See more details on using hashes here.

Provenance

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