Metadata-Version: 2.1
Name: protoflow
Version: 0.1.0
Summary: Highly extensible, GPU-supported Learning Vector Quantization (LVQ) toolbox built using Tensorflow 2.x and its Keras API.
Home-page: https://github.com/theblackfly/protoflow
Author: Jensun Ravichandran
Author-email: jjensun@gmail.com
License: MIT
Download-URL: https://github.com/theblackfly/protoflow.git
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Description-Content-Type: text/markdown
Requires-Dist: tensorflow (==2.0.0)
Requires-Dist: numpy (>=1.9.1)
Requires-Dist: matplotlib
Requires-Dist: sklearn
Provides-Extra: other
Requires-Dist: xlrd ; extra == 'other'
Requires-Dist: pandas ; extra == 'other'
Requires-Dist: seaborn ; extra == 'other'
Requires-Dist: imageio ; extra == 'other'
Provides-Extra: tests
Requires-Dist: pytest ; extra == 'tests'

# ProtoFlow

ProtoFlow is a TensorFlow-based Python toolbox for bleeding-edge research in prototype-based machine learning algorithms.

## 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 installed using `pip`.
```
pip install protoflow
```

## 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.


