|
Download README.md from nottygian/Leplanner: direct link, hf CLI and curl.
- Browser
- Download file 5.32 kB
-
https://huggingface.co/nottygian/Leplanner/resolve/refs%2Fpr%2F2/README.md
- Command line
-
hf download hf://nottygian/Leplanner@refs/pr/2/README.md
-
curl -L -o README.md https://huggingface.co/nottygian/Leplanner/resolve/refs%2Fpr%2F2/README.md
5.32 kB
| license: other | |
| license_name: mixed-apache-2.0-and-mit | |
| tags: | |
| - robotics | |
| - world-model | |
| - model-based-control | |
| - jepa | |
| - reinforcement-learning | |
| - latent-planning | |
| - iterative-control | |
| # LePlanner: Amortized Iterative Control in Frozen Latent World Models | |
| This repository contains the trained controllers, frozen world models, latent caches, and evaluation results for **LePlanner**: | |
| > **LePlanner: Amortized Iterative Control in Frozen Latent World Models** | |
| > [Authors], [Year]. | |
| > [Paper link β arXiv / venue] | |
| LePlanner is an amortized iterative controller that plans through a **frozen JEPA world model** (LeWM) over a small number of learned refinement steps, trained with an **arrivalβhold** objective. It matches or exceeds test-time search planners (CEM) while requiring an order-of-magnitude fewer predictor invocations and 8β15Γ lower wall-clock per decision. | |
| ## Results | |
| | Environment | Method | Success | Notes | | |
| |---|---|---|---| | |
| | PushT | LePlanner (rh=1) | **98%** | arrival+hold checkpoint | | |
| | PushT | LePlanner (rh=5) | **92%** | | | |
| | PushT | CEM (rh=5) | 90% | baseline search planner | | |
| | Reacher | LePlanner (rh=1) | **100%** | 50 episodes, seed 42 | | |
| | TwoRooms | LePlanner (rh=1) | **100%** | 50 episodes, seed 42 | | |
| LePlanner uses **~16Γ fewer predictor rows per decision** than CEM and **8β15Γ lower wall-clock** per decision. | |
| ## Quick Start | |
| ```python | |
| from huggingface_hub import hf_hub_download | |
| # Load a controller checkpoint | |
| ckpt_path = hf_hub_download( | |
| "SaltedLemon/lejepa-control-pusht", | |
| "checkpoints/environment_controllers/reacher/controller.pt", | |
| repo_type="model", | |
| ) | |
| # Load a frozen world model | |
| wm_path = hf_hub_download( | |
| "SaltedLemon/lejepa-control-pusht", | |
| "checkpoints/base_world_models/reacher/weights.pt", | |
| repo_type="model", | |
| ) | |
| ``` | |
| The training code is available at [`github.com/SaltedLemon/lejepa_control`](https://github.com/SaltedLemon/lejepa_control). | |
| ## Repository Structure | |
| ``` | |
| checkpoints/ | |
| βββ environment_controllers/ # Trained LePlanner controllers (per-environment) | |
| β βββ reacher/ | |
| β β βββ controller.pt # 100% success, rh=1 | |
| β β βββ density.pt # Behavior density model | |
| β βββ tworooms/ | |
| β βββ controller.pt # 100% success, rh=1 | |
| β βββ density.pt | |
| βββ controller/ # PushT iterative controller (phase-1) | |
| βββ ablations/ # PushT training ablations | |
| β βββ ah_hold0.5/ | |
| β βββ controller.pt # Headline PushT checkpoint (94-96%) | |
| βββ base_world_models/ # Frozen LeWM world models | |
| β βββ pusht/ # quentinll/lewm-pusht (MIT) | |
| β βββ reacher/ # quentinll/lewm-reacher (MIT) | |
| β βββ tworooms/ # quentinll/lewm-tworooms (MIT) | |
| βββ planner_*/ # Recursive & cross-attention planners | |
| βββ manifold_transfer/ # Latent transfer experiments | |
| βββ density/ # PushT behavior density model | |
| code/ # Training & evaluation scripts | |
| βββ planner.py # LePlanner controller | |
| βββ solver.py # Training/eval harness | |
| βββ losses.py # Arrival-hold, action-Gaussian, support losses | |
| βββ scripts/ # train_planner.py, eval_planner.py, ... | |
| latents/ # Pre-computed latent caches | |
| βββ reacher/ # Latents, actions, episode metadata | |
| βββ tworoom_cls/ | |
| results/ # Raw evaluation logs | |
| βββ eval/results.jsonl # PushT eval across planners | |
| βββ eval_planner/results.jsonl | |
| ``` | |
| ## Key Checkpoints | |
| | File | Description | | |
| |---|---| | |
| | `checkpoints/ablations/ah_hold0.5/controller.pt` | **Headline PushT controller** β 98% at rh=1, 92% at rh=5 | | |
| | `checkpoints/environment_controllers/reacher/controller.pt` | Reacher controller β 100% | | |
| | `checkpoints/environment_controllers/tworooms/controller.pt` | TwoRooms controller β 100% | | |
| | `checkpoints/base_world_models/pusht/weights.pt` | Frozen PushT world model (LeWM) | | |
| | `checkpoints/base_world_models/reacher/weights.pt` | Frozen Reacher world model (LeWM) | | |
| | `checkpoints/base_world_models/tworooms/weights.pt` | Frozen TwoRooms world model (LeWM) | | |
| ## Training & Evaluation | |
| The controller and planner checkpoints are trained in this project; the LeWM world model is **always frozen** while those planners are trained. | |
| Training code: [`github.com/SaltedLemon/lejepa_control`](https://github.com/SaltedLemon/lejepa_control) | |
| Each controller checkpoint embeds its training arguments, action statistics, step, and validation profile. | |
| ## Citation | |
| If you use this code or these checkpoints, please cite: | |
| ```bibtex | |
| @article{leplanner, | |
| title = {LePlanner: Amortized Iterative Control in Frozen Latent World Models}, | |
| author = {[Authors]}, | |
| journal = {[Venue / arXiv]}, | |
| year = {[Year]}, | |
| url = {https://huggingface.co/SaltedLemon/lejepa-control-pusht} | |
| } | |
| ``` | |
| ## License | |
| - **Controller/planner code and checkpoints:** as specified in the linked `lejepa_control` repository. | |
| - **LeWM world model weights** (`base_world_models/pusht`, `reacher`, `tworooms`): MIT licensed upstream from `quentinll/lewm-*`. | |