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.2.tar.gz (103.1 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.2-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: statedict2pytree-1.0.2.tar.gz
  • Upload date:
  • Size: 103.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.6

File hashes

Hashes for statedict2pytree-1.0.2.tar.gz
Algorithm Hash digest
SHA256 af686b0fabe9e8edf0e2115796093c8661ef73d485be1d44c7062981855ae362
MD5 52709ce967ca0b1fc4399a8590396078
BLAKE2b-256 8a40bcbacdfdcd976168c9432378b24b39ac2e9493cc8b4100886427b48f5aeb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for statedict2pytree-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e4bffca10f8c726a07a8cee985ddd0aaa1be68d6f04a53607bc8319a8af1b4d8
MD5 509845c2b78c8d369779d2100e88de96
BLAKE2b-256 4390391a155f57f8c73a8473803612c6955916c497f96b665aae5609e162f416

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