1
Fork 0

feat: add modular configuration files

This commit is contained in:
Tibo De Peuter 2026-04-14 22:43:28 +02:00
parent 3b8c347715
commit 2a7537f51c
Signed by: tdpeuter
SSH key fingerprint: SHA256:u/h/LVoqKF1Iz02uOyxe6hcjmoZASCGV2HM0TG9ZMoU
14 changed files with 150 additions and 0 deletions

View file

@ -0,0 +1,8 @@
# Default Arena Configuration
# Base aquarium environment settings.
size: [10.0, 5.0]
sand_ground_color: true
attach_target: true
wall_height: 1.5
wall_thickness: 0.1

View file

@ -0,0 +1,12 @@
# Directed Locomotion Environment
# Baseline task setting.
task: DIRECTED_LOCOMOTION
simulation_time: 5.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: 3.0
light_perlin_noise_scale: 0

View file

@ -0,0 +1,12 @@
# Light Escape Environment
# Advanced task requiring movement away from light source.
task: LIGHT_ESCAPE
simulation_time: 5.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: 3.0
light_perlin_noise_scale: 200 # Must be integer factor of 200

View file

@ -0,0 +1,7 @@
# Base Experiment Configuration
# Default values align with ExperimentConfig dataclass.
exp_name: "brittle_star_ppo"
seed: 1
torch_deterministic: true
cuda: true

View file

@ -0,0 +1,7 @@
# Testing Experiment Configuration
# Quick experiment for local development/testing.
exp_name: "dev_test_brittle_star"
seed: 42
torch_deterministic: true
cuda: true

View file

@ -0,0 +1,7 @@
# HPC Smoke Test Configuration
# Uses minimal settings but simulates HPC environment.
exp_name: "hpc_smoke_test"
seed: 123
torch_deterministic: true
cuda: true

View file

@ -0,0 +1,11 @@
# Default Logging Configuration
# Offline local-only setup (WandB disabled).
track: false
wandb_project_name: "PPO-Modularity"
wandb_entity: "SEL3-2026-Groep-4"
capture_video: false
save_model: true
checkpoint_frequency: 100
upload_model: false
hf_entity: ""

View file

@ -0,0 +1,11 @@
# WandB Enabled Logging Configuration
# For production/cloud experiments with weights synced.
track: true
wandb_project_name: "PPO-Modularity"
wandb_entity: "SEL3-2026-Groep-4"
capture_video: false
save_model: true
checkpoint_frequency: 100
upload_model: false
hf_entity: ""

View file

@ -0,0 +1,6 @@
# 3 Arms Morphology Configuration
# Symmetric amputation (arms 1 and 3 removed).
segments_per_arm: [4, 0, 4, 0, 4]
use_p_control: true
use_torque_control: false

View file

@ -0,0 +1,6 @@
# 5 Arms Full Morphology Configuration
# Baseline 5-arm brittle star.
segments_per_arm: [4, 4, 4, 4, 4]
use_p_control: true
use_torque_control: false

View file

@ -0,0 +1,6 @@
# Partial Amputation Configuration
# Random partial amputation for robustness testing.
segments_per_arm: [4, 2, 4, 4, 4]
use_p_control: true
use_torque_control: false

19
configs/ppo/default.yaml Normal file
View file

@ -0,0 +1,19 @@
# Default PPO Configuration
# Standard hyperparams from original codebase.
learning_rate: 0.00025
total_timesteps: 10000000
num_envs: 100
num_steps: 128
anneal_lr: true
gamma: 0.99
gae_lambda: 0.95
num_minibatches: 4
update_epochs: 4
norm_adv: true
clip_coef: 0.1
clip_vloss: true
ent_coef: 0.01
vf_coef: 0.5
max_grad_norm: 0.5
target_kl: null

19
configs/ppo/fast.yaml Normal file
View file

@ -0,0 +1,19 @@
# Fast PPO Configuration
# Lower timestep count for quick iterations/testing.
learning_rate: 0.0005
total_timesteps: 500000
num_envs: 8
num_steps: 128
anneal_lr: true
gamma: 0.99
gae_lambda: 0.95
num_minibatches: 4
update_epochs: 4
norm_adv: true
clip_coef: 0.2
clip_vloss: true
ent_coef: 0.01
vf_coef: 0.5
max_grad_norm: 0.5
target_kl: null

19
configs/ppo/stable.yaml Normal file
View file

@ -0,0 +1,19 @@
# Stable PPO Configuration
# Standard hyperparams with lower LR and larger batch.
learning_rate: 0.0001
total_timesteps: 10000000
num_envs: 100
num_steps: 256
anneal_lr: true
gamma: 0.99
gae_lambda: 0.95
num_minibatches: 8
update_epochs: 4
norm_adv: true
clip_coef: 0.1
clip_vloss: true
ent_coef: 0.01
vf_coef: 0.5
max_grad_norm: 0.5
target_kl: null