ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

WSL2里Docker调用不到显卡?HeyGem.ai数字人视频合成的GPU透传配置指南

WSL2里Docker调用不到显卡?HeyGem.ai数字人视频合成的GPU透传配置指南 WSL2里Docker调用不到显卡HeyGem.ai数字人视频合成的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在 WSL2 中跑 Docker 容器时Docker GPU 透传把宿主机上的 NVIDIA 显卡暴露给容器使用一旦没配好HeyGem.ai 的三个服务容器就起不来离线数字人视频合成也无法启动。这篇文章把这条链路拆成 3 个检查点先核对 WSL2 与显卡驱动版本再安装 nvidia-container-toolkit 打通容器与显卡之间的桥梁最后用项目 deploy/ 目录下现成的编排文件拉起服务并逐项验收。全程不需要改一行源码照着执行即可让--gpus all真正生效。前置检查两个版本门槛先过一遍在动 Docker 之前先把宿主机的两关确认掉否则后面装什么都是白装。检查项最低要求作用WSLWSL2且wsl --version中 WSL 与 WSLg 均显示 1.0 以上GPU 直通能力由新版 WSL2 内核提供NVIDIA 驱动版本不低于 510.06支持 WSL2 显卡直通驱动在 Windows 侧安装确认 WSL2 版本是否达标wsl --version # 查看 WSL 与 WSLg 内核版本成功标志输出中WSL version和WSLg version都是 1.x 以上。如果显示的是旧格式信息只有Version: 2一类字样说明内核过旧在 Windows PowerShell 里执行wsl --update升级后重新跑一遍上面的命令复核。确认显卡驱动是否就绪nvidia-smi # 在 WSL 终端内直接检查宿主显卡成功标志能列出 GPU 名称与驱动版本。若提示命令不存在说明 NVIDIA 驱动 未在 Windows 侧装好或在 WSL 中未启用Windows 管理 GPU 驱动此时三个服务容器一定无法启动。给 Docker 装 GPU 运行时安装 nvidia-container-toolkitNVIDIA Container Toolkit 是连接 Docker 与显卡的翻译层它向 Docker 注册一个 nvidia 运行时容器启动时才能看到 GPU 设备。添加官方软件源并安装curl -s -L https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \ | sed s%deb https://%deb [signed-by/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://%g \ | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list sudo apt-get update sudo apt-get install -y nvidia-container-toolkit # 安装工具包注册 nvidia 运行时并重启 Dockersudo nvidia-ctk runtime configure --runtimedocker # 把 nvidia 运行时写进 Docker 守护进程配置 sudo systemctl restart docker注意这一步重启不能省漏掉的直接症状是后面测试时提示找不到设备驱动。用一条命令验收 GPU 透传docker info | grep -A 2 Runtimes | grep nvidia # 成功标志能列出 nvidia 运行时与 nvidia GPU 设备 docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi成功标志第二条命令在容器内打印出显卡型号、显存与驱动版本说明宿主机 → WSL2 → Docker → 容器这条透传链路已经通了。若报could not select device driver nvidia回到上一小节确认重启是否执行。拉起 HeyGem.ai 的三个 GPU 服务透传验证通过后服务端部署只剩一条命令。先克隆仓库git clone https://gitcode.com/GitHub_Trending/he/HeyGem.aideploy/docker-compose-linux.yml 已为每个服务预置好runtime: nvidia与 GPU 设备预留你不需要自己编写任何 GPU 参数。核心服务与端口如下服务镜像端口职责duix-avatar-ttsguiji2025/fish-speech-ziming18180声音克隆与语音合成duix-avatar-asrguiji2025/fun-asr10095语音识别duix-avatar-gen-videoguiji2025/duix.avatar8383口型驱动与视频合成一键启动并检查容器状态cd HeyGem.ai/deploy docker compose -f docker-compose-linux.yml up -d首次会拉取约 70GB 镜像耗时以网速为准建议挂在稳定的 Wi-Fi 下等待。完成后docker ps --format table {{.Names}}\t{{.Status}} # 成功标志三个容器全部 Running如果你使用 RTX 50 系列显卡标准镜像的 CUDA 版本可能不匹配改用 5090 专用编排docker compose -f docker-compose-5090.yml up -d验收与排障跑起来之后还能确认什么逐端口核对三个服务端客户端会访问127.0.0.1上的 8383、18180、10095 三个端口。可逐个查看容器日志确认无异常退出或报错循环docker logs --tail 20 duix-avatar-gen-video # 对另外两个容器名同样执行生成视频时盯一眼 GPU 占用nvidia-smi --query-gpuutilization.gpu,memory.used --formatcsv -l 3成功标志合成期间utilization.gpu出现明显读数。若长时间为 0 且任务卡住多半是显存不足——该方案建议 8GB 以上显存机器配置偏低时可先改用 deploy/docker-compose-lite.yml 启动单服务轻量版。两个高频故障速查拉镜像超时、连接被取消WSL 环境下访问 Docker Hub 官方仓库经常不稳定在 Docker Desktop 的 Docker Engine 设置里配置registry-mirrors镜像源后重启引擎即可。创建模特或克隆音色时报错先按 常见问题 里的自查步骤确认三个容器均为 Running再核对素材视频是否带人声——声音克隆依赖这段音频。要点回顾WSL 版本 ≥ 1.0、驱动 ≥ 510.06两道门槛先过nvidia-ctk注册运行时后必须重启 Docker再用--gpus all测试容器验证透传服务启动交给 deploy/docker-compose-linux.yml 一条命令50 系显卡换用 deploy/docker-compose-5090.yml显存 8GB 起步镜像拉取慢就配国内镜像源。部署中遇到具体报错建议先翻 doc/常见问题.md并带着docker logs输出的关键日志再去项目仓库提 issue客户端相关逻辑可参考 src/main/ 源码目录。【免费下载链接】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),仅供参考
返回列表