# openduck_build **Repository Path**: ncnynl/openduck_build ## Basic Information - **Project Name**: openduck_build - **Description**: 用于脚本搭建openduck和microduck的训练框架 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-02 - **Last Updated**: 2026-09-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # openduck_build Open_Duck / MicroDuck / OpenDuckX RL 训练与推理环境一键搭建脚本集(AutoDL / 裸机 PC / Docker 全套)。 ## 版本全景(先用这张表定位你要哪个) | 目录 | 目标机器 | 框架/栈 | 干什么 | 说明文档 | |---|---|---|---|---| | `autodl/` | AutoDL 云 GPU (4090) | 三栈裸机脚本 | 一键安装 + 远程训练/导出/推理 (openclaw→AutoDL) | [autodl/README.md](autodl/README.md) | | `pc/` | 自有 Ubuntu 22.04 + 4090 裸机 | Playground + microduck_rl | 一键安装(自动 sudo/装 nvcc) | [pc/README.md](pc/README.md) | | `docker/openduck/` | 任意 NVIDIA 卡(4090 推荐) | Open_Duck_Playground(JAX/MJX) | Open Duck 双足 RL 训练 | [docker/openduck/README.md](docker/openduck/README.md) | | `docker/openduck1080ti/` | GTX 1080Ti / 老驱动 | Open_Duck_Playground(JAX/MJX) | 同上,1080Ti 定制档 | [docker/openduck1080ti/README.md](docker/openduck1080ti/README.md) | | `docker/microduck/` | RTX 4090 等 sm_70+ | microduck_rl(mjlab / MuJoCo Warp) | MicroDuck RL 训练 | [docker/microduck/README.md](docker/microduck/README.md) | | `docker/microduck1080ti/` | (名义版,实际同 4090 内容) | microduck_rl | ⚠️ cu129 无 sm_61 kernel → 1080Ti 上仅推理/验证,训练去 4090 | [docker/microduck1080ti/README.md](docker/microduck1080ti/README.md) | | `docker/openduckx1080ti/` | GTX 1080Ti(AiDL) | openduckx_rl(mjlab / AZT 101D) | **OpenDuckX 策略推理主力**(纯 CPU 可跑)+ 可选训练 | [docker/openduckx1080ti/README.md](docker/openduckx1080ti/README.md) | | `docker/microduck-lab/` | 任意(纯 CPU,无 NVIDIA 要求) | microduck-lab(SB3 + CPU MuJoCo + viewer) | CPU 原型快速迭代 reward/行为 | [docker/microduck-lab/README.md](docker/microduck-lab/README.md) | | `microduck-lab/`(顶层) | Linux/Mac 裸机(纯 CPU) | microduck-lab | 同上的裸机一键装(非 Docker) | [microduck-lab/README.md](microduck-lab/README.md) | > **框架与机器人对应关系(别混用)** > - **Open_Duck_Playground**(JAX/MJX)= 旧 Open Duck 训练栈(101D 时代之前),`docker/openduck*` > - **microduck_rl**(mjlab/Warp)= MicroDuck 机器人(商用开源版)训练栈,`docker/microduck*`、`autodl`、`pc` > - **openduckx_rl**(mjlab/Warp)= Open Duck Mini 迁移版训练仓(AZT 101D 契约),`docker/openduckx1080ti`(推理)+ `autodl/install_openduckx_rl_autodl.sh`(训练) > - **microduck-lab** = 纯 CPU 原型实验台,权重不上真机(契约与 microduck_rl 互通) ## 部署方式选择(按场景) | 场景 | 用哪个 | |---|---| | AutoDL 云 GPU (4090) 训练 | `autodl/` 脚本(openduckx_rl 用 `install_openduckx_rl_autodl.sh`) | | openclaw 远程控制 AutoDL 训练/导出 | `autodl/openduckx_remote.sh` + `autodl/fetch_onnx.sh` | | 自有 Ubuntu 22.04 + 4090 裸机 | `pc/` 脚本 | | 本地 PC 想容器化、不污染系统 | `docker/` 对应版本 | | AiDL 1080Ti 跑 OpenDuckX 101D 策略推理 | `docker/openduckx1080ti/` | | 1080Ti 上无 GPU 要求地快速试 RL 思路 | `docker/microduck-lab/` 或顶层 `microduck-lab/` | | MicroDuck 真机策略 GPU 训练 | `docker/microduck/`(4090)或 AutoDL | > 三套方案版本 pin 完全一致(见下),按需选择;Docker 目录还额外支持 1080Ti 老卡。 ## 版本兼容性(踩坑固化) 两套脚本均固定以下**验证过的版本组合**(AutoDL 4090 实测跑通): ### Open_Duck_Playground(JAX/MJX,Python 3.11) - `playground==0.0.5`:`>=0.1.0` 重构删除了 `_src.collision.geoms_colliding` 内部 API,源码会 import 崩溃 - `jax==0.5.3` + `brax==0.12.1`(4090/新驱动):新版 jax 移除 `jax.device_put_replicated`,brax 训练会 AttributeError - 1080Ti 档:`jax[cuda12]==0.4.38` + `brax==0.12.1`(0.4.38 含 sm_61 kernel;jaxlib 只有 CPU wheel,GPU 靠 jax-cuda12-plugin) - `JAX_DEFAULT_MATMUL_PRECISION=highest`:规避 Ampere+ (30/40系) TF32 复现问题 - mujoco_menagerie 固定 commit `14ceccf...`(deepmind,import 副作用触发 clone) ### microduck_rl / openduckx_rl(mjlab / MuJoCo Warp,Python 3.12) - `mjlab==1.3.0` + `warp-lang==1.12.0` + `torch==2.9.1(cu129)` + `mujoco-warp==3.8.1`(uv.lock 锁定,`uv sync --frozen` 精确复现) - bam(better-actuator-models)是 `[tool.uv.sources]` git 依赖 → **必须 `uv sync`**(`uv pip install` 忽略 sources) - 驱动:cu129 需宿主 ≥ 570;1080Ti (sm_61) 无 cu129 kernel → 训练不可用,仅推理 - 环境统一用 `UV_PROJECT_ENVIRONMENT=/opt/venv`(项目目录外,开发模式整目录挂载不遮蔽) ### microduck-lab(SB3 + CPU torch,Python 3.12) - `torch==2.9.1+cpu`(无 GPU 自动换 CPU wheel,省 ~3GB);`onnxruntime` 容器内无 glibc 2.27 坑 ## 网络适配(国内) - `USE_MIRROR=1` / autodl 脚本默认:gitee 源码优先 + 清华 PyPI + npmmirror python + ghfast.top GitHub 加速 - AutoDL 学术加速 (`source /etc/network_turbo`) 自动识别:GitHub 步骤走代理、PyPI 步骤直连镜像 - Docker 构建 `--build-arg USE_MIRROR=1`(或 .env 配置);openduckx_rl 私仓源码经 `fetch_src.sh` 先拉到 `src/` 再 COPY 进镜像 ## 硬件适配 - AutoDL:RTX 4090 (sm_89),脚本含 GPU 检测 + 冒烟训练验证 - 本地 Docker:按卡选目录(4090 → openduck/microduck;1080Ti → openduck1080ti/openduckx1080ti;纯 CPU → microduck-lab) - 驱动决策表与 1080Ti 注意事项见各目录 README