feat: add modular configuration files
This commit is contained in:
parent
3b8c347715
commit
2a7537f51c
14 changed files with 150 additions and 0 deletions
8
configs/arena/default.yaml
Normal file
8
configs/arena/default.yaml
Normal 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
|
||||
12
configs/environment/directed_locomotion.yaml
Normal file
12
configs/environment/directed_locomotion.yaml
Normal 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
|
||||
12
configs/environment/light_escape.yaml
Normal file
12
configs/environment/light_escape.yaml
Normal 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
|
||||
7
configs/experiment/base.yaml
Normal file
7
configs/experiment/base.yaml
Normal 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
|
||||
7
configs/experiment/dev_test.yaml
Normal file
7
configs/experiment/dev_test.yaml
Normal 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
|
||||
7
configs/experiment/hpc_smoke_test.yaml
Normal file
7
configs/experiment/hpc_smoke_test.yaml
Normal 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
|
||||
11
configs/logging/default.yaml
Normal file
11
configs/logging/default.yaml
Normal 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: ""
|
||||
11
configs/logging/wandb_enabled.yaml
Normal file
11
configs/logging/wandb_enabled.yaml
Normal 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: ""
|
||||
6
configs/morphology/3_arms.yaml
Normal file
6
configs/morphology/3_arms.yaml
Normal 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
|
||||
6
configs/morphology/5_arms_full.yaml
Normal file
6
configs/morphology/5_arms_full.yaml
Normal 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
|
||||
6
configs/morphology/partial_amputation.yaml
Normal file
6
configs/morphology/partial_amputation.yaml
Normal 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
19
configs/ppo/default.yaml
Normal 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
19
configs/ppo/fast.yaml
Normal 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
19
configs/ppo/stable.yaml
Normal 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
|
||||
Reference in a new issue