Mostly copy/pasted from rllab's viskit.
Added some features, like being able to split on multiple hyperparameters.
Usage
python viskit/frontend.py path/to/dir
This assumes the structure of dir is something like:
path/ to/ dir/ exp1/ progress.csv variant.json exp2/ progress.csv variant.json
Note that this support wildcard, i.e.
python viskit/frontend.py path/to/dir/exp*
Installation
Install this repository using pip:
pip install -e .
pip install Jinja2==2.11.2
❗ freetype and png libraries are required. They can be installed as follows:
sudo apt-get install libfreetype6-dev libxft-dev libpng-dev
orbrew install pkg-config freetype libxft
❗ cannot import name 'soft_unicode' from 'markupsafe' ->
pip install markupsafe==2.0.1
.
❗ name 'json' from 'itsdangerous' ->
pip install itsdangerous==2.0.1
Usage
Custom filter exposes following data with exp;
- variant.json as dict with exp.params
lambda exp: exp.params['trainer_kwargs']['n_iter'] == 20
- variant.json with flat_params
lambda exp: env.flat_params['learning_strategy.$class'] == 'core.learning_rate_strategy.decay.LinearDecay' or env.flat_params['bk_kwargs.max_tree_depth'] == 5
- progress.csv as progress
lambda exp: exp.progress['iteration'] is not None