Skip to main content

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

  1. Use conda for environment management

conda create -n infotheory python=3.10

  1. 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

  1. 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

  1. 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.

  1. 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

  1. Make a fork and clone the fork
  2. git remote add upstream https://github.com/Waller-Lab/EncodingInformation.git
  3. git config pull.rebase false
  4. Use pull requests to contribute
  5. git pull upstream main to 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)

Source distribution for encoding-information 0.1.1
File Size Uploaded Provenance
encoding_information-0.1.1.tar.gz 65.2 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for encoding-information 0.1.1
File Interpreter ABI Platform
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.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page