<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>MuJoCo on WorldSense 技术笔记</title><link>https://worldsensetech.com/zh/tags/mujoco/</link><description>Recent content in MuJoCo on WorldSense 技术笔记</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Tue, 11 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://worldsensetech.com/zh/tags/mujoco/index.xml" rel="self" type="application/rss+xml"/><item><title>DreamerV3 训练技巧：从踩坑到收敛的实战经验</title><link>https://worldsensetech.com/zh/articles/dreamerv3-training-tips/</link><pubDate>Tue, 11 Aug 2026 00:00:00 +0000</pubDate><guid>https://worldsensetech.com/zh/articles/dreamerv3-training-tips/</guid><description>&lt;p&gt;上一篇文章梳理了世界模型的四条表征路线。今天我们回到 DreamerV3 的实战主题，聊聊训练过程中的那些坑和技巧。本文基于 DreamerV3 commit &lt;code&gt;e3f02248&lt;/code&gt;、JAX + Haiku、MuJoCo + DM Control 的本地实验环境，不同版本的参数名和配置可能有差异。&lt;/p&gt;
&lt;p&gt;DreamerV3 是目前最开源、最成熟的世界模型实现之一。但如果你真的动手训练过，一定知道这个过程并不轻松——环境配置、超参数调优、训练不稳定、收敛慢……各种坑。&lt;/p&gt;
&lt;p&gt;这篇文章总结我在训练 DreamerV3 过程中遇到的常见问题和解决方案，希望能帮你少走弯路。&lt;/p&gt;
&lt;h2 id="环境配置的坑"&gt;环境配置的坑&lt;/h2&gt;
&lt;h3 id="1-mujoco-版本问题"&gt;1. MuJoCo 版本问题&lt;/h3&gt;
&lt;p&gt;DreamerV3 的官方实现基于 JAX + MuJoCo。但 MuJoCo 的版本选择很关键：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MuJoCo 2.x vs 3.x。官方代码基于 MuJoCo 2.x，但 3.x 版本有性能改进。如果用 3.x，需要修改部分 API 调用。&lt;/li&gt;
&lt;li&gt;mujoco-py vs mujoco。mujoco-py 是旧的 Python 绑定，已经停止维护。建议直接用官方的 mujoco 包。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;建议：优先使用与你当前 DreamerV3 commit 匹配的 MuJoCo 版本，不要一开始就升级整个环境。&lt;/p&gt;
&lt;h3 id="2-jax-的-gpu-配置"&gt;2. JAX 的 GPU 配置&lt;/h3&gt;
&lt;p&gt;JAX 的 GPU 支持需要正确安装 CUDA 和 cuDNN。常见问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CUDA 版本不匹配。JAX 对 CUDA 版本有严格要求，安装前查看官方文档。&lt;/li&gt;
&lt;li&gt;GPU 内存不足。JAX 默认会占用所有 GPU 内存。可以设置 &lt;code&gt;XLA_PYTHON_CLIENT_MEM_FRACTION=0.9&lt;/code&gt; 限制内存使用。如果遇到编译阶段内存峰值过高，也可以设置 &lt;code&gt;XLA_PYTHON_CLIENT_PREALLOCATE=false&lt;/code&gt; 关闭预分配。&lt;/li&gt;
&lt;li&gt;多 GPU 问题。JAX 的多 GPU 支持和 PyTorch 不同，需要特别配置。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;下图是 DreamerV3 在 RTX 5090D 上训练时的实际 GPU 占用情况，显存占用约 25.6GB（32GB 的 78%），GPU 利用率 91%：
![DreamerV3 训练时 GPU 占用情况](/images/nvidia smi.png) 图：RTX 5090D 上 DreamerV3 训练时的 GPU 显存占用（25.6GB / 32GB，利用率 91%）&lt;/p&gt;</description></item><item><title>机器人训练为什么需要虚拟世界？MuJoCo 和 Isaac Sim 全面对比</title><link>https://worldsensetech.com/zh/articles/mujoco-vs-isaac-sim/</link><pubDate>Sun, 09 Aug 2026 00:00:00 +0000</pubDate><guid>https://worldsensetech.com/zh/articles/mujoco-vs-isaac-sim/</guid><description>&lt;p&gt;上一篇我们聊了域随机化的工程实现。但不管是域随机化、策略训练、还是 Sim-to-Real 验证，都离不开一个基础工具：仿真环境。&lt;/p&gt;
&lt;p&gt;为什么仿真对具身智能这么重要？原因很直接：真实世界的机器人数据太贵、太慢、太危险。你不可能让一台真实机器人每天尝试几百万次抓取来学习——硬件磨损、时间成本、安全风险都不允许。仿真环境提供了一个可无限重试、可完全控制变量的训练场所，是当前具身智能规模化训练的核心基础设施。&lt;/p&gt;
&lt;p&gt;目前这个领域最主流的两个选择是 MuJoCo 和 NVIDIA Isaac Sim。这篇文章从五个维度做系统对比：物理引擎、渲染能力、RL 训练效率、生态工具、适用场景，帮你根据项目需求做出选择。&lt;/p&gt;
&lt;h2 id="物理引擎对比"&gt;物理引擎对比&lt;/h2&gt;
&lt;h3 id="mujoco"&gt;MuJoCo&lt;/h3&gt;
&lt;p&gt;MuJoCo（Multi-Joint dynamics with Contact）由 Emo Todorov 团队开发，2021年被 DeepMind 收购后开源。它的核心优势是：&lt;/p&gt;
&lt;p&gt;接触动力学精度高。MuJoCo 使用约束-based 的接触模型，能准确模拟摩擦、碰撞、关节限位等。对于机器人操作任务（抓取、推、插装），接触精度至关重要。&lt;/p&gt;
&lt;p&gt;计算速度快。MuJoCo 的求解器高度优化，单线程就能跑很快。对于需要大量 rollouts 的强化学习训练，速度是硬指标。&lt;/p&gt;
&lt;p&gt;数值稳定性好。MuJoCo 的积分器和约束求解器经过多年打磨，不容易出现仿真崩溃（比如物体穿模、关节爆炸）。&lt;/p&gt;
&lt;p&gt;渲染能力近年来有所增强，但设计重点不同。MuJoCo 近年来增强了渲染能力，支持相机观测、深度图等视觉输入，DM Control pixels benchmark、RoboSuite 图像任务、Dreamer 系列视觉控制实验都基于 MuJoCo 运行。但它的设计重点仍然是高效动力学模拟和控制研究，而不是大规模照片级合成数据生成。如果需要照片级逼真的图像输入，Isaac Sim 仍有明显优势。&lt;/p&gt;
&lt;h3 id="isaac-sim"&gt;Isaac Sim&lt;/h3&gt;
&lt;p&gt;Isaac Sim 是 NVIDIA 基于 Omniverse 平台开发的机器人仿真器。它的核心优势是：&lt;/p&gt;
&lt;p&gt;GPU 加速物理。Isaac Sim 基于 NVIDIA PhysX 5，并通过 GPU 加速和 Isaac Lab 的并行环境管理支持大规模机器人学习训练。这种架构源自 Isaac Gym 的 GPU pipeline，在 Isaac Lab 的 vectorized environments 中得到延续。&lt;/p&gt;</description></item><item><title>从零搭建世界模型实验环境：MuJoCo + DreamerV3 实战指南</title><link>https://worldsensetech.com/zh/articles/world-model-lab-setup/</link><pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate><guid>https://worldsensetech.com/zh/articles/world-model-lab-setup/</guid><description>&lt;p&gt;前面写了好几篇世界模型的理论文章——从 RSSM 的数学原理到 Sim-to-Real 迁移，到 VLA 和世界模型的对比。有读者问：道理我都懂了，怎么动手跑起来？&lt;/p&gt;
&lt;p&gt;今天这篇就是回答这个问题的。我会手把手带你搭建一个完整的世界模型实验环境，从安装到训练到可视化，一步步走通。跑通之后，你就可以在这个基础上做自己的实验了。&lt;/p&gt;
&lt;p&gt;我们选用的工具链是：MuJoCo（物理仿真）+ DreamerV3（世界模型）。如果你需要更高保真度的渲染，后面可以替换为 Isaac Sim，但入门阶段 MuJoCo 足够了。&lt;/p&gt;
&lt;h2 id="工具选型为什么是这两个"&gt;工具选型：为什么是这两个&lt;/h2&gt;
&lt;p&gt;MuJoCo：目前机器人仿真领域最主流的引擎之一。物理精度高、API 简洁、速度快。2021 年被 DeepMind 收购后开源免费，现在是机器人学习研究的事实标准，也是连续控制世界模型研究中最常用的 benchmark 之一。&lt;/p&gt;
&lt;p&gt;DreamerV3：Danijar Hafner 等人开发的世界模型算法，是 Dreamer 系列的第三代。它用 RSSM（循环状态空间模型）学习环境动态，在想象空间中训练 Actor-Critic 策略。代码开源，文档清晰，是学习世界模型最好的起点。需要注意的是，DreamerV3 底层基于JAX + Haiku框架，而非 TensorFlow。&lt;/p&gt;
&lt;p&gt;日志格式说明：DreamerV3（commit e3f02248）输出自己的日志格式（&lt;code&gt;metrics.jsonl&lt;/code&gt; 和 &lt;code&gt;scores.jsonl&lt;/code&gt;），不使用 TensorBoard 的 event files。虽然名字里带&amp;quot;json&amp;quot;，但这是 JSON Lines 格式（每行一个 JSON 对象），可以用 Python 直接读取和可视化。本教程会教你如何用 Python 分析这些日志。&lt;/p&gt;
&lt;p&gt;如果你本地机器内存不足（低于 32GB），建议使用云端资源：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Google Colab：免费 GPU，内存约 12-25GB，适合快速验证。注意 Colab 的 session 有时长限制&lt;/li&gt;
&lt;li&gt;AutoDL / 矩池云：国内云平台，按小时计费，GPU 机型丰富&lt;/li&gt;
&lt;li&gt;AWS / GCP / Azure：按需启动 GPU 实例，适合长期实验&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;云端运行的好处是不受本地硬件限制，坏处是需要上传下载数据和模型。对于入门学习，Google Colab 是最经济的选择。&lt;/p&gt;</description></item></channel></rss>