Estimating encoded information
Project description
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.git
git config pull.rebase false
- Use pull requests to contribute
git pull upstream main
to pull latest updates from the main repo
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file encoding_information-0.1.1.tar.gz
.
File metadata
- Download URL: encoding_information-0.1.1.tar.gz
- Upload date:
- Size: 65.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5dc350467d2e9906fcf975333e5aba9caa41507f1c6c75db0edbae9ac5c81ab |
|
MD5 | 712609a6072a55fb8a638491a7efec38 |
|
BLAKE2b-256 | 426e74d8935ea2d4bb0e19a25c953c2323f148471d4d4f9d55ea8521fb8e8fe8 |
File details
Details for the file encoding_information-0.1.1-py2.py3-none-any.whl
.
File metadata
- Download URL: encoding_information-0.1.1-py2.py3-none-any.whl
- Upload date:
- Size: 35.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e9da1faf7810949f69a3047fcb1a417b26cff8161648cec8557503a0aa29d83 |
|
MD5 | c6fe0555c903201dc3c3b163addda0bb |
|
BLAKE2b-256 | b506315488cfce44a21ec8bbca722747e8b37cc9d8c73644496e9c67689813f2 |