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.

Files for firelab, version 0.0.1
Filename, size File type Python version Upload date Hashes
Filename, size firelab-0.0.1-py3.6.egg (10.5 kB) File type Egg Python version 3.6 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page