How to configure experiments
How to configure experiments#
Our experiments are managed through Hydra configs.
The hydra configuration hierarchy looks like:
configs/
config.yaml # the default config file that summarizes all configs
data/default.yaml # the configs related to data
eval/default.yaml # the configs related to evaluation
lifelong
base.yaml # the sequential finetuning baseline configs
agem.yaml # the agem configs
er.yaml # the er configs
ewc.yaml # the ewc configs
packnet.yaml # the packnet configs
multitask.yaml # the multitask learning configs
single_task.yaml # the single task learning configs
policy
data_augmentation
image_encoder
language_encoder
policy_head
position_encoding
bc_rnn_policy.yaml # the config for ResNet-LSTM
bc_transformer_policy.yaml # the config for ResNet-Transformer
bc_vilt_policy.yaml # the config for ViT-Transformer
train
optimizer
shceduler
default.yaml # the configs related to training
If you want to modify any existing configuration, you can directly do that in command line instead of modifying the original yaml file. For instance, consider
export CUDA_VISIBLE_DEVICES=GPU_ID && \
export MUJOCO_EGL_DEVICE_ID=GPU_ID && \
python lifelong/main.py seed=SEED \
benchmark_name=BENCHMARK
policy=POLICY \
lifelong=ewc \
lifelong.e_lambda=100000 \
lifelong.gamma=0.95
This will change the e_lambda
and gamma
configs of ewc to 100000
and 0.95
respectively.