my fork of prototorch
Go to file
2020-07-30 11:42:37 +02:00
.github/workflows Update github action 'tests' 2020-04-14 20:19:23 +02:00
examples Update install requirements and readme 2020-07-30 11:19:02 +02:00
prototorch Make prototype_labels non-trainable Parameters 2020-04-27 13:39:27 +02:00
tests Fix int fill-value error in test_modules.py 2020-07-30 11:42:37 +02:00
.bumpversion.cfg Bump version: 0.1.1-dev0 → 0.1.1-rc0 2020-04-27 12:56:42 +02:00
.codecov.yml Add .codecov.yml and codecov badge to README.md 2020-04-06 18:07:15 +02:00
.gitignore Add setup.py and other project files 2020-02-17 18:02:52 +01:00
.travis.yml Update .travis.yml 2020-04-14 20:19:15 +02:00
LICENSE Initial commit 2020-02-07 10:11:36 +01:00
MANIFEST.in Update manifest 2020-07-13 09:32:38 +02:00
README.md Update install requirements and readme 2020-07-30 11:19:02 +02:00
RELEASE.md Add test cases to test newly added features 2020-04-27 12:49:54 +02:00
requirements.txt Remove some requirements from requirements.txt 2020-04-15 12:12:44 +02:00
setup.py Update install requirements and readme 2020-07-30 11:19:02 +02:00
tox.ini Update tox.ini to use coverage 2020-04-06 21:05:57 +02:00

ProtoTorch

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

Build Status tests GitHub tag (latest by date) PyPI codecov Codacy Badge PyPI - Downloads GitHub license

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) and potentially other prototype-based methods. Although, there are other (perhaps more extensive) LVQ toolboxes available out there, the focus of ProtoTorch 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) are implemented using the "nn" API provided by PyTorch.

Installation

ProtoTorch can be installed using pip.

pip install -U prototorch

To also install the extras, use

pip install -U prototorch[datasets,examples,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 .

Usage

ProtoTorch is modular. It is very easy to use the modular pieces provided by ProtoTorch, like the layers, losses, callbacks and metrics to build your own prototype-based(instance-based) models. These pieces blend-in seamlessly with numpy and PyTorch to allow you mix and match the modules from ProtoTorch with other PyTorch modules.

ProtoTorch 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, ProtoTorch 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{Ravichandran2020,
  author = {Ravichandran, J},
  title = {ProtoTorch},
  year = {2020},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/si-cim/prototorch}}
}