stable-worldmodel:可复现世界模型研究评估平台,提供多方面支持与多样功能
stable-worldmodel可复现世界模型研究与评估平台stable-worldmodel 是一个用于可复现世界模型研究与评估的平台提供了安装指南、快速入门教程、环境介绍、求解器与基线模型说明、文档资料、相关论文以及引用信息。它为世界模型研究的三个阶段——数据收集、训练和基于模型预测控制的评估提供了统一的接口涵盖了大量标准化环境。该平台还附带了常见基线模型和规划求解器的参考实现让研究代码能够专注于核心贡献即模型和目标。安装从 PyPI 安装可使用命令进行安装pip install stable-worldmodel # 仅安装基础包pip install stable-worldmodel[all] # 安装全部组件包括训练、环境和数据格式支持LeRobot 数据集支持是一个可选的额外组件需要 Python 3.12 及以上版本安装命令为pip install stable-worldmodel[lerobot]从源代码安装用于开发安装步骤如下git clone https://github.com/galilai-group/stable-worldmodelcd stable-worldmodeluv venv --python3.10 source .venv/bin/activateuv sync --extra all --group dev数据集和检查点存储在 $STABLEWM_HOME 目录下默认路径为 ~/.stable_worldmodel/可以通过修改该环境变量来指定存储位置。需要注意的是该库正在积极开发中次要版本之间的 API 可能会发生变化。快速入门以下是快速入门的代码示例import stable_worldmodel as swmfrom stable_worldmodel.policy import WorldModelPolicy, PlanConfigfrom stable_worldmodel.solver import CEMSolver# 1. 收集数据集world swm.World(swm/PushT-v1, num_envs8)world.set_policy(your_expert_policy)world.collect(data/pusht_demo.lance, episodes100, seed0)# 2. 加载数据集并训练世界模型格式自动检测dataset swm.data.load_dataset(data/pusht_demo.lance, num_steps16)world_model ... # 定义你的模型# 3. 使用模型预测控制进行评估solver CEMSolver(modelworld_model, num_samples300)policy WorldModelPolicy(solversolver, configPlanConfig(horizon10))world.set_policy(policy)results world.evaluate(episodes50)print(f成功率: {results[success_rate]:.1f}%)在 scripts/train/ 目录下提供了参考实现lewm.py 实现了 LeWMprejepa.py 复现了 DINO - WM。同时还展示了在 H200 GPU 上使用 Push - T LanceDB 数据集训练 LeWM 时的 GPU 利用率。数据格式数据的记录、加载和转换都通过一个小型的格式注册表进行。可以根据需求选择合适的后端也可以注册自己的格式。数据格式如下格式磁盘布局适用场景lanceLanceDB 表按情节连续的扁平行默认格式便于追加数据支持快速索引读取hdf5单个 .h5 文件每列一个数据集便于携带的单文件制品folder.npz 列 每步一张 JPEG 图片便于检查和部分键流式传输video.npz 列 每集一个 MP4 文件使用 decord长情节、紧凑的图像存储lerobotlerobot://只读适配器直接在 LeRobot Hub 数据集上进行训练/评估代码示例如下world.collect(data/pusht.lance, episodes100) # 默认使用 lance 格式world.collect(data/pusht_video, episodes100, formatvideo) # 使用视频格式ds swm.data.load_dataset(data/pusht.lance, num_steps16) # 自动检测格式swm.data.convert(data/pusht.lance, data/pusht_video, dest_formatvideo, fps30) # 一次性迁移每个写入器都接受一个 mode 参数默认值为 append还支持 overwrite 和 error重新运行 world.collect 会扩展现有数据集而不会报错。吞吐量与存储基准测试以下基准测试结果由 scripts/benchmark/compare_h5_lance.py 脚本生成可使用该脚本进行复现。测试使用了 LeWorldModel 论文中的 PushT 数据集。测试结果如下格式数据源缓存情况样本/秒每步耗时msHDF5本地无缓存1416.145.2HDF5本地有缓存1474.043.4LanceDB本地无缓存4814.813.3LanceDB本地有缓存4431.314.4Video本地-1330.648.1LanceDBS3无缓存3183.720.1LanceDBS3有缓存3253.219.7HDF5S3无缓存9.17032.5HDF5S3有缓存756.584.6本地存储大小每个格式如下格式本地大小HDF543.12 GBLanceDB13.31 GBVideo496.29 MB环境环境来自 DeepMind Control Suite、Gymnasium 经典控制、OGBench、Craftax、Arcade Learning Environment100 多种 Atari 游戏以及经典世界模型基准测试Two - Room、PushT。大多数环境都带有一组可独立控制的视觉和物理参数光照、纹理、动力学、形态便于在无需额外设置的情况下评估模型在分布偏移时的零样本泛化能力。添加新环境只需遵循 Gymnasium 接口即可。完整环境列表环境 ID视觉因素数量swm/PushT - v116swm/TwoRoom - v117swm/OGBCube - v011swm/OGBScene - v012swm/HumanoidDMControl - v07swm/CheetahDMControl - v07swm/HopperDMControl - v07swm/ReacherDMControl - v08swm/WalkerDMControl - v08swm/AcrobotDMControl - v08swm/PendulumDMControl - v06swm/CartpoleDMControl - v06swm/BallInCupDMControl - v09swm/FingerDMControl - v010swm/ManipulatorDMControl - v08swm/QuadrupedDMControl - v07swm/CartPoleControl - v110swm/MountainCarControl - v05swm/MountainCarContinuousControl - v04swm/AcrobotControl - v111swm/PendulumControl - v19swm/FetchReach - v38swm/FetchPush - v311swm/FetchSlide - v311swm/FetchPickAndPlace - v311swm/CraftaxClassicPixels - v1-swm/CraftaxClassicSymbolic - v1-swm/CraftaxPixels - v1-swm/CraftaxSymbolic - v1-ALE/*100 多种 Atari 游戏-求解器与基线模型求解器类型交叉熵方法Cross - Entropy Method, CEM采样方法改进的 CEMImproved CEM, iCEM采样方法模型预测路径积分Model Predictive Path Integral, MPPI采样方法预测采样Predictive Sampling采样方法梯度下降Gradient Descent, SGD, Adam梯度方法投影梯度下降Projected Gradient Descent, PGD梯度方法增广拉格朗日约束优化Augmented Lagrangian Constrained Opt基线模型类型DINO - WMJEPAPLDM JEPALeWM JEPAGCBC行为克隆GCIVL强化学习GCIQL强化学习命令行界面安装完成后可以使用 swm 命令在不编写代码的情况下检查和转换数据集、环境和检查点示例命令如下swm datasets # 列出缓存的数据集swm inspect pusht_expert_train # 检查特定数据集swm envs # 列出所有注册的环境swm fovs PushT - v1 # 显示环境的视觉因素swm checkpoints # 列出可用的模型检查点swm convert pusht_expert_train --dest - format video # 将数据集转换为另一种格式文档完整的文档可在 [galilai - group.github.io/stable - worldmodel](galilai - group.github.io/stable - worldmodel) 查看包含 API 参考、教程和指南。基于 stable - worldmodel 的项目C - JEPALeWM引用引用格式如下misc{maes_lld2026swm,title {stable - worldmodel: A Platform for Reproducible World Modeling Research and Evaluation},author {Lucas Maes and Quentin Le Lidec and Luiz Facury and Nassim Massaudi and Ayush Chaurasia and Francesco Capuano and Richard Gao and Taj Gillin and Dan Haramati and Damien Scieur and Yann LeCun and Randall Balestriero},year {2026},eprint {2605.21800},archivePrefix {arXiv},primaryClass {cs.LG},url {https://arxiv.org/abs/2605.21800},}问题反馈如果有任何问题请提交一个 issue将竭诚提供帮助。那么在使用过程中会遇到哪些具体问题呢