my fork of prototorch_models
Go to file
Jensun Ravichandran 3fa1fb54f1 Refactor tests
2021-05-25 21:28:05 +02:00
docs Update tutorial 2021-05-25 20:54:07 +02:00
examples Remove normalization transform from cli example 2021-05-25 21:13:37 +02:00
prototorch/models Refactor non-gradient-lvq models into lvq.py 2021-05-25 20:37:34 +02:00
tests Refactor tests 2021-05-25 21:28:05 +02:00
.bumpversion.cfg Bump version: 0.1.6 → 0.1.7 2021-05-11 17:18:29 +02:00
.codacy.yml Add CI definitions 2021-05-10 15:34:43 +02:00
.codecov.yml Add CI definitions 2021-05-10 15:34:43 +02:00
.gitignore Ignore .pt files 2021-05-25 16:46:31 +02:00
.readthedocs.yml [DOC] Ignore Sphinx warnings until prototorch is bumped 2021-05-18 20:08:14 +02:00
.travis.yml Improve example test script (with failing example) 2021-05-21 18:48:37 +02:00
LICENSE Initial commit 2021-04-21 13:13:28 +02:00
README.md Custom non-gradient training 2021-05-18 19:49:16 +02:00
setup.py [DOC] Add tutorial 2021-05-18 19:41:58 +02:00

ProtoTorch Models

Build Status PyPI

Pre-packaged prototype-based machine learning models using ProtoTorch and PyTorch-Lightning.

Installation

To install this plugin, simply run the following command:

pip install prototorch_models

The plugin should then be available for use in your Python environment as prototorch.models.

Note: Installing the models plugin should automatically install a suitable version of ProtoTorch.

Available models

  • k-Nearest Neighbors (KNN)
  • Learning Vector Quantization 1 (LVQ1)
  • Generalized Learning Vector Quantization (GLVQ)
  • Generalized Relevance Learning Vector Quantization (GRLVQ)
  • Generalized Matrix Learning Vector Quantization (GMLVQ)
  • Limited-Rank Matrix Learning Vector Quantization (LiRaMLVQ)
  • Learning Vector Quantization Multi-Layer Network (LVQMLN)
  • Siamese GLVQ
  • Neural Gas (NG)

Work in Progress

  • Classification-By-Components Network (CBC)
  • Learning Vector Quantization 2.1 (LVQ2.1)

Planned models

  • Median-LVQ
  • Local-Matrix GMLVQ
  • Generalized Tangent Learning Vector Quantization (GTLVQ)
  • Robust Soft Learning Vector Quantization (RSLVQ)
  • Probabilistic Learning Vector Quantization (PLVQ)
  • Self-Incremental Learning Vector Quantization (SILVQ)

Development setup

It is recommended that you use a virtual environment for development. If you do not use conda, the easiest way to work with virtual environments is by using virtualenvwrapper. Once you've installed it with pip install virtualenvwrapper, you can do the following:

export WORKON_HOME=~/pyenvs
mkdir -p $WORKON_HOME
source /usr/local/bin/virtualenvwrapper.sh  # location may vary
mkvirtualenv pt

Once you have a virtual environment setup, you can start install the models plugin with:

workon pt
git clone git@github.com:si-cim/prototorch_models.git
cd prototorch_models
git checkout dev
pip install -e .[all]  # \[all\] if you are using zsh or MacOS

Note: Please avoid installing Tensorflow in this environment.

To assist in the development process, you may also find it useful to install yapf, isort and autoflake. You can install them easily with pip.

FAQ

How do I update the plugin?

If you have already cloned and installed prototorch and the prototorch_models plugin with the -e flag via pip, all you have to do is navigate to those folders from your terminal and do git pull to update.