Skip to main content

Experimental framework to run pytorch experiments

Project description

### About
Framework for running DL experiments with pytorch
Provides the following helping stuff:
- `Runner` — controls the experiment: loads data, runs/stops training, etc
- `Trainer` — trains your model (runs iterations)
- `Plotter` — runs on top of logger. To plot smth you have to log it first (this is quite obvious: we cant plot stuff without reference to it. And keeping everything in memory is not a good idea)
- `hp` — helps configuring hyperparameters.
- `configs` — configs for experiments (WIP)


### Useful commands:
- `firelab ls` — lists all running experiments
- `firelab start` / `firelab stop` / `firelab pause` / `firelab continue` — starts/stops/pauses/continues experiments

Cool staff firelab can do:
- Out-of-the-box integration with `visdom`
- Does not let you start experiments with the same configs
- Fixes random seeds for you by default (in numpy, pytorch and random). Attention: if you use other libs with other random generators, you should fix random seeds by yourself (we recommend taking it from hyperparams)

### Usage:
#### Logger
```
import firelab

logger = new firelab.Logger()
logger.log('bleu_loss', 0.8, num_iters_done=exp.num_iters_done())
logger.log('mse_loss', 0.8, num_iters_done=exp.num_iters_done())
logger.log_many('bleu_loss', num_iters_done=exp.num_iters_done())
```

#### Configs
Besides your own configs, firelab adds its inner staff, which you can use or change as hyperparameter:
- experiment name
- random seed

Experiment name determines where config is.
Experiment name can't duplicate each other.

```
from firelab import experiment

exp = Experiment()

exp.run()
# TODO: exp.run_in_jupyter(log_every_n_iters=10, log_every_n_epochs=100) — it will additionally plot

exp.config.get('max_num_iters')
```

### TODO
- Interactive config builder
- Clone experiment/config

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

firelab-0.0.1-py3.6.egg (10.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page