Deployed 9f99470 with MkDocs version: 1.6.1
This commit is contained in:
parent
149b30e3a5
commit
0683fa9415
3 changed files with 117 additions and 6 deletions
|
|
@ -619,6 +619,17 @@
|
|||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#reproducing-experiments" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
Reproducing Experiments
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
|
@ -1224,6 +1235,17 @@
|
|||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#reproducing-experiments" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
Reproducing Experiments
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
|
@ -1256,14 +1278,14 @@
|
|||
</code></pre></div></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Edit <code>configs/experiment/my_experiment.yaml</code></strong> to set your experiment parameters:
|
||||
<div class="highlight"><pre><span></span><code><span class="c1"># @package _global_</span>
|
||||
<p><strong>Edit <code>configs/experiment/my_experiment.yaml</code></strong> to set your experiment parameters:</p>
|
||||
</li>
|
||||
</ol>
|
||||
<div class="highlight"><pre><span></span><code><span class="c1"># @package _global_</span>
|
||||
<span class="nt">experiment</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="nt">exp_name</span><span class="p">:</span><span class="w"> </span><span class="s">"my_custom_run"</span>
|
||||
<span class="w"> </span><span class="nt">seed</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">42</span>
|
||||
</code></pre></div></p>
|
||||
</li>
|
||||
</ol>
|
||||
</code></pre></div>
|
||||
<h2 id="training-execution">Training Execution</h2>
|
||||
<p>To start a training run with the default settings defined in <code>configs/main_config.yaml</code>:</p>
|
||||
<div class="highlight"><pre><span></span><code>uv<span class="w"> </span>run<span class="w"> </span>python<span class="w"> </span>scripts/train.py
|
||||
|
|
@ -1278,6 +1300,31 @@
|
|||
<p>By default, the trainer saves checkpoints but does not evaluate them. To enable automatic headless evaluation of every saved checkpoint, set <code>evaluation.evaluate_checkpoints=true</code>:</p>
|
||||
<div class="highlight"><pre><span></span><code>uv<span class="w"> </span>run<span class="w"> </span>python<span class="w"> </span>scripts/train.py<span class="w"> </span>evaluation.evaluate_checkpoints<span class="o">=</span><span class="nb">true</span>
|
||||
</code></pre></div>
|
||||
<h2 id="reproducing-experiments">Reproducing Experiments</h2>
|
||||
<p>To ensure scientific validity and allow other researchers to reproduce your training runs, follow these steps:</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p><strong>Lock Environment Dependencies</strong>:
|
||||
Always use the exact environment lockfile when running experiments. Run:
|
||||
<div class="highlight"><pre><span></span><code>uv<span class="w"> </span>sync<span class="w"> </span>--frozen
|
||||
</code></pre></div>
|
||||
This guarantees that the same package versions (including JAX, Flax, and MuJoCo) are used.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Save and Locate Configuration Metadata</strong>:
|
||||
Every time you start a training run, the configuration is fully resolved by Hydra and saved as a metadata YAML file:</p>
|
||||
</li>
|
||||
<li>For checkpointed steps: <code>runs/<run_dir>/checkpoints/<prefix>_step_<step>_metadata.yaml</code></li>
|
||||
<li>For the final model: <code>runs/<run_dir>/final_model_metadata.yaml</code></li>
|
||||
</ol>
|
||||
<p>This metadata file contains every active hyperparameter (e.g., learning rate, morphology configuration, PPO parameters, etc.) for that specific run.</p>
|
||||
<ol>
|
||||
<li><strong>Re-Run with Pinning</strong>:
|
||||
To reproduce a run, execute the training script with the configuration parameters specified in the metadata file, making sure to reuse the same seed:
|
||||
<div class="highlight"><pre><span></span><code>uv<span class="w"> </span>run<span class="w"> </span>python<span class="w"> </span>scripts/train.py<span class="w"> </span><span class="nv">experiment</span><span class="o">=</span>my_experiment<span class="w"> </span>ppo.learning_rate<span class="o">=</span><span class="m">0</span>.001<span class="w"> </span>experiment.seed<span class="o">=</span><span class="m">42</span>
|
||||
</code></pre></div></li>
|
||||
</ol>
|
||||
<hr />
|
||||
<p>For more details on evaluation metrics and comparison tools, see <a href="../evaluation/">Evaluation</a>.</p>
|
||||
<p>For more details on tracking your experiments, see <a href="../tracking/">Tracking & Monitoring</a>.</p>
|
||||
|
||||
|
|
|
|||
64
index.html
64
index.html
|
|
@ -255,6 +255,28 @@
|
|||
</label>
|
||||
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#core-requirements-guides" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
Core Requirements & Guides
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#repository-structure" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
Repository Structure
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#design-architecture-design" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
|
@ -1110,6 +1132,28 @@
|
|||
</label>
|
||||
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#core-requirements-guides" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
Core Requirements & Guides
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#repository-structure" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
Repository Structure
|
||||
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#design-architecture-design" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
|
|
@ -1152,6 +1196,26 @@
|
|||
<h1 id="documentation">Documentation</h1>
|
||||
<p>Welcome to the Brittle Star project documentation. This codebase contains the implementations and research for the scientific evaluation of controller modularity in brittle-star-like robots trained using Reinforcement Learning.</p>
|
||||
<p>For the core codebase, scripts, and contribution history, visit our <a href="https://github.com/SELab-3-2026/SEL3-2026-Groep-4">GitHub Repository</a>.</p>
|
||||
<h2 id="core-requirements-guides">Core Requirements & Guides</h2>
|
||||
<ul>
|
||||
<li><strong><a href="DEVELOPMENT/">Installation Instructions</a></strong>: Steps to set up your development environment locally or in a devcontainer using <code>uv</code>, including GPU configuration. For High-Performance Computing (HPC) setup details, see the <strong><a href="HPC/">HPC Guide</a></strong>.</li>
|
||||
<li><strong><a href="api/training/">How to Run Experiments</a></strong>: A complete guide on running training jobs, setting custom hyperparameters, and overriding config options using Hydra.</li>
|
||||
<li><strong><a href="api/training/#reproducing-experiments">Reproducing Experiments</a></strong>: Best practices for reproducing past training runs using exact seeds, dependencies, and automatic metadata logging.</li>
|
||||
<li><strong><a href="#repository-structure">Repository Structure</a></strong>: Overview of the directories and files within the codebase.</li>
|
||||
</ul>
|
||||
<h2 id="repository-structure">Repository Structure</h2>
|
||||
<div class="highlight"><pre><span></span><code>.
|
||||
├── configs/ # Hydra configuration files (YAML)
|
||||
├── docs/ # Comprehensive documentation and API guides
|
||||
├── runs/ # Default output directory for Hydra and training artifacts
|
||||
├── scripts/ # High-level entrypoints for training, simulation, and evaluation
|
||||
├── src/
|
||||
│ ├── brittle_star_project/ # Core library and environment logic
|
||||
│ │ ├── evaluation/ # Checkpoint evaluation, rollout logic, and metrics persistence
|
||||
│ │ └── trainers/ # Training loop implementations (e.g., PPO)
|
||||
│ └── experiment_logger/ # Standalone logging package
|
||||
└── tests/ # Unit and integration tests
|
||||
</code></pre></div>
|
||||
<h2 id="design-architecture-design">Design & architecture (<code>/design</code>)</h2>
|
||||
<p>If you are interested in the "why did you do it like this?"</p>
|
||||
<ul>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Reference in a new issue