Other Configs
Other configs are less related to the experiment. They include:
- Configuration for Hydra;
- Miscellaneous configs, such as config tree printing.
They are sub-configs under the index config of:
- Continual learning main experiment and evaluation
- Continual learning full experiment, the reference experiments and evaluation
- Continual unlearning main experiment and evaluation
- Continual unlearning full experiment, the reference experiments and evaluation
- Multi-task learning experiment and evaluation
- Single-task learning experiment and evaluation
To configure a custom one, create a YAML file in the hydra/
or misc/
folder. We do not provide examples here; keep the defaults from the example configs unless you need to customize them.
Configs for Hydra
Here is the default Hydra config in the example configs:
example_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}/console.log
run:
dir: ${output_dir}
These configs are important for the Hydra 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 (see Output Results sections of each paradigm).handlers.file.filename
: the filename for the output file. It is set to${hydra.runtime.output_dir}/console.log
by default.
Config Tree
We can print the config as a Rich Tree in both the console and the output folder (see Output Results sections of each paradigm). The config tree is customizable; its configs are in the 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 pipeline. We use it to name the output folder so that each run can be distinguished. It is set as${now:%Y-%m-%d_%H-%M-%S}
. For example, the output folder can beoutputs/${expr_name}/${misc.timestamp}
, which becomes likeoutputs/example_cl_main_expr/2023-10-01_12-00-00
if the timestamp is2023-10-01_12-00-00
.