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