Highly extensible, GPU-supported Learning Vector Quantization (LVQ) toolbox built using Tensorflow 2.x and its Keras API.
Project description
ProtoFlow: Prototype Learning in TensorFlow
PyTorch users, please see: ProtoTorch
Description
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.
Installation
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[docs,others,tests]
To install the bleeding-edge features and improvements before they are release on PyPI, run
git clone https://github.com/si-cim/protoflow.git
git checkout dev
cd protoflow
pip install -e .[docs,others,tests]
For gpu support, run
pip install -U protoflow[gpu]
Documentation
The documentation is available at https://www.protoflow.ml/en/latest/. Should that link not work try https://protoflow.readthedocs.io/en/latest/.
Usage
For researchers
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.
For engineers
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.
Bibtex
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}}
}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.