Because in machine learning sensible defaults don't last long. Especially when choosing hyperparameters:
What's more, there are so many hyperparameters that quickly become unmanageable as command line options. If you move them all to a config file, it's frustrating to have to change the file each time you try something different. So why not enjoy the best of both worlds?
Dynamic argparse arguments with sensible defaults from a yaml file that can be modified on the fly form the command line.
mlconf in a nutshell
- Dynamically set a lot of sane defaults from a YAML file.
- Be able to override any number of the defaults from the command line.
- Make the returned object easily accessible using . notation.
- Allows for instantiation of classes with reflection using the $classname and $module parameters at a later time by using the blueprint's build() command.
pip install mlconf
For example usage see my post.
Tests are run using tox. Versions of python tested are Python 2.7, 3.4 and 3.6. To run the tests, run the following:
git clone https://github.com/andreasgrv/mlconf cd mlconf pip install -r requirements.txt pip install . tox
3 clause BSD, see LICENSE.txt file
Image is a neural styled portrait of Ice Age celebrity sabre-tooth squirrel, scrat.