任务概览
本章以 Pendulum 倒立摆为例,依次完成数据准备、配置、训练和模型使用。每一步都附有“接入自己的业务”提示, 说明从示例迁移到实际任务时需要重新确认什么。开始前先完成安装与授权。
倒立摆任务与目标
倒立摆通过施加力矩使摆杆转到正上方并保持。它是仿真基准,用来说明训练与推理流程。
| 任务角色 | 物理含义 | 数据与配置 |
|---|---|---|
| 状态 | cos θ、sin θ、角速度 θ̇ | states,形状 [20000, 3] |
| 动作 | 力矩,设备模型上限 ±2 N·m | actions,形状 [20000, 1] |
| 轨迹 | 100 段记录,每段 200 步 | index,形状 [100] |
| 目标 | 接近正上方、平稳、节省力矩 | reward.py |
图:蓝色表示摆杆当前姿态,绿色虚线表示直立目标,橙色表示控制力矩;训练目标兼顾姿态、角速度和力矩开销。
开始前准备
交付包包含 examples/pendulum/config.min.yaml、reward.py 和 data/pendulum.npz, 无需额外的数据同步命令。下文相对路径从解压目录开始,第 3 步会明确切换到 examples/pendulum/。
在线用户先保存 access key,并按首次运行取得许可证; 离线用户安装许可证或设置 REVIVE_LICENSE 后,使用 revive license status 确认状态。 在线注册本身不会申请许可证,配置预检也不会代替首次训练申请授权。
示例资产包(不含 REVIVE SDK)保留 examples/ 和 deploy/ 目录结构。 它不能安装 SDK;仅执行本章最小倒立摆教程无需下载,使用完整案例时另行取得。补充使用前请先完成安装与授权。其他任务的数据要求见各自案例说明。
选择训练目标
- 世界模型:定义数据与图,训练并检验单步和多步预测,得到
env.pt;不需要奖励或策略阶段。 - 世界模型与策略:先验证世界模型,再用奖励和动作边界训练策略,得到
policy.pt并检查控制效果。
仅建模时完成世界模型分支;需要生成控制动作时继续策略分支。
四步操作流程
| 页面 | 在倒立摆中做什么 | 接入自己的业务时确认什么 |
|---|---|---|
| 准备数据 | 检查状态、动作、轨迹和奖励 | 目标、变量可用性、单位、时间对齐与数据覆盖 |
| 编写配置 | 生成骨架、修正定义、执行预检 | 图关系、物理边界、任务阶段及自己的奖励 |
| 训练模型 | 先检查流程,再正式训练并读报告 | 验证集隔离、比较基线、选模指标和计算预算 |
| 使用模型 | 执行预测、生成动作并检查部署文件 | 输入输出契约、会话状态、接口与回退要求 |
smoke 模式减少训练轮数与采样量,用于检查软件流程。正式模型效果需要在确定的数据划分和评估条件下验证, 不能由一次 smoke 运行的指标判断。
接入自己的业务
先写清业务目标与现有方案,再从目标倒推状态、动作、外生变量及数据来源。训练前就约定收益、约束和比较条件, 不要等模型产生结果后再选择验收标准。
数据准备页提供变量、图与奖励的业务实操。训练后按 分析训练结果区分流程完成、模型效果和业务验收;接入前按 使用与部署模型确认接口、会话与回退安排。
已有数据、模型或训练记录时,可按下表选择后续操作:
| 已有材料与目的 | 后续入口 |
|---|---|
| 只有数据,先建立世界模型 | 世界模型单阶段训练 |
| 中断后继续训练,或为已完成的单阶段 BC 增加轮数 | 精确续训、追加训练轮数 |
| 同一任务中已有世界模型,只执行后续策略阶段 | 阶段执行 |
| 已有固定控制规则,评估其操作后果 | 世界模型推演 |
| 优化已有 PID 控制器参数 | 控制器参数搜索 |