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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f6aa00d6a8927b443b112303737677cbb540e8fc670dd10f6731521240d1f78 |
|
MD5 | ffe090b325fce77c41418a750c597bbc |
|
BLAKE2b-256 | f03811ea9ad0937a67b7bb2525400832c73bbac8ea2ccd05c81350f28b2a252a |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b132251b867e8d1026761ecc55a81b86ecf7073539f3fa19e74f27b8f0f71ea |
|
MD5 | a924dff78ad2b8fc79e83022997fe4de |
|
BLAKE2b-256 | fb2c5b2f4ed8fc1c0dfec6fe1fb693a16952cee0dcbd3495dbe570fa6d55fef6 |