GR00T 系列 0 - 安装

安装

硬件要求

推理: 1 块具有 16 GB 以上 VRAM 的 GPU(比如 RTX 4090、L40、H100、Jetson AGX Thor/Orin、DGX Spark)。

微调: 推荐使用 1 块或多块具有 40 GB 以上 VRAM 的 GPU。为获得最佳性能,推荐使用 H100 或 L40 节点。其他硬件(比如 A6000)也可以使用,但训练时间可能更长。

各平台的 CUDA / Python: dGPU(独立 GPU)使用 CUDA 12.8 和 Python 3.10;Jetson Orin 使用 CUDA 12.6 和 Python 3.10;Jetson Thor 以及 DGX Spark 使用 CUDA 13.0 和 Python 3.12。各平台的安装脚本和 Dockerfile 位于 scripts/deployment/ 下。

克隆仓库

GR00T 的部分依赖通过 Submodule 管理。克隆仓库时请一并拉取这些 Submodule:

注意: 下载 /demo_data 中的 Parquet 数据文件需要 git-lfs。请在克隆前安装:sudo apt install git-lfs && git lfs install

git clone --recurse-submodules <https://github.com/NVIDIA/Isaac-GR00T>
cd Isaac-GR00T

如果克隆时未包含 Submodule,请单独初始化:

git submodule update --init --recursive

设置环境

GR00T 使用 uv 进行快速且可复现的依赖管理。请先安装 uv

curl -LsSf <https://astral.sh/uv/install.sh> | sh

dGPU(x86_64):默认

安装 FFmpeg(默认视频后端 torchcodec 需要):

sudo apt-get update && sudo apt-get install -y ffmpeg

创建环境及安装 GR00T:

uv sync --python 3.10

默认安装中包含 GPU 依赖(flash-attn、TensorRT 等)。

验证安装:

uv run python -c "import gr00t; print('GR00T installed successfully')"
每次 uv run 都出现 flash-attn 消息: 每次运行 uv run 时,都可能看到 Installing flash-attn...。这是 uv 在使用 URL 固定的 Wheel 源时的已知行为:uv 每次调用都根据源 URL 重新验证缓存的 Wheel。这并非从源码重新构建;Wheel 已在本地缓存,该操作耗时 2 到 3 秒。此问题仅影响 x86_64 平台。
若要隐藏该消息,可在初始安装后删除本地 pyproject.toml[tool.uv.sources] 下的 flash-attn 条目。但这将破坏 uv lock,并且导致下次重新生成 Lock 时从源码构建 flash-attn
如果微调因 CUDA_HOME is unset 失败: 运行一次 bash scripts/deployment/dgpu/install_deps.sh 来配置 CUDA 路径,或手动执行 export CUDA_HOME=/usr/local/cuda
CUDA 13.x 用户(Thor、Spark 以及其他 CUDA 13+ 平台): PyTorch 2.7 将 Triton 固定到 3.3.1,而该版本无法识别 CUDA 主版本 13+。这将在 Triton 的 ptx_get_version() 中导致 RuntimeError。运行补丁脚本进行修复:
uv run bash scripts/patch_triton_cuda13.sh

对于可避免系统级依赖冲突的容器化设置,请参见 docker/README.md