项目结构¶
UniLab 将运行时 contract、配置、训练脚本和文档分置于不同的 owner 区域。当你需要在改动行为之前找到正确的层时,请使用这张索引图。
路径 |
Owner 角色 |
|---|---|
|
轻量的训练与工具入口。脚本负责组合 Hydra 配置并调用 owner 层代码。 |
|
Hydra 根配置和任务 owner YAML。顶层 CLI 将后端选择暴露为 |
|
Registry、env state、scene 以及 backend contract。 |
|
任务 env 实现,以及任务专属的 reset、reward、observation 和 DR 逻辑。 |
|
PPO、APPO、off-policy、MLX、HIM-PPO 和 HORA 算法代码。 |
|
共享内存与异步 runner 原语。 |
|
共享的训练辅助工具,用于日志、回放、种子处理和配置守卫(config guard)。 |
|
回放、渲染、NaN 检查以及 scene/export 工具。 |
|
Contract、config、env、algorithm、script 和集成测试。 |
|
英文的用户、部署、开发者和参考文档。 |
|
中文文档,其兼容性路径由语言切换器处理。 |
配置布局¶
主要的配置根为:
conf/ppo/config.yaml,用于 torch PPO。conf/ppo/config_mlx.yaml,用于 MLX PPO。conf/appo/config.yaml,用于 APPO。conf/offpolicy/config.yaml加上conf/offpolicy/algo/*.yaml,用于 SAC、 TD3 和 FlashSAC。conf/ppo_him/config.yaml和conf/hora_distill/config.yaml,用于 专门的 HIM-PPO 和 HORA 路径。
任务 owner YAML 即后端身份。示例:
uv run train --algo ppo --task go2_joystick_flat --sim mujoco
uv run train --algo ppo --task go2_joystick_flat --sim motrix
uv run train --algo sac --task g1_walk_flat --sim mujoco
不要仅通过覆盖 training.sim_backend 来切换后端。
后续去向¶
用户训练命令:CLI 参考
Hydra owner YAML:Hydra 配置
面向贡献者的 contract:Developer 指南