This project is no longer actively maintained. Please consider using ProtoTorch instead.
This is a Python toolbox brewed at the Mittweida University of Applied Sciences in Germany for bleeding-edge research in Prototype-based Machine Learning methods and other interpretable models. The focus of ProtoFlow is ease-of-use, extensibility and speed.
ProtoFlow can be easily installed using pip
. To install the latest version, run
pip install -U protoflow
To also install the extras, run
pip install -U protoflow[all]
Note: If you're using ZSH, the square brackets [ ]
have to be escaped like so: \[\]
, making the install command pip install -U prototorch\[all\]
.
To install the bleeding-edge features and improvements before they are release on PyPI, run
git clone https://github.com/si-cim/protoflow.git
cd protoflow
git checkout dev
pip install -e .[all]
For gpu support, additionally run
pip install -U protoflow[gpu]
or simply install tensorflow-gpu
manually.
The documentation is available at https://www.protoflow.ml/en/latest/. Should that link not work try https://protoflow.readthedocs.io/en/latest/.
ProtoFlow is modular. It is very easy to use the modular pieces provided by ProtoFlow, like the layers, losses, callbacks and metrics to build your own prototype-based(instance-based) models. These pieces blend-in seamlessly with Keras allowing you to mix and match the modules from ProtoFlow with other Keras modules.
ProtoFlow comes prepackaged with many popular Learning Vector Quantization (LVQ)-like algorithms in a convenient API. If you would simply like to be able to use those algorithms to train large ML models on a GPU, ProtoFlow lets you do this without requiring a black-belt in high-performance Tensor computation.
If you would like to cite the package, please use this:
@misc{Ravichandran2020a,
author = {Ravichandran, J},
title = {ProtoFlow},
year = {2020},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/si-cim/protoflow}}
}