2020-09-24 09:54:32 +00:00
# ProtoTorch: Prototype Learning in PyTorch
2020-02-17 17:00:12 +00:00
2020-09-24 09:54:32 +00:00
![ProtoTorch Logo ](https://prototorch.readthedocs.io/en/latest/_static/horizontal-lockup.png )
2020-02-17 17:00:12 +00:00
2020-04-06 19:38:47 +00:00
[![Build Status ](https://travis-ci.org/si-cim/prototorch.svg?branch=master )](https://travis-ci.org/si-cim/prototorch)
2020-04-08 20:34:26 +00:00
![tests ](https://github.com/si-cim/prototorch/workflows/tests/badge.svg )
2020-04-11 12:22:34 +00:00
[![GitHub tag (latest by date) ](https://img.shields.io/github/v/tag/si-cim/prototorch?color=yellow&label=version )](https://github.com/si-cim/prototorch/releases)
[![PyPI ](https://img.shields.io/pypi/v/prototorch )](https://pypi.org/project/prototorch/)
2020-04-06 16:07:15 +00:00
[![codecov ](https://codecov.io/gh/si-cim/prototorch/branch/master/graph/badge.svg )](https://codecov.io/gh/si-cim/prototorch)
2020-04-11 12:22:34 +00:00
[![Codacy Badge ](https://api.codacy.com/project/badge/Grade/76273904bf9343f0a8b29cd8aca242e7 )](https://www.codacy.com/gh/si-cim/prototorch?utm_source=github.com& utm_medium=referral& utm_content=si-cim/prototorch& utm_campaign=Badge_Grade)
![PyPI - Downloads ](https://img.shields.io/pypi/dm/prototorch?color=blue )
2020-04-06 17:59:52 +00:00
[![GitHub license ](https://img.shields.io/github/license/si-cim/prototorch )](https://github.com/si-cim/prototorch/blob/master/LICENSE)
2020-02-17 17:00:12 +00:00
2020-09-24 09:54:32 +00:00
*Tensorflow users, see:* [ProtoFlow ](https://github.com/si-cim/protoflow )
2020-02-17 17:00:12 +00:00
## Description
This is a Python toolbox brewed at the Mittweida University of Applied Sciences
2020-09-24 09:54:32 +00:00
in Germany for bleeding-edge research in Prototype-based Machine Learning
methods and other interpretable models. The focus of ProtoTorch is ease-of-use,
extensibility and speed.
2020-02-17 17:00:12 +00:00
## Installation
ProtoTorch can be installed using `pip` .
2020-04-11 12:22:34 +00:00
```bash
2020-07-30 09:19:02 +00:00
pip install -U prototorch
```
To also install the extras, use
```bash
2021-02-10 16:02:02 +00:00
pip install -U prototorch[all]
2020-02-17 17:00:12 +00:00
```
2021-02-10 16:02:02 +00:00
*Note: If you're using [ZSH ](https://www.zsh.org/ ), the square brackets `[ ]`
have to be escaped like so: `\[\]` , making the install command `pip install -U
prototorch\[all\]`.*
2020-03-30 11:30:10 +00:00
To install the bleeding-edge features and improvements:
2020-04-11 12:22:34 +00:00
```bash
2020-03-30 11:30:10 +00:00
git clone https://github.com/si-cim/prototorch.git
git checkout dev
cd prototorch
2021-02-10 16:02:02 +00:00
pip install -e .[all]
2020-03-30 11:30:10 +00:00
```
2020-09-24 09:54:32 +00:00
## Documentation
The documentation is available at < https: / / prototorch . readthedocs . io / en / latest / >
2020-02-17 17:00:12 +00:00
## Usage
2020-09-24 09:54:32 +00:00
### For researchers
2020-02-17 17:00:12 +00:00
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
2020-09-24 09:54:32 +00:00
Keras allowing you to mix and match the modules from ProtoFlow with other
modules in `torch.nn` .
### For engineers
ProtoTorch 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, ProtoTorch lets you
do this without requiring a black-belt in high-performance Tensor computing.
2020-02-17 17:00:12 +00:00
2020-04-06 17:59:52 +00:00
## Bibtex
If you would like to cite the package, please use this:
```bibtex
2020-09-24 09:54:32 +00:00
@misc {Ravichandran2020b,
2020-04-06 17:59:52 +00:00
author = {Ravichandran, J},
title = {ProtoTorch},
year = {2020},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/si-cim/prototorch}}
}