semvec/pypi-packages huggingface dataset:
joplen 1.0.3
Implementation of Joint Optimization of Piecewise Linear Ensembles (JOPLEn).
Requires Python: >=3.10

# README

<div align="center">
<img src="./assets/joplen_logo.svg" width="300">
</div>

---


This is the code for the [IEEE MLSP 2024](https://2024.ieeemlsp.org) workshop paper "Joint Optimization of Piecewise Linear Ensembles" [[arxiv](https://arxiv.org/abs/2405.00303)] [IEEE (coming soon)].
For now, please cite as

```bibtex
@misc{raymond2024,
    title={Joint Optimization of Piecewise Linear Ensembles},
    author={Matt Raymond and Angela Violi and Clayton Scott},
    year={2024},
    eprint={2405.00303},
    archivePrefix={arXiv},
    primaryClass={cs.LG},
    url={https://arxiv.org/abs/2405.00303},
}
```

The associated GitLab issue tracker is currently limited to internal use.
Please email [the current maintainer listed on PyPI](https://pypi.org/project/joplen/) with any questions or concerns, and they will open an issue on your behalf.

## Installation

### Installation via PyPI

```bash
pip install joplen
```

### Installation from source

*NOTE: `pip install -e .` will only work if you have setuptools v64 or higher and pip version 24 or higher.*

Clone the repository to your local machine, then run the following commands (which assume that you already have [Conda](https://docs.conda.io) installed):

```bash
conda create --prefix ./my_env python=3.10
conda activate ./my_env
conda config --set env_prompt '({name}) '

pip install -r requirements.txt
pip install -e .
```

JAX must be installed manually according to [this link](https://github.com/google/jax/discussions/16380) because the installation is hardware-dependent.
Please follow [these instructions](https://jax.readthedocs.io/en/latest/installation.html) to install JAX.

## Usage

Each module has example usage.
You can run them by executing the module as a script.
Note that single-task JOPLEn is much more modular than the multitask implementation.
This is for practical reasons, but there's no reason it couldn't be made more modular.

```bash
python -m JOPLEn.singletask # single-task joplen
python -m JOPLEn.multitask # multi-task joplen
python -m JOPLEn.competing # Friedman ensemble refitting
```

## Original implementation

To see the original implementation for the workshop submission, please see <https://gitlab.eecs.umich.edu/mattrmd-public/joplen-repositories/joplen-mlsp2024>.
get-context 0.1.1
Generates a single text document for a directory

# GET CONTEXT

## About
**Get Context** is a directory context generator designed to provide a structured overview of the contents of a directory and its subdirectories. It generates a single text file that lists the directory structure and the contents of text or program files, while excluding non-human-readable files such as binary or multimedia files. This tool is particularly useful for organizing and reviewing large codebases or data directories. It can also
be used to easily pass the contents of a directory to a large language AI model for further analysis.

## Installation and Usage
This program is available as the Python package "get_context". If Python is installed on your system, you should be able to run:

```
pip install get_context
```
After the package is installed, the program can be run on the command line by typing:

```
get_context <directory> [file_extensions...]
```

The program takes the directory as the first argument and can optionally filter files by specified extensions. For example:

```
get_context . .py .txt
```

This will generate a text file containing the directory structure and the contents of `.py` and `.txt` files within the specified directory.

## Disclaimer
This program is still in development and is currently buggy. Further testing and implementation is required before it can be used as a
fully-fledged, reliable product.

## Attributions
This program uses both Python’s built-in libraries and external libraries for various functionalities:

* **File and Directory Handling:** The program uses Python’s built-in `os` and `mimetypes` libraries for file and directory manipulation.
* **Text Encoding and Decoding:** The program uses Python's built-in `codecs` and `io` libraries to handle different text encodings.
* **Pattern Matching:** The program uses the external `pathspec` library to handle file exclusion patterns, specifically for interpreting and applying `.gitignore`-style patterns.


## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
encoding-information 0.1.1
Estimating encoded information

# 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`

2. 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`

3. 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`


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

5. 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
encoding_information 0.1.0
Estimating encoded information

# 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`

2. 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`

3. 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`


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

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