Mutual Information Estimation Installation Guide
The minimal installation requires jax and tensorflow. Installing jax after other deep learning packages seems to work best due to difficulties with CUDA and CuDNN installations.
Installation varies according to system specifications. This is an incomplete guide, providing directions for our system, running Ubuntu 20.04.6 x86_64, CUDA 12.3, CUDNN >=8.9.
Python 3.10 instructions
- Use conda for environment management
conda create -n infotheory python=3.10
- Install pytorch if needed, including CUDA version (here, 12.1). Conda installation works better than pip.
conda install pytorch torchvision pytorch-cuda=12.1 -c pytorch -c nvidia
- Install tensorflow, this seems to work more reliably than just
pip install tensorflow(python 3.10 version).
pip install https://storage.googleapis.com/tensorflow/versions/2.16.1/tensorflow-2.16.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Install jax. Manually installing jaxlib and then jax used to work but does not anymore. This installed jax 0.4.29.
pip install -U "jax[cuda12]"
This installs a fairly new version of jax, which doesn't support the outdated ml-dtypes version (0.3.2) that tensorflow needs, instead using the newest ml-dtypes version (0.4.0). Tensorflow runs with "Out of Range" warnings, but seems to work fine within the estimation framework. Downgrading ml-dtypes to work with tensorflow is incompatible with jax. In the future, tensorflow dependencies will be removed. It may be possible to downgrade the jax version but attempts to do so resulted in failed installs with no CuDNN found.
- Install flax
pip install flax
Python 3.11 instructions
Same as python 3.10, seems to work fine but hasn't been rigorously tested. Instead of the tensorflow command used above, find the one for the relevant python version from https://www.tensorflow.org/install/pip.
pip install https://storage.googleapis.com/tensorflow/versions/2.16.1/tensorflow-2.16.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Contributing
- Make a fork and clone the fork
git remote add upstream https://github.com/Waller-Lab/EncodingInformation.gitgit config pull.rebase false- Use pull requests to contribute
git pull upstream mainto pull latest updates from the main repo
Metadata
Release files for encoding-information 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| encoding_information-0.1.1.tar.gz | 65.2 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| encoding_information-0.1.1-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 65.2 MB
Release files / encoding_information-0.1.1.tar.gz
| Download URL | encoding_information-0.1.1.tar.gz |
|---|---|
| Size | 65.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d5dc350467d2e9906fcf975333e5aba9caa41507f1c6c75db0edbae9ac5c81ab
|
|
BLAKE2b-256 checksum How to use checksums |
426e74d8935ea2d4bb0e19a25c953c2323f148471d4d4f9d55ea8521fb8e8fe8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.6
|
Release files / encoding_information-0.1.1-py2.py3-none-any.whl
| Download URL | encoding_information-0.1.1-py2.py3-none-any.whl |
|---|---|
| Size | 35.3 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
6e9da1faf7810949f69a3047fcb1a417b26cff8161648cec8557503a0aa29d83
|
|
BLAKE2b-256 checksum How to use checksums |
b506315488cfce44a21ec8bbca722747e8b37cc9d8c73644496e9c67689813f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.6
|
Security for encoding-information 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.