/yahp

hyperparameter management

Primary LanguagePythonApache License 2.0Apache-2.0

❗ Deprecation Notice

YAHP has been deprecated, and removed from Composer in v0.11. We recommend users migrate to OmegaConf or Hydra as alternatives.

YAHP: Yet Another HyperParameter

YAHP introduces yet another hyperparameter management tool.

Features

  • Utilizes dataclasses to describe the data model.
  • Supports int, float, bool, str, and Enums; along with lists and nullable fields
  • Fields can be optional (with a default) or required
  • Auto-generates YAML templates, serializes the data model to YAML, and loads YAML into the data model.
  • Allows for nested dataclasses -- even with abstract classes
  • Adds an argparse CLI

Getting Started

YAHP Command Line

Whenever Hparams.create() is invoked, YAHP adds the following command line options:

  • -h, --help: Print help and exit.
  • -f, --file": Load data from this YAML file into the Hparams.
  • -s, --save_template: Generate and dump a YAML template to the specified file (defaults to stdout) and exit.
  • -i, --interactive: Whether to generate the template interactively. Only applicable if --save_template is present.
  • -c, --concise: Skip adding documentation to the generated YAML. Only applicable if --save_template is present.
  • -d, --dump: Dump the resulting Hparams to the specified YAML file (defaults to stdout) and exit.