Skip to content

CLI Flags, JSON configuration files, and default values #79

Open
@lemonzi

Description

@lemonzi

The current setup with some parameters specified as CLI flags and others in the JSON file is not optimal. There are two competing needs:

  • We would like to group related parameters in a JSON file so that it's easy to share model configurations with the community. Attaching the JSON file to a saved checkpoint makes it trivial to replicate experiments and test networks that others with more resources have trained, thus helping democratize the platform.
  • Changing individual parameters during development should be very, very easy.

We should find a way to accommodate both. I propose:

  • All parameters are defined as flags.
  • A list of JSON files are read sequentially and merged, and finally the supplied flags are merged with the combined JSON dictionary for manual overrides.
  • We would have a JSON file with model parameters, a JSON file with training parameters (learning rate, etc.), and users could add another one with their specific overrides.

It still doesn't feel optimal, though. Any suggestions?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions