Metadata-Version: 2.4
Name: indpensim_bench
Version: 0.1.0
Summary: Raman latent compression and out-of-distribution penicillin soft-sensor models
License-Expression: Apache-2.0
Project-URL: Repository, https://github.com/Gab404/Latent_Compression_OOD_Soft_Sensor
Project-URL: Issues, https://github.com/Gab404/Latent_Compression_OOD_Soft_Sensor/issues
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.24
Requires-Dist: pandas>=2.0
Requires-Dist: scipy>=1.10
Requires-Dist: scikit-learn>=1.3
Requires-Dist: torch>=2.4
Requires-Dist: torchdiffeq>=0.2.5
Requires-Dist: PyYAML>=6
Requires-Dist: joblib>=1.3
Requires-Dist: matplotlib>=3.7
Requires-Dist: tqdm>=4.65
Provides-Extra: liquid
Requires-Dist: ncps>=1.0.1; extra == "liquid"
Provides-Extra: mamba
Requires-Dist: mamba-ssm>=2.2; extra == "mamba"
Requires-Dist: causal-conv1d>=1.5; extra == "mamba"
Provides-Extra: cde
Requires-Dist: torchcde>=0.2.5; extra == "cde"
Provides-Extra: analysis
Requires-Dist: shap>=0.45; extra == "analysis"
Requires-Dist: seaborn>=0.13; extra == "analysis"
Requires-Dist: pysindy>=2; extra == "analysis"
Dynamic: license-file

# Latent Compression OOD Soft Sensor

Research models for predicting penicillin and biomass from Raman spectra on
IndPenSim V3: frozen CDAE/CVAE/beta-VAE/PCA/PLS encoders and physics-informed
LSTM models, with neural ODE and optional Mamba and liquid variants.

## Install

```bash
pip install indpensim_bench
```

Python 3.10 or later is required. Install the PyTorch build appropriate for your
hardware if you need a specific CUDA runtime. Optional variants:

```bash
pip install "indpensim_bench[liquid]"
pip install "indpensim_bench[cde]"
```

The `mamba` extra requires a compatible CUDA/Linux build environment.

## Library usage

```python
from indpensim_bench.config import Config
from indpensim_bench.algorithms import get_algorithm
from importlib.resources import files

config_path = files("indpensim_bench").joinpath(
    "configs/beta_vae_pi_lstm.yaml"
)
cfg = Config.from_yaml(config_path)
algorithm_class = get_algorithm("beta_vae_pi_lstm")
```

Configuration paths for datasets and checkpoints must be adapted to your local
files. The dataset, trained checkpoints and fitted scalers are not included.
Obtain IndPenSim V3 separately from
[the dataset provider](http://www.industrialpenicillinsimulation.com/).

## Reproduce the benchmark

The wheel provides the Python library. The source distribution also includes
the original `src/`, `train.py`, `evaluate.py`, `run_seeds.py`, `scripts/`,
configuration files and the full benchmark README. Extract the source archive
and run these workflows from its root using the original README instructions.
The original requirements file records the research environment; installing
the library uses the smaller dependency list in `pyproject.toml`.

Existing checkpoints serialized with imports under `src` should be loaded from
the original research source tree; automatic checkpoint migration is not provided.

[Source repository and full documentation](https://github.com/Gab404/Latent_Compression_OOD_Soft_Sensor)
