Skip to main content

Converts torch models into PyTrees for Equinox

Project description

statedict2pytree

Update:

For examples for statedict2pytree, check out my other repository jaxonmodels.

Docs

Docs can be found here.

Info

statedict2pytree is a powerful tool for converting PyTorch state dictionaries to JAX pytrees, specifically for Equinox

Installation

pip install statedict2pytree

The goal of this package is to simplify the conversion from PyTorch models into JAX PyTrees (which can be used e.g. in Equinox). The way this works is by putting both models side my side and aligning the weights in the right order. Then, all statedict2pytree is doing, is iterating over both lists and matching the weight matrices.

Usually, if you declared the fields in the same order as in the PyTorch model, you don't have to rearrange anything -- but the option is there if you need it.

Shape Matching? What's that?

Currently, there is no sophisticated shape matching in place. Two matrices are considered "matching" if the product of their shape match. For example:

(8, 1, 1) and (8, ) match, because (8 _ 1 _ 1 = 8)

Disclaimer

Some of the docstrings and the docs have been written with the help of Claude.

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

statedict2pytree-1.0.1.tar.gz (102.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

statedict2pytree-1.0.1-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file statedict2pytree-1.0.1.tar.gz.

File metadata

  • Download URL: statedict2pytree-1.0.1.tar.gz
  • Upload date:
  • Size: 102.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for statedict2pytree-1.0.1.tar.gz
Algorithm Hash digest
SHA256 1f88438c9432857f139ac8468aac203e55abda7f6c0238965249758a549b029a
MD5 5c05ea037fb279a705b6fb6df163e4d7
BLAKE2b-256 55e509fe11413741c555ac067de40494ee9b84b30ae21ae415a13553d9807318

See more details on using hashes here.

File details

Details for the file statedict2pytree-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for statedict2pytree-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7d8302e995f37e8802404236d2ca8f1b16a06d85166d9aff6e96270dd9b968af
MD5 cc0c27639bab930e079ff38ce0155ddb
BLAKE2b-256 49b3533bbcdcdf2b5b38c00255b9c058d93aeff8e550752620ac29a45a1be78c

See more details on using hashes here.

Supported by

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