项目结构¶
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 算法代码。 |
|
共享内存与异步 runner 原语。 |
|
共享的训练辅助工具,用于日志、回放、种子处理和配置守卫(config guard)。 |
|
回放、渲染、NaN 检查以及 scene/export 工具。 |
|
Contract、config、env、algorithm、script 和集成测试。 |
|
英文的用户、部署、开发者和参考文档。 |
|
中文文档,其兼容性路径由语言切换器处理。 |
配置布局¶
主要的配置根为:
src/unilab/conf/ppo/config.yaml,用于 torch PPO。src/unilab/conf/appo/config.yaml,用于 APPO。src/unilab/conf/sac/config.yaml、src/unilab/conf/td3/config.yaml和src/unilab/conf/flashsac/config.yaml, 分别用于 SAC、TD3 和 FlashSAC,算法超参数内联在各自的 config.yaml 中。
任务 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 指南