> 技术文档 > 【笔记】FaceFusion 3.3.0 CUDA GPU 环境 Docker 构建与运行全流程记录_facefusion3.3

【笔记】FaceFusion 3.3.0 CUDA GPU 环境 Docker 构建与运行全流程记录_facefusion3.3


FaceFusion 3.3.0 使用 Docker 本地部署 (CUDA GPU支持) 操作记录(基于克隆仓库的原始流程)


一、基础环境准备

 facefusion/facefusion-docker:行业领先的人脸作平台

【笔记】Docker 配置阿里云镜像加速(公共地址即开即用,无需手动创建实例)-CSDN博客

  1. 克隆仓库

    git clone https://github.com/facefusion/facefusion-docker.gitcd facefusion-dockergit pull
  2. 验证仓库内容

    • 确认包含以下核心文件:
      • Dockerfile(基础镜像构建)
      • Dockerfile.cuda(CUDA优化镜像构建)
      • docker-compose.cuda.yml(CUDA环境配置)
  3. Docker Desktop 运行正常
    • 确保 Docker 运行状态正常
    • 确保网络加速设置正常,Docker 能够顺利拉取镜像 

 


二、Docker 镜像构建
1. 拉取 CUDA 基础镜像(首次运行需执行)​
docker pull nvidia/cuda:12.9.1-cudnn-runtime-ubuntu24.04

  • 目的​:体积较大,提前拉取,确保容器内 CUDA 版本与 FaceFusion 兼容

后续操作建议

  1. 下载完成后验证镜像​:

    docker images | grep nvidia/cuda

    确认镜像是否成功拉取(如存在 nvidia/cuda:12.9.1-cudnn-runtime-ubuntu24.04)。

  2. 运行容器测试​:

    docker run --gpus all --rm nvidia/cuda:12.9.1-cudnn-runtime-ubuntu24.04 nvidia-smi

    若成功输出 GPU 信息,说明镜像和驱动兼容。

2. 构建 CUDA 优化镜像
docker compose -f docker-compose.cuda.yml build --no-cache
  • 关键动作​:
    • 基于 Dockerfile.cuda 构建镜像
    • 安装 Python 3.12、FFmpeg 等依赖
    • 执行 install.py 安装 FaceFusion 核心功能等
  • 日志示例​:


三、容器启动与验证
1. 启动容器
docker compose -f docker-compose.cuda.yml up -d
  • 参数说明​:
    • -d:后台运行
    • 自动映射端口 7860:7860(访问 http://localhost:7860
2. 首次访问验证
  • 浏览器输入​:http://localhost:7860
  • 成功标志​:
    • 界面显示 FaceFusion 3.3.0 的 Gradio WebUI
    • 控制台无报错(重点检查 CUDA 版本、依赖加载状态)

 


四、核心功能测试
1. 换 *功能验证
  1. 上传源图片至 SOURCE 区域
  2. 上传目标图片/视频至 TARGET 区域
  3. 选择 face_swapper 处理器,点击 Start
  4. 预期结果​:
    • 实时预览换 *效果
    • 输出合成后的图片/视频至 OUTPUT 区域
2. 性能监控
  • GPU 利用率​:通过 nvidia-smi 查看显存占用(正常范围 3-8GB)
  • 处理速度​:视频**处理约 15-30 FPS(取决于硬件配置)

【示例截图已被删除】

 


五、问题排查(按需执行)​
问题现象 解决方案 ​端口冲突​ 修改 docker-compose.cuda.yml 中的端口映射(如 7880:7860) ​CUDA 驱动不匹配​ 更新 NVIDIA 驱动至 ≥576.02,重启容器 ​依赖缺失​ 进入容器执行 pip install 模型下载失败​ 设置环境变量 HF_ENDPOINT=https://hf-mirror.com 加速国内下载
六、操作流程图
graph TD A[克隆仓库] --> B[进入项目目录] B --> C{首次运行?} C -->|是| D[拉取 CUDA 基础镜像] C -->|否| E[直接构建镜像] D --> F[构建 CUDA 镜像] E --> F F --> G[启动容器] G --> H[访问 WebUI 验证] H --> I[功能测试]


总结​:全程严格遵循仓库原始配置,仅执行必要构建与启动操作,未修改任何代码或配置文件。成功实现 FaceFusion 的 CUDA GPU 加速运行,适用于本地开发与基础测试场景。