Metadata-Version: 2.1
Name: pycandle
Version: 1.0
Summary: PyCandle is a lightweight library for pytorch that makes running experiments easy, structured, repeatable and avoids boilerplate code.
Home-page: https://github.com/cschoeller/pycandle
Author: Christoph Schöller
License: UNKNOWN
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Requires-Python: >=3.5
Description-Content-Type: text/markdown
Requires-Dist: torch (>=1.2.0)
Requires-Dist: numpy (>=1.16.4)
Requires-Dist: torchvision (>=0.2.1)
Requires-Dist: matplotlib (>=3.0.3)

![# PyCandle](logo.png)

PyCandle is a lightweight library for pytorch that makes running experiments easy, structured, repeatable and avoids boilerplate code. It maintains flexibilty and allows to train also more complex models like recurrent or generative neural networks conveniently.

### Usage

This code snippet creates a timestamped directory for the current experiment, runs the training of the model, creates a backup of all used code, logs current git hash and forks console output into a log file:

```python
model = Net().cuda()
experiment = Experiment('mnist_example')
train_loader = load_dataset(batch_size_train=64)
optimizer = torch.optim.Adam(model.parameters(), lr=0.01)
model_trainer = ModelTrainer(model, optimizer, F.nll_loss, 20, train_loader, gpu=0)
model_trainer.start_training()
```

A complete example for training a model to classify hand-written MNIST digits can be found in [minimal_example/mnist.py](https://github.com/cschoeller/pycandle/blob/master/minimal_example/mnist.py).

### Installation

#### Via PIP

The easiest way to install pycandle is through pip:

``
pip install pycandle
``

### Requirements

We tested PyCandle with the dependency versions listed here. However, PyCandle can also work with newer versions if they are downward compatible.

* Python 3.5.4
* PyTorch 0.4.1
* cudnn 7.0.5
* torchvision 0.2.1 (for examples)
* matplotlib 2.1.1 (for examples)


