Highly extensible, GPU-supported Learning Vector Quantization (LVQ) toolbox built using Tensorflow 2.x and its Keras API.
Project description
ProtoFlow
ProtoFlow is a TensorFlow-based Python toolbox for bleeding-edge research in prototype-based machine learning algorithms.
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 Learning Vector Quantization (LVQ) methods. Although, there are other (perhaps more extensive) LVQ toolboxes available out there, the focus of ProtoFlow is ease-of-use, extensibility and speed.
Many popular prototype-based Machine Learning (ML) algorithms like K-Nearest Neighbors (KNN), Generalized Learning Vector Quantization (GLVQ) and Generalized Matrix Learning Vector Quantization (GMLVQ) including the recent Learning Vector Quantization Multi-Layer Network (LVQMLN) are implemented as Tensorflow models using the Keras API.
Installation
ProtoFlow can be easily installed using pip
.
pip install -U protoflow
To also install the extras, use
pip install -U protoflow[examples,other,tests]
To install the bleeding-edge features and improvements:
git clone https://github.com/si-cim/prototorch.git
git checkout dev
cd prototorch
pip install -e .
Documentation
The documentation is available at https://protoflow.readthedocs.io/en/latest/
Usage
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 LVQ algorithms in a convenient API, with more algorithms and techniques coming soon. 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.
Source Distribution
Built Distribution
Hashes for protoflow-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51ef2e680f6d188e778037e48cfa00f05665d5d7586ce84648f7282e4bb48b76 |
|
MD5 | 158551a9fd650f8dd54eb624e902ef71 |
|
BLAKE2b-256 | 0e2c868e4d49796fbdc27ab0926f3a0bb05ea80426dfe887c04e4674e16a4340 |