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-2.0.1.tar.gz (103.7 kB view details)

Uploaded Source

Built Distribution

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

statedict2pytree-2.0.1-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: statedict2pytree-2.0.1.tar.gz
  • Upload date:
  • Size: 103.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for statedict2pytree-2.0.1.tar.gz
Algorithm Hash digest
SHA256 61829bb08a791d44eaf54934a92cdfd552903736071e270cf92cbd0bfad3d71f
MD5 edc0dff648179128bc6cdef4ffea3532
BLAKE2b-256 c3067c9d72f540f1e70da044be794772e32bcf0f765da21f5e92145264392a17

See more details on using hashes here.

File details

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

File metadata

  • Download URL: statedict2pytree-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for statedict2pytree-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a0aae04ea3e23d30533d1c0163d1ea2179955565feb6998c5d0901b1f75ac2f7
MD5 39d9b1bd7a34acc53dad5e619ca38797
BLAKE2b-256 1b83f0631a3e4e0f4777d3be569821b056eff6a87a6ccde203a5575f999a146c

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