Skip to main content

An experimental framework to run pytorch experiments

Project description

## firelab (version 0.0.26) ### About Framework for running DL experiments with pytorch. Provides the following useful stuff: - parallel hyperparameters optimization - allows to start/continue your experiment with easy commands from yml config file - easier to save checkpoints, write logs and visualize training - useful utils for HP tuning and working with pytorch (look them up in utils.py)

### Installation ` pip install firelab `

### Future plans [ ] Run in daemon. [ ] Implement firelab ls command [ ] Easier profiling (via contexts?) [ ] There are some interseting features in https://github.com/vpj/lab. [ ] Add commit hash to summary [ ] Create new branch/commit for each experiment? [ ] More meaningful error messages. [ ] Does model release GPU after training is finished (when we do not use HPO)? [ ] Proper handling of errors in HPO: should we fail on the first exception? Should we try/catch result.get() in process pool? [x] Make trainers run without config.firelab, this will make it possible to run trainer from python [ ] Does continue_from_iter work?

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

### Useful classes - BaseTrainer — controls the experiment: loads data, runs/stops training, performs logging, etc

Cool staff firelab can do: - Reduces amount of boilerplate code you write for training/running experiments - Keep all experiment arguments and hyperparameters in a expressive config files - Visualize your metrics with tensorboard through [tensorboardX](https://github.com/lanpa/tensorboard-pytorch) - Save checkpoints and logs with ease. - 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: #### Configs Besides your own configs, firelab adds its inner staff, which you can use or change as hyperparameter: - name of the experiment - random_seed

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

### TODO - Interactive config builder - Clone experiment/config - Add examples with several trainers in them - Why do we pass both exp_dir and exp_name everywhere in manager.py? We should care only about exp_path I suppose? - Looks like we do not need the dublicating logic of directories creation in manager.py anymore since it is in BaseTrainer - Rename BaseTrainer into Trainer?

Project details


Download files

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

Source Distribution

firelab-0.0.26.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

firelab-0.0.26-py3-none-any.whl (21.2 kB view details)

Uploaded Python 3

File details

Details for the file firelab-0.0.26.tar.gz.

File metadata

  • Download URL: firelab-0.0.26.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.4

File hashes

Hashes for firelab-0.0.26.tar.gz
Algorithm Hash digest
SHA256 2f6aa00d6a8927b443b112303737677cbb540e8fc670dd10f6731521240d1f78
MD5 ffe090b325fce77c41418a750c597bbc
BLAKE2b-256 f03811ea9ad0937a67b7bb2525400832c73bbac8ea2ccd05c81350f28b2a252a

See more details on using hashes here.

File details

Details for the file firelab-0.0.26-py3-none-any.whl.

File metadata

  • Download URL: firelab-0.0.26-py3-none-any.whl
  • Upload date:
  • Size: 21.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.4

File hashes

Hashes for firelab-0.0.26-py3-none-any.whl
Algorithm Hash digest
SHA256 7b132251b867e8d1026761ecc55a81b86ecf7073539f3fa19e74f27b8f0f71ea
MD5 a924dff78ad2b8fc79e83022997fe4de
BLAKE2b-256 fb2c5b2f4ed8fc1c0dfec6fe1fb693a16952cee0dcbd3495dbe570fa6d55fef6

See more details on using hashes here.

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