Hydra solves the problem of your needing to specify a new output directory for each run, by creating a directory for each run and executing your code within that directory.
The working directory is used to:
- Store the output for the application (For example, a database dump file)
- Store the Hydra output for the run (Configuration, Logs etc)
Every time you run the app, a new working directory is automatically created:
Let's take a look at one of those working directories:
We have the Hydra output directory (
.hydra by default) and the application log file.
Inside the configuration output directory we have:
config.yaml: A dump of the user specified configuration
hydra.yaml: A dump of the Hydra configuration
overrides.yaml: The command line overrides used
And in the main output directory:
my_app.log: A log file created for this run
You can still access the original working directory if you need to:
Working directory can be customized.