Other Configs
Other configs are less related to the experiment, including:
Configuration for Hydra itself;
Miscellaneous configs, such as config tree printing.
They are sub-configs under the index config of all kinds of experiments. To configure a custom one, you need to create a YAML file in hydra/
or misc/
folder. We don’t give examples here, please keep the default ones of those in the example configs, unless you have special needs to customize them.
Configs for Hydra
Here is the default Hydra config in the example configs:
configs/hydra/default.yaml
# configs for Hydra itself
# https://hydra.cc/docs/configure_hydra/intro/
# Hydra is automatically configured with defaults. These are overrides.
# enable hydra-colorlog
defaults:
- override job_logging: colorlog
- override hydra_logging: colorlog
job_logging:
root:
level: INFO # set pylogger level
handlers:
file:
filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log
run:
dir: ${output_dir}
These configs are important for our Hydra-driven system to work properly. Customizable fields include:
job_logging/root/level
: the logging level for the entire experiment:DEBUG
,INFO
,WARNING
,ERROR
,CRITICAL
. There are many loggings with these different levels in the codes, you can set the level to filter out some of them. The loggings will be both printed in the console and a.log
file in the output folder (as shown in the Output Results (CL) section).
Config Tree
We can print the config as Rich Tree form both in the console and output folder (as shown in the Output Results (CL) section). The config tree is also customizable, whose configs are in misc/config_tree/
sub-sub-config.
Required config fields:
Field | Description |
---|---|
print |
Whether to print the config tree in the console. |
save |
Whether to save the config tree in the output folder. |
save_path |
The path to save the config tree in the output folder. |
style , guide_style |
The style of the config tree. Please refer to the Rich documentation for more details. |
fields_order |
the order of the fields to be shown in the config tree. |
Metadata
Some metadata are specified in misc/
.
timestamp
: the timestamp of the experiment. We use the timestamp to name the output folder, so that each experiment can be distinguished by its timestamp. We set it as${now:%Y-%m-%d_%H-%M-%S}
. For example, the output folder for theexample.yaml
experiment isoutputs/example/${misc.timestamp}
, which effectively isoutputs/example/2023-10-01_12-00-00
if the timestamp is2023-10-01_12-00-00
.