From da8d318c7e08680a1dc9dc2ec1bfd82fe515288e Mon Sep 17 00:00:00 2001 From: Jona Reynaert Date: Tue, 12 May 2026 11:10:11 +0200 Subject: [PATCH] fix: updated configs to best values --- configs/centralized-final.yaml | 71 +++++++++++++++++++ configs/environment/directed_locomotion.yaml | 4 +- configs/environment/light_escape.yaml | 2 +- configs/evaluation/default.yaml | 2 +- configs/fully-connected-final.yaml | 74 ++++++++++++++++++++ configs/ring-final.yaml | 74 ++++++++++++++++++++ 6 files changed, 223 insertions(+), 4 deletions(-) create mode 100644 configs/centralized-final.yaml create mode 100644 configs/fully-connected-final.yaml create mode 100644 configs/ring-final.yaml diff --git a/configs/centralized-final.yaml b/configs/centralized-final.yaml new file mode 100644 index 0000000..f40570d --- /dev/null +++ b/configs/centralized-final.yaml @@ -0,0 +1,71 @@ +# Custom Main Configuration +# +# Use with: +# uv run python scripts/train.py --config-name main_config_custom +# +# This keeps the project defaults intact while giving you a single custom +# training entrypoint you can edit freely. + +defaults: + - brittle_star_config + - experiment: base + - logging: default + - evaluation: default + - ppo: default + - architecture: centralized + - morphology: 5_arms_full + - arena: default + - environment: directed_locomotion + - simulation: default + - _self_ + +morphology: + morph_mode: CENTRALIZED + +experiment: + exp_name: "final-models/centralized/" + seed: 42 + torch_deterministic: true + cuda: true + +logging: + track: true + save_model: true + save_checkpoints: true + upload_final_model: true + upload_checkpoints: true + checkpoint_frequency: 20 + wandb_project_name: "final-models" + +evaluation: + evaluate_checkpoints: true + eval_max_steps: 2000 + eval_seed: 0 + +ppo: + learning_rate: 0.0001 + total_timesteps: 16384000 + num_envs: 128 + num_steps: 64 + anneal_lr: true + gamma: 0.99 + gae_lambda: 0.95 + num_minibatches: 32 + update_epochs: 4 + norm_adv: true + clip_coef: 0.2 + clip_vloss: true + ent_coef: 0.001 + vf_coef: 1.0 + max_grad_norm: 0.5 + target_kl: 0.02 + +environment: + simulation_time: 100000.0 + target_distance: 3.0 + +hydra: + job: + chdir: true + run: + dir: ${experiment.base_run_dir}/${experiment.exp_name}/${now:%Y-%m-%d}/${now:%H-%M-%S} diff --git a/configs/environment/directed_locomotion.yaml b/configs/environment/directed_locomotion.yaml index 465d80e..b664ca1 100644 --- a/configs/environment/directed_locomotion.yaml +++ b/configs/environment/directed_locomotion.yaml @@ -2,11 +2,11 @@ # Baseline task setting. task: DIRECTED_LOCOMOTION -simulation_time: 5000.0 +simulation_time: 100000.0 num_physics_steps_per_control_step: 10 time_scale: 2 camera_ids: [0, 1] render_size: [480, 640] joint_randomization_noise_scale: 0.0 -target_distance: 0.6 +target_distance: 3.0 light_perlin_noise_scale: 0 diff --git a/configs/environment/light_escape.yaml b/configs/environment/light_escape.yaml index c79cfb9..ade85ba 100644 --- a/configs/environment/light_escape.yaml +++ b/configs/environment/light_escape.yaml @@ -2,7 +2,7 @@ # Advanced task requiring movement away from light source. task: LIGHT_ESCAPE -simulation_time: 5.0 +simulation_time: 100000.0 num_physics_steps_per_control_step: 10 time_scale: 2 camera_ids: [0, 1] diff --git a/configs/evaluation/default.yaml b/configs/evaluation/default.yaml index ac49e46..a7c2a00 100644 --- a/configs/evaluation/default.yaml +++ b/configs/evaluation/default.yaml @@ -3,6 +3,6 @@ evaluate_checkpoints: false # Max number of control steps during evaluation rollout. -eval_max_steps: 5000 +eval_max_steps: 2000 # Seed for deterministic evaluation reset. eval_seed: 0 diff --git a/configs/fully-connected-final.yaml b/configs/fully-connected-final.yaml new file mode 100644 index 0000000..8d60451 --- /dev/null +++ b/configs/fully-connected-final.yaml @@ -0,0 +1,74 @@ +# Custom Main Configuration +# +# Use with: +# uv run python scripts/train.py --config-name main_config_custom +# +# This keeps the project defaults intact while giving you a single custom +# training entrypoint you can edit freely. + +defaults: + - brittle_star_config + - experiment: base + - logging: default + - evaluation: default + - ppo: default + - architecture: decentralized + - morphology: 5_arms_full + - arena: default + - environment: directed_locomotion + - simulation: default + - _self_ + +architecture: + topology_type: "fully_connected" + +morphology: + morph_mode: FULLY_CONNECTED + +experiment: + exp_name: "final-models/fully-connected/" + seed: 42 + torch_deterministic: true + cuda: true + +logging: + track: true + save_model: true + save_checkpoints: true + upload_final_model: true + upload_checkpoints: true + checkpoint_frequency: 20 + wandb_project_name: "final-models" + +evaluation: + evaluate_checkpoints: true + eval_max_steps: 2000 + eval_seed: 0 + +ppo: + learning_rate: 0.0001 + total_timesteps: 16384000 + num_envs: 128 + num_steps: 64 + anneal_lr: true + gamma: 0.99 + gae_lambda: 0.95 + num_minibatches: 32 + update_epochs: 4 + norm_adv: true + clip_coef: 0.2 + clip_vloss: true + ent_coef: 0.001 + vf_coef: 1.0 + max_grad_norm: 0.5 + target_kl: 0.02 + +environment: + simulation_time: 100000.0 + target_distance: 3.0 + +hydra: + job: + chdir: true + run: + dir: ${experiment.base_run_dir}/${experiment.exp_name}/${now:%Y-%m-%d}/${now:%H-%M-%S} diff --git a/configs/ring-final.yaml b/configs/ring-final.yaml new file mode 100644 index 0000000..ffba64f --- /dev/null +++ b/configs/ring-final.yaml @@ -0,0 +1,74 @@ +# Custom Main Configuration +# +# Use with: +# uv run python scripts/train.py --config-name main_config_custom +# +# This keeps the project defaults intact while giving you a single custom +# training entrypoint you can edit freely. + +defaults: + - brittle_star_config + - experiment: base + - logging: default + - evaluation: default + - ppo: default + - architecture: decentralized + - morphology: 5_arms_full + - arena: default + - environment: directed_locomotion + - simulation: default + - _self_ + +architecture: + topology_type: "ring" + +morphology: + morph_mode: RING + +experiment: + exp_name: "final-models/ring/" + seed: 42 + torch_deterministic: true + cuda: true + +logging: + track: true + save_model: true + save_checkpoints: true + upload_final_model: true + upload_checkpoints: true + checkpoint_frequency: 20 + wandb_project_name: "final-models" + +evaluation: + evaluate_checkpoints: true + eval_max_steps: 2000 + eval_seed: 0 + +ppo: + learning_rate: 0.0001 + total_timesteps: 16384000 + num_envs: 128 + num_steps: 64 + anneal_lr: true + gamma: 0.99 + gae_lambda: 0.95 + num_minibatches: 32 + update_epochs: 4 + norm_adv: true + clip_coef: 0.2 + clip_vloss: true + ent_coef: 0.001 + vf_coef: 1.0 + max_grad_norm: 0.5 + target_kl: 0.02 + +environment: + simulation_time: 100000.0 + target_distance: 3.0 + +hydra: + job: + chdir: true + run: + dir: ${experiment.base_run_dir}/${experiment.exp_name}/${now:%Y-%m-%d}/${now:%H-%M-%S}