Deployed f569f4c with MkDocs version: 1.6.1
This commit is contained in:
parent
f1a349ed55
commit
3cd3e9ea81
56 changed files with 9292 additions and 11367 deletions
22
configs/architecture/centralized.yaml
Normal file
22
configs/architecture/centralized.yaml
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# Centralized Actor-Critic Architecture
|
||||
# Baseline configuration with a single global sensor and motor.
|
||||
|
||||
# Default values are defined in CentralizedConfig dataclass.
|
||||
# Use this configuration for standard PPO experiments.
|
||||
|
||||
name: "centralized"
|
||||
sensor:
|
||||
hidden_dims: [300, 300, 300]
|
||||
activation: "tanh"
|
||||
|
||||
motor:
|
||||
hidden_dims: []
|
||||
activation: "tanh"
|
||||
|
||||
feature_extractor:
|
||||
hidden_dims: [300, 300, 300]
|
||||
activation: "tanh"
|
||||
|
||||
critic:
|
||||
hidden_dims: []
|
||||
activation: "tanh"
|
||||
32
configs/architecture/decentralized.yaml
Normal file
32
configs/architecture/decentralized.yaml
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# Decentralized Actor Architecture (NerveNet-MLP variant)
|
||||
# Multi-agent/distributed configuration using local sensors, propagators, and motors.
|
||||
|
||||
# Default values are defined in DecentralizedConfig dataclass.
|
||||
# Use this configuration for decentralized execution experiments.
|
||||
|
||||
name: "decentralized"
|
||||
sensor:
|
||||
hidden_dims: [300, 300, 300]
|
||||
activation: "tanh"
|
||||
|
||||
propagator:
|
||||
hidden_dims: [300, 300, 300]
|
||||
activation: "tanh"
|
||||
|
||||
motor:
|
||||
hidden_dims: []
|
||||
activation: "tanh"
|
||||
|
||||
feature_extractor:
|
||||
hidden_dims: [300, 300, 300]
|
||||
activation: "tanh"
|
||||
|
||||
critic:
|
||||
hidden_dims: []
|
||||
activation: "tanh"
|
||||
|
||||
# Synchronous message-passing rounds per control step
|
||||
message_passing_steps: 4
|
||||
|
||||
# Connectivity topology (e.g., ring, fully_connected)
|
||||
topology_type: "fully_connected"
|
||||
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
|
||||
71
configs/centralized-final.yaml
Normal file
71
configs/centralized-final.yaml
Normal file
|
|
@ -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}
|
||||
2
configs/environment/dir_loc_further.yaml
Normal file
2
configs/environment/dir_loc_further.yaml
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
simulation_time: 50000.0
|
||||
target_distance: 3.0
|
||||
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: 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: 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: 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: 3.0
|
||||
light_perlin_noise_scale: 200 # Must be integer factor of 200
|
||||
8
configs/evaluation/default.yaml
Normal file
8
configs/evaluation/default.yaml
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# Default Evaluation Configuration
|
||||
# Settings used for checkpoint evaluation during training.
|
||||
|
||||
evaluate_checkpoints: false
|
||||
# Max number of control steps during evaluation rollout.
|
||||
eval_max_steps: 2000
|
||||
# Seed for deterministic evaluation reset.
|
||||
eval_seed: 0
|
||||
23
configs/evaluation/poster.yaml
Normal file
23
configs/evaluation/poster.yaml
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# @package evaluation
|
||||
# Configuration for the models used in the poster comparison.
|
||||
|
||||
# Standard evaluation settings
|
||||
evaluate_checkpoints: false
|
||||
eval_max_steps: 5000
|
||||
eval_seed: 0
|
||||
|
||||
# Cross-model comparison settings
|
||||
# We use 10 episodes to get a more robust average for the final poster results.
|
||||
comparison_base_seed: 0
|
||||
comparison_num_episodes: 2
|
||||
comparison_output_csv: "runs/evaluation/comparison.csv"
|
||||
|
||||
# Paths to the .cleanrl_model files to be compared (relative to workspace root).
|
||||
comparison_models:
|
||||
- "runs/input-space-2-arms/2026-05-02/08-14-58/final_model.flax"
|
||||
|
||||
# Path to the morphologies to evaluate against.
|
||||
comparison_morphologies:
|
||||
- "configs/morphology/5_arms_full.yaml"
|
||||
- "configs/morphology/3_arms.yaml"
|
||||
- "configs/morphology/2_arms.yaml"
|
||||
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
|
||||
6
configs/experiment/long_2arm.yaml
Normal file
6
configs/experiment/long_2arm.yaml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# Testing chicken dinner 4 but further distance.
|
||||
|
||||
exp_name: "long2arm"
|
||||
seed: 123
|
||||
torch_deterministic: true
|
||||
cuda: true
|
||||
74
configs/fully-connected-final.yaml
Normal file
74
configs/fully-connected-final.yaml
Normal file
|
|
@ -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}
|
||||
1013
configs/index.html
Normal file
1013
configs/index.html
Normal file
File diff suppressed because it is too large
Load diff
13
configs/logging/default.yaml
Normal file
13
configs/logging/default.yaml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
# 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
|
||||
save_checkpoints: true
|
||||
checkpoint_frequency: 100
|
||||
upload_final_model: false
|
||||
upload_checkpoints: false
|
||||
hf_entity: ""
|
||||
9
configs/logging/hpc.yaml
Normal file
9
configs/logging/hpc.yaml
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
track: true
|
||||
wandb_project_name: "hpc-default"
|
||||
wandb_entity: "SEL3-2026-Groep-4"
|
||||
save_model: true
|
||||
save_checkpoints: true
|
||||
upload_final_model: true
|
||||
upload_checkpoints: true
|
||||
checkpoint_frequency: 100
|
||||
hf_entity: ""
|
||||
13
configs/logging/wandb_enabled.yaml
Normal file
13
configs/logging/wandb_enabled.yaml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
# WandB Enabled Logging Configuration
|
||||
# For production/cloud experiments with weights synced.
|
||||
|
||||
track: true
|
||||
wandb_project_name: "default-project"
|
||||
wandb_entity: "SEL3-2026-Groep-4"
|
||||
capture_video: false
|
||||
save_model: true
|
||||
save_checkpoints: true
|
||||
checkpoint_frequency: 100
|
||||
upload_final_model: true
|
||||
upload_checkpoints: false
|
||||
hf_entity: ""
|
||||
23
configs/main_config.yaml
Normal file
23
configs/main_config.yaml
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# Brittle Star Project - Main Configuration
|
||||
# This file defines the default composition of the hierarchical configuration.
|
||||
# Sub-configs are loaded from the relative directories.
|
||||
|
||||
defaults:
|
||||
- brittle_star_config
|
||||
- experiment: base
|
||||
- logging: default
|
||||
- evaluation: default
|
||||
- ppo: default
|
||||
- architecture: centralized
|
||||
- morphology: 5_arms_full
|
||||
- arena: default
|
||||
- environment: directed_locomotion
|
||||
- obs_bounds: default
|
||||
- simulation: default
|
||||
- _self_
|
||||
|
||||
hydra:
|
||||
job:
|
||||
chdir: True
|
||||
run:
|
||||
dir: ${experiment.base_run_dir}/${experiment.exp_name}/${now:%Y-%m-%d}/${now:%H-%M-%S}
|
||||
5
configs/morphology/2_arms.yaml
Normal file
5
configs/morphology/2_arms.yaml
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# 2 Arms Morphology Configuration
|
||||
|
||||
segments_per_arm: [4, 0, 4, 0, 0]
|
||||
use_p_control: true
|
||||
use_torque_control: false
|
||||
6
configs/morphology/2_arms_decentralized.yaml
Normal file
6
configs/morphology/2_arms_decentralized.yaml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# 2 Arms Morphology Configuration
|
||||
|
||||
segments_per_arm: [4, 0, 4, 0, 0]
|
||||
use_p_control: true
|
||||
use_torque_control: false
|
||||
morph_mode: FULLY_CONNECTED
|
||||
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_damaged.yaml
Normal file
6
configs/morphology/5_arms_damaged.yaml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# 5 Arms Full Morphology Configuration
|
||||
# Baseline 5-arm brittle star.
|
||||
|
||||
segments_per_arm: [4, 4, 0, 4, 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
|
||||
7
configs/morphology/5_arms_full_fullconnected.yaml
Normal file
7
configs/morphology/5_arms_full_fullconnected.yaml
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# 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
|
||||
morph_mode: FULLY_CONNECTED
|
||||
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
|
||||
1
configs/obs_bounds/default.yaml
Normal file
1
configs/obs_bounds/default.yaml
Normal file
|
|
@ -0,0 +1 @@
|
|||
# Defaults provided by dataclass
|
||||
16
configs/ppo/chickendinnerwinner.yaml
Normal file
16
configs/ppo/chickendinnerwinner.yaml
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
anneal_lr: true
|
||||
clip_coef: 0.2
|
||||
clip_vloss: true
|
||||
ent_coef: 0.001
|
||||
gae_lambda: 0.95
|
||||
gamma: 0.99
|
||||
learning_rate: 0.0001
|
||||
max_grad_norm: 0.5
|
||||
norm_adv: true
|
||||
num_envs: 32
|
||||
num_minibatches: 32
|
||||
num_steps: 64
|
||||
target_kl: 0.02
|
||||
total_timesteps: 12288000
|
||||
update_epochs: 4
|
||||
vf_coef: 1.0
|
||||
16
configs/ppo/debug.yaml
Normal file
16
configs/ppo/debug.yaml
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
learning_rate: 0.0003
|
||||
total_timesteps: 409600
|
||||
num_envs: 32
|
||||
num_steps: 32
|
||||
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.005
|
||||
vf_coef: 1.0
|
||||
max_grad_norm: 0.5
|
||||
target_kl: null
|
||||
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
|
||||
16
configs/ppo/dev_larger_timesteps_larger_rolloutsteps.yaml
Normal file
16
configs/ppo/dev_larger_timesteps_larger_rolloutsteps.yaml
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
learning_rate: 0.0003
|
||||
total_timesteps: 1228800
|
||||
num_envs: 32
|
||||
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.005
|
||||
vf_coef: 1.0
|
||||
max_grad_norm: 0.5
|
||||
target_kl: null
|
||||
19
configs/ppo/smoke_test.yaml
Normal file
19
configs/ppo/smoke_test.yaml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
# Fast PPO Configuration
|
||||
# Lower timestep count for quick iterations/testing.
|
||||
|
||||
learning_rate: 0.0005
|
||||
total_timesteps: 1024
|
||||
num_envs: 32
|
||||
num_steps: 32
|
||||
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
|
||||
74
configs/ring-final.yaml
Normal file
74
configs/ring-final.yaml
Normal file
|
|
@ -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}
|
||||
26
configs/simulation/default.yaml
Normal file
26
configs/simulation/default.yaml
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
# Default Simulation Settings
|
||||
# These values are used by scripts/simulate.py
|
||||
|
||||
# Path to the trained model (optional)
|
||||
model_path: null
|
||||
|
||||
# Script behavior
|
||||
headless: false
|
||||
# In headless mode this is required; in viewer mode null means "infinite".
|
||||
max_steps: null
|
||||
|
||||
# Optional: override morphology for amputation experiments.
|
||||
# Points to a morphology config YAML file (e.g. configs/morphology/3_arms.yaml).
|
||||
# If null, the training morphology from the model's metadata is used.
|
||||
morphology_override: null
|
||||
|
||||
# Video recording (requires [evaluation] extra)
|
||||
record_video: false
|
||||
# When null, video is saved in a per-model evaluation folder alongside the model.
|
||||
video_output_path: null
|
||||
# Camera ID to use for video recording (1 is usually the close-up camera)
|
||||
camera_id: 1
|
||||
|
||||
# Optional override for the metadata YAML file path.
|
||||
# If null, the script looks for `<model_name>_metadata.yaml` alongside the model_path.
|
||||
metadata_path: null
|
||||
Reference in a new issue