# GPU 环境与机器记录 基线:LeRobot 0.6.1 / Python 3.12。脚本适用 Ubuntu x86_64 GPU 主机;不用于 Windows 或 RPi。3080 的 CUDA、视频和合成 ACT 短训练已验收,详见 [记录](../docs/p0-3080-20260908.md);3090 未验收;真实任务采集和 ACT 短训练已通过,正式训练进行中,见 [进度追踪](../docs/progress.md)。 ## 分工与路径 | 机器 | 用途 | 环境记录 | |---|---|---| | Windows | 编辑、静态检查、git 同步 | 本仓库 `D:\robot\lerobot` | | 3080 10GB | USB 遥操、采集、推理,首次解析依赖 | Ubuntu 24.04.3 / 550.163.01 / Python 3.12.3 / uv 0.12.10;锁见实测记录 | | 3090 24GB | 训练,同局域网 | OS/驱动/Python/uv/锁 SHA256:待填 | | RPi 5 | P3 起硬件驱动、采图、执行和故障处理 | ARM64 环境另行验证,不复用 x86_64 锁 | | DRIVE Orin | 可选实验 | 不阻塞主线 | GPU 机统一路径:项目 `~/robot/proj`;专用环境 `~/robot/.venv-lerobot-0.6.1`;数据 `~/robot/data`;模型 `~/robot/models`;训练输出 `~/robot/outputs`;安装报告 `~/robot/reports`。脚本支持 `ROBOT_WORKDIR`,改动后相应调整命令。 ## 首次安装与依赖锁 前置:安装 NVIDIA 驱动、git、uv、FFmpeg,以及构建遥操依赖 evdev 所需的 `build-essential`、`python3-dev`。Ubuntu 可执行 `sudo apt-get install -y ffmpeg build-essential python3-dev`。脚本用 uv 创建 Python 3.12 环境(必要时 uv 下载 Python),不自动 sudo 安装系统组件。缺少前置即退出。 首次解析流程(本机已完成;新机器有仓库附带锁时直接使用下方默认安装命令): ```bash mkdir -p ~/robot git clone https://git.hyonglin.top/ylhan/lerobot_learn.git ~/robot/proj bash ~/robot/proj/env/setup_lerobot.sh --resolve ``` 产生 `env/requirements-linux-py312.lock` 和 `env/requirements-linux-py312.lock.input.sha256`。第一次解析尚不是经过验证的完整环境锁:先完成脚本检查,再做短视频编码/解码、小样本训练、保存和重新加载模型。 将这两个文件一起传到 3090 同一项目的 `env/` 目录,再运行: ```bash bash ~/robot/proj/env/setup_lerobot.sh source ~/robot/.venv-lerobot-0.6.1/bin/activate ``` 默认安装严格使用锁与包哈希,不重新解析。两台比较报告中的锁 SHA256;验收通过后把锁、输入指纹与精简环境信息提交 git。**当前仓库已包含 3080 验证的完整依赖锁和指纹,默认安装可直接使用。不要对现有锁执行 `--resolve`。** 两台尽量统一 Ubuntu 版本,记录 Python 补丁版本、uv 版本与 NVIDIA 驱动;同一 Python 包锁不能锁定系统库或驱动。脚本 `uv pip sync` 仅作用于新命名的项目专用环境,会使其中包与锁一致,请勿把它用于其他项目。 更新依赖时修改 `requirements.in`,人工归档旧锁及指纹后重新解析、两机复验;脚本拒绝覆盖已有锁,也不会自动更新 LeRobot。大模型、双臂移动所需新 extras 在对应阶段再加入输入并复验。 ## 网络与数据 默认使用官方索引。若需要镜像,可在安装前显式设置 `UV_DEFAULT_INDEX=https://pypi.tuna.tsinghua.edu.cn/simple`;uv 自身的 Python 下载不由该变量代理。下载失败应按报告排查,不自动切换不明 Git 代理。 同局域网优先 rsync。HF Hub 可选;登录使用 `hf auth login`,认证上传使用官方端点,勿把下载镜像当作上传服务。Token 保存在机器凭据环境中,不进入 git、报告或聊天。 ```bash # 将占位符替换成自己的 SSH 目标;先停止录制,传完整且不再写入的数据目录。 rsync -avP ~/robot/data/ USER@TRAIN_HOST:~/robot/data/ rsync -avP USER@TRAIN_HOST:~/robot/outputs/ ~/robot/outputs/ ``` 每个实验保留数据版本/校验值、模型与处理器、配置、校准备份和评测记录。模型快照记录来源 revision,不自动随 Hub main 更新。同步代码使用 git;3080 为当前本机,3090 的远程访问尚未验证。 ## 验收报告 脚本失败即非零退出,不把 MISS 当通过;输出完整日志、包列表、Python/FFmpeg 版本、CLI 帮助与锁哈希。脚本验证 CUDA 矩阵运算、实际策略模块和视频库导入,不连接电机,也不下载模型权重。 后续必须记录:录制/解码结果、训练步耗时、训练和推理峰值显存、单次推理 P50/P95/P99,以及 20 次真机评测。不要将包可导入或显存参考值当作任务能力证据。 ## 2026-09-10 本机更新 内核 `7.0.0-31-generic`,NVIDIA 驱动 `580.173.02`,CUDA 实际训练已通过。上表 550 驱动为首次验收的历史配置。当前项目路径 `~/lerobot_learn`,任务数据在项目 `data/`,模型与日志在项目 `outputs/train/`;环境仍为 `~/robot/.venv-lerobot-0.6.1`。本次 ACT 基线在 3080 训练,不依赖 3090。