Skip to main content

Tiny PyTorch helper package to get stats on GPU usage, model params, etc.

Project description

flaregun

A simple helper package for PyTorch to get better visibility on real-time GPU usage, model params, etc.

Installation

$ pip install flaregun

Usage

Get real-time Nvidia GPU memory usage in Python:

from flaregun import GPUStats

# Pretty print statistics for GPU #0
GPUStats(device=0).print()
> "GPU memory usage: 3061 / 32510 MB"

Get parameter count in any PyTorch compatible model (e.g. HuggingFace, etc.):

from flaregun import ModelStats

# Get HuggingFace model
model = AutoModelForMaskedLM.from_pretrained("/path/to/Longformer-Model")

# Pretty print Model parameter count
ModelStats(model).print()
> "148711257 params (148711257 trainable | 0 non-trainable)"

API

All features of the library are listed below.

GPU memory utilization

from flaregun import GPUStats

device = ...integer of GPU device...

# Free GPU memory (in MB)
free_mem = GPUStats(device).free()

# Total GPU memory (in MB)
total_mem = GPUStats(device).total()

# Used GPU memory (in MB)
used_mem = GPUStats(device).used()

Model parameter count

from flaregun import ModelStats

model = ...PyTorch-compatible model...

# Total params
total = ModelStats(model).total()

# Trainable params
trainable = ModelStats(model).trainable()

# Frozen (non-trainable) params
frozen = ModelStats(model).frozen()

Contributing

Interested in contributing? Check out the contributing guidelines. Please note that this project is released with a Code of Conduct. By contributing to this project, you agree to abide by its terms.

Running Tests

poetry run pytest tests/

Test PyPI

Create release:

git tag vXX.XX.XXX
git push --tags
# Then go to Github and link this tag to a Release

Publish:

poetry build
poetry publish -r test-pypi --username XXX --password XXXX

Install:

pip3 install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple flaregun

PyPI

Publish:

poetry publish

Building Docs

cd docs
poetry run make clean html && poetry run make html

License

flaregun was created by Michael Wornow. It is licensed under the terms of the MIT license.

Credits

flaregun was created with cookiecutter and the py-pkgs-cookiecutter template.

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

flaregun-0.0.2.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

flaregun-0.0.2-py3-none-any.whl (3.9 kB view details)

Uploaded Python 3

File details

Details for the file flaregun-0.0.2.tar.gz.

File metadata

  • Download URL: flaregun-0.0.2.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.1 CPython/3.9.6 Darwin/21.6.0

File hashes

Hashes for flaregun-0.0.2.tar.gz
Algorithm Hash digest
SHA256 4598e944f0e8c696fa009fe4eaed56bb405c8a642c7acbcda0fdd3fde05bb37b
MD5 1bb9b28456929046856ae202d0d56d73
BLAKE2b-256 5f4d8fc8197b578d148546899193a3ec783da40827074f21aa416844a811f49c

See more details on using hashes here.

File details

Details for the file flaregun-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: flaregun-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 3.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.1 CPython/3.9.6 Darwin/21.6.0

File hashes

Hashes for flaregun-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 877ff1f3e04f8b016717eb125b0ae835dc78856d109f81efb855665aefea9359
MD5 43d60fad752ac2d3f70bee6746bb730a
BLAKE2b-256 02a8e74bcab874ca4cffa97432c4bec684b633b1ea866f17a80d4044561ba4f1

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