news 2026/9/11 5:29:23

HeyGem.ai 在 WSL2 下配置 Docker GPU 直通

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HeyGem.ai 在 WSL2 下配置 Docker GPU 直通

HeyGem.ai 在 WSL2 下配置 Docker GPU 直通

【免费下载链接】Duix-Avatar🚀 Truly open-source AI avatar(digital human) toolkit for offline video generation and digital human cloning.项目地址: https://gitcode.com/GitHub_Trending/he/Duix-Avatar

给 HeyGem.ai(数字人视频合成项目)在 WSL2 里配 Docker GPU,"调不到卡"的根因不在 WSL 本身:容器默认与宿主设备隔离,GPU 设备文件必须由 NVIDIA Container Toolkit 在容器启动时显式注入,缺了这一环,--gpus all必然失败。本文按环境自检、直通链路、启动排障、运行期调优四段,把整条链路走完。

🔍 开机自检:核查 WSL2 版本、NVIDIA 驱动与 Docker 后端

部署前先做一轮环境体检,三个检查点各跑一条命令:

  • WSL 版本:Windows 10 19042.1526 以上系统,在 Windows 终端执行wsl --version,确认目标发行版的VERSION2;若停在 1,先wsl --set-version <发行版名> 2升级。
  • NVIDIA 驱动:WSL 终端直接跑nvidia-smi,能列出显卡且驱动≥510.06才满足 WSL2 直通要求。驱动装在 Windows 侧,WSL 内不需要另装。
  • Docker 后端:Docker Desktop 的 Resources 页应显示使用 WSL 2 backend,且 WSL Integration 中已启用对应发行版。

三项都过再往下走,任何一项不达标,后面的容器验证都会卡在同一位置。

打通 GPU 直通链路:安装 NVIDIA Container Toolkit 并验证 nvidia-smi

Toolkit 是 Docker 识别 GPU 的核心组件,Docker Desktop 的 WSL2 环境多数已预装。若nvidia-ctk命令不存在,先按 README_zh.md 的 Ubuntu 安装章节添加 NVIDIA 软件源,再执行安装与 runtime 注册:

sudo apt update && sudo apt install -y nvidia-container-toolkit sudo nvidia-ctk runtime configure --runtime=docker sudo systemctl restart docker

装完先用一条最小容器验证直通是否真正生效:

docker run --rm --gpus all nvidia/cuda:12.1.0-base-ubuntu22.04 nvidia-smi

输出里能看到显卡型号与显存大小,说明设备注入成功;若报could not select device driver "nvidia",基本就是 runtime 没注册,回到上一步确认。

拉起服务并排障:Compose 启动 HeyGem.ai 并核对容器状态

把仓库 clone 进 WSL 发行版后,在部署目录拉起服务:

git clone https://gitcode.com/GitHub_Trending/he/HeyGem.ai cd HeyGem.ai/deploy && docker-compose -f docker-compose-linux.yml up -d

首次启动要拉取三个镜像,官方说明会消耗约 70G 流量,耐心等。GPU 预留参数已预置在编排文件里,见 deploy/docker-compose-linux.yml 的reservations段:

deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu]

拉取完成后核对状态,三个服务全部 Running 即部署完成:

docker ps --format "table {{.Names}}\t{{.Status}}"

duix-avatar-ttsduix-avatar-asrduix-avatar-gen-video分别对外暴露 18180、10095、8383 端口。有服务起不来时,按顺序排查:

  1. 显存不足:容器在加载模型阶段 OOM 退出。显存紧张可换docker-compose-lite.yml,只保留视频合成单服务。
  2. 驱动不匹配:容器内 CUDA 初始化失败、宿主机nvidia-smi版本偏旧。这个报错基本就是驱动没对上,更新 Windows 侧驱动后重启 Docker Desktop。
  3. runtime 未注册:启动即报could not select device driver "nvidia",重跑sudo nvidia-ctk runtime configure --runtime=docker && sudo systemctl restart docker
  4. 镜像拉取超时:request canceled一类网络错误,按 doc/常见问题.md 在 Docker Engine 里配置 registry-mirrors,配置位置如下:

其余报错直接看容器日志,Docker Desktop 里点开对应服务即可复制完整 Log:

🖥 跑起来之后:GPU 利用率监控与显存调优

WSL 终端挂一个nvidia-smi -l 3,合成任务运行时 gen-video 容器应呈现持续高占用,空闲时回落到接近 0,否则说明任务没真正跑在 GPU 上。

显存吃紧或合成偏慢时,优先调 src/main/config/config.js 里的输出分辨率与批大小;Compose 里的PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:512用于缓解显存碎片,不建议随意删。

日常用完执行docker compose down释放显存,三个容器不必长驻。遇到更复杂的失败形态,对照 README_zh.md 的自查步骤与 doc/常见问题.md 逐项排查,项目更新频繁,先确认当前版本是否已经修复。

【免费下载链接】Duix-Avatar🚀 Truly open-source AI avatar(digital human) toolkit for offline video generation and digital human cloning.项目地址: https://gitcode.com/GitHub_Trending/he/Duix-Avatar

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 5:28:45

视频压缩原理与实战:码率、分辨率、编码器三要素拆解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/11 5:26:56

毕业设计之django基于微信小程序的汽车租赁管理平台

题目&#xff1a;django基于微信小程序的汽车租赁管理平台一、项目介绍随着信息时代的发展&#xff0c;计算机迅速普及&#xff0c;传统的汽车租赁方式显得不够快捷&#xff0c;这时我们就需要创造更加便利的管理方法&#xff0c;对系统信息进行统一管理。将管理方式转变为信息…

作者头像 李华
网站建设 2026/9/11 5:26:51

从AI编程到Agent落地:大模型应用工程化与私有化部署的关键实践

1. 从热搜词里看AI圈的胃口&#xff1a;今天的从业者在急什么早上通勤刷了一圈热搜和社区热榜&#xff0c;发现今天AI圈的关键词分布很有意思&#xff1a;一边是AI编程、AI agent、AI大模型这类老牌常青树&#xff0c;另一边是无限制AI对话、无审核生成式AI、无违禁词ai聊天这种…

作者头像 李华
网站建设 2026/9/11 5:26:40

报表做完就结束了?如何把编报数据变成分析决策能力

导语&#xff1a;很多企业的报表&#xff0c;做到"交差"就结束了&#xff1a;编报数据只用一次&#xff0c;随后锁进文件夹&#xff0c;再也没人看。这篇文章想探讨的问题是——报表的终点&#xff0c;不该是交付&#xff0c;而是决策。 每个月&#xff0c;财务团队…

作者头像 李华
网站建设 2026/9/11 5:25:50

遗传算法在配电变电站规划中的Matlab实现与优化

1. 项目概述&#xff1a;遗传算法在配电变电站规划中的应用配电系统规划中&#xff0c;变电站的位置选择和容量配置直接影响着整个电网的运行效率和经济性。传统的人工规划方法往往依赖工程师经验&#xff0c;难以在复杂约束条件下找到全局最优解。这个问题本质上是一个多目标、…

作者头像 李华