Metadata-Version: 2.1
Name: Overcomplete
Version: 0.0.2
Summary: Toolbox for experimenting with (Overcomplete) Dictionary Learning for Vision model
License: MIT
Author: Thomas Fel
Author-email: tfel@g.harvard.edu
Requires-Python: >=3.10
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: einops
Requires-Dist: matplotlib
Requires-Dist: numpy
Requires-Dist: opencv-python
Requires-Dist: scikit-image
Requires-Dist: scikit-learn (>=1.2.0,<2.0.0)
Requires-Dist: timm
Requires-Dist: torch
Requires-Dist: torchvision
Description-Content-Type: text/markdown

<div align="center">
    <img src="assets/banner.png" width="75%" alt="Horama logo" align="center" />
</div>

<div align="center">
    <a href="#">
        <img src="https://img.shields.io/badge/Python-3.8, 3.9, 3.10-efefef">
    </a>
    <a href="https://github.com/fel-thomas/Overcomplete/actions/workflows/lint.yml/badge.svg">
        <img alt="PyLint" src="https://github.com/fel-thomas/Overcomplete/actions/workflows/lint.yml/badge.svg">
    </a>
    <a href="https://github.com/fel-thomas/Overcomplete/actions/workflows/tox.yml/badge.svg">
        <img alt="Tox" src="https://github.com/fel-thomas/Overcomplete/actions/workflows/tox.yml/badge.svg">
    </a>
    <a href="https://github.com/fel-thomas/Overcomplete/actions/workflows/publish.yml/badge.svg">
        <img alt="Pypi" src="https://github.com/fel-thomas/Overcomplete/actions/workflows/publish.yml/badge.svg">
    </a>
    <a href="https://pepy.tech/project/overcomplete">
        <img alt="Pepy" src="https://static.pepy.tech/badge/overcomplete">
    </a>
    <a href="#">
        <img src="https://img.shields.io/badge/License-MIT-efefef">
    </a>
</div>

Overcomplete is a compact research library in Pytorch designed to study (Overcomplete)-Dictionary learning methods to extract concepts from large Vision models. In addition, this repository also introduces various visualization methods, attribution and metrics. However, Overcomplete emphasizes **experimentation**.

# 🚀 Getting Started with Overcomplete

Overcomplete requires Python 3.8 or newer and several dependencies, including Numpy. It supports both only Torch. Installation is straightforward with Pypi:

```bash
pip install overcomplete
```

With Overcomplete installed, you can dive into any optimisation based dictionary learning method to extract visual features. The API is designed to be intuitive, requiring only a few hyperparameters to get started.

Example usage:

```python
import torch
import overcomplete
todo
```

# Notebooks 

- Starter Notebook: <a href="https://colab.research.google.com/drive/todo" target="_blank"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open in Google Colab" style="vertical-align: middle;"></a>


# Citation

```
@article{todo,
}
```


# Authors

- [Thomas Fel](https://thomasfel.fr) - thomas_fel@brown.edu, PhD Student, Brown University & DEEL (ANITI)
- [Remi Cadène](todo) - todo
