Skip to main content

ViViT: Curvature access through the generalized Gauss-Newton\'s low-rank structure

Project description

ViViT ViViT: Curvature access through the generalized Gauss-Newton's low-rank structure

Python 3.7+ tests

ViViT is a collection of numerical tricks to efficiently access curvature from the generalized Gauss-Newton (GGN) matrix based on its low-rank structure. Provided functionality includes computing

These operations can also further approximate the GGN to reduce cost via sub-sampling, Monte-Carlo approximation, and block-diagonal approximation.

How does it work? ViViT uses and extends BackPACK for PyTorch. The described functionality is realized through a combination of existing and new BackPACK extensions and hooks into its backpropagation.

Installation

pip install vivit-for-pytorch

Examples

Basic and advanced demos can be found in the documentation.

How to cite

If you are using ViViT, consider citing the paper

@misc{dangel2022vivit,
      title={{ViViT}: Curvature access through the generalized Gauss-Newton's low-rank structure},
      author={Felix Dangel and Lukas Tatzel and Philipp Hennig},
      year={2022},
      eprint={2106.02624},
      archivePrefix={arXiv},
      primaryClass={cs.LG}
}

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

vivit-for-pytorch-1.0.0.tar.gz (217.8 kB view details)

Uploaded Source

Built Distribution

vivit_for_pytorch-1.0.0-py3-none-any.whl (88.1 kB view details)

Uploaded Python 3

File details

Details for the file vivit-for-pytorch-1.0.0.tar.gz.

File metadata

  • Download URL: vivit-for-pytorch-1.0.0.tar.gz
  • Upload date:
  • Size: 217.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for vivit-for-pytorch-1.0.0.tar.gz
Algorithm Hash digest
SHA256 75f12842ac07e0cf8f18ac14b3c58566c190710d4f4ea4a802bc63f2986d3fa1
MD5 31450625de0ebfd311125eb1fcf980c2
BLAKE2b-256 272a8d021d5ff8a6063a5f24f64d2678f010d78a1f50d2b583920dd4cd152500

See more details on using hashes here.

File details

Details for the file vivit_for_pytorch-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for vivit_for_pytorch-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d6e3b5d66f09176aa5ef699811ced3e455dee03ef4e27b6dc8aca050b1d8ac39
MD5 0c73c5ce979149ed4755e691c54b03d9
BLAKE2b-256 eb0d3930bf4c3a2bb5c8b02ccc99c5b52eca9b975496ba5218f95c65f9bf8da5

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