CentOS上GeneFace Plus Plus安装详解

AI技术
小华
2025-11-13

CentOS 上 GeneFace++ 安装详解
一 环境准备与版本选择

  • 操作系统建议:CentOS 7/8(x86_64),具备 sudo 权限与稳定网络。
  • Python 环境:建议 Python 3.8–3.10,创建独立虚拟环境(venv/conda)。
  • GPU 与驱动:准备 NVIDIA GPU(显存建议 ≥ 8 GB),安装与之匹配的 CUDAcuDNN,并确认驱动可正常加载(nvidia-smi 可见)。
  • 基础工具:确保 gcc/g++makecmakegit 可用;后续若涉及人脸相关依赖(如 dlib/face_recognition),通常需要 GCC ≥ 9CMake ≥ 3.17
  • 说明:GeneFace++ 官方以 PyTorch 为主,常见流程为“数据处理 → 训练/推理”。以下流程以源码方式在 CentOS 上搭建可复现环境为核心。

二 系统依赖与编译工具安装

  • 更新与基础工具
  • 安装常用工具与开发组包:sudo yum groupinstall -y "Development Tools"sudo yum install -y epel-release cmake3 git wget unzip htop
  • 建立 cmake3 -> cmake 软链:sudo ln -sfn /usr/bin/cmake3 /usr/bin/cmake
  • 升级 GCC(若系统自带版本过低,如 CentOS 7 常见为 4.8.5
  • 启用 SCL:sudo yum install -y centos-release-scl
  • 安装高版本 GCC(示例为 devtoolset-9):sudo yum install -y devtoolset-9-gcc*
  • 启用 SCL 环境:scl enable devtoolset-9 bash(或写入 ~/.bashrcsource /opt/rh/devtoolset-9/enable
  • 验证:gcc -vg++ -v 应显示 9.x
  • 说明:若后续需要编译 dlib/其他 C++ 扩展,上述 GCC/CMake 版本是较稳妥的起点。

三 Python 与 PyTorch 环境

  • 建议使用 conda 管理 Python 与 CUDA 依赖:
  • 创建环境:conda create -n genefacepp python=3.9 -y
  • 激活环境:conda activate genefacepp
  • 安装 PyTorch(选择与系统 CUDA 匹配的版本,以下为常见示例,请按实际 CUDA 版本调整)
  • CUDA 11.8:pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
  • CPU-only(无 GPU):pip install torch torchvision torchaudio
  • 验证:python -c "import torch; print(torch.__version__, torch.cuda.is_available())"

四 GeneFace++ 源码获取与安装

  • 获取源码(示例为 GitHub 社区版仓库,请替换为项目实际仓库地址)
  • git clone https://github.com/yerfor/GeneFacePlusPlus.git
  • cd GeneFacePlusPlus
  • 安装 Python 依赖
  • 建议使用项目自带的 requirements.txtpip install -r requirements.txt
  • 若包含 opencv-pythonmatplotlibtqdmscipynumpy 等缺失项,按提示补装
  • 数据预处理与目录结构
  • 按项目说明准备原始视频,例如:data/raw/videos/.mp4
  • 运行帧提取(示例命令,路径与参数以项目说明为准):
  • python data_gen/utils/process_video/extract_segment_imgs.py --ds_name=nerf --vid_dir=data/raw/videos/.mp4 --force_single_process
  • 常见报错与处理
  • “Data Preprocessing Error | bg.jpg not found”:多为帧提取未成功,重新运行上述提取脚本并检查日志与输出目录。
  • 训练与推理示例(以项目脚本为准)
  • 训练 Head NeRF:CUDA_VISIBLE_DEVICES=0 python tasks/run.py --config=egs/datasets//lm3d_radnerf_sr.yaml --exp_name=motion2video_nerf/_head --reset
  • 训练 Torso NeRF:CUDA_VISIBLE_DEVICES=0 python tasks/run.py --config=egs/datasets//lm3d_radnerf_torso_sr.yaml --exp_name=motion2video_nerf/_torso --hparams=head_model_dir=checkpoints/motion2video_nerf/_head --reset
  • 推理测试:CUDA_VISIBLE_DEVICES=0 python inference/app_genefacepp.py --a2m_ckpt=checkpoints/audio2motion_vae --head_ckpt= --torso_ckpt=motion2video_nerf/_torso
  • 常见训练/推理问题
  • 运行较长语音被 Kill:多为内存不足,尝试降低分辨率/批量、开启低内存模式或增加交换分区。
  • 眼睛未睁开:在配置文件 egs/datasets//lm3d_radnerf_*.yaml 中将 eye_blink_dim 调整为 4
  • 权重维度不匹配(如 blink_encoder):检查配置与训练/推理时使用的模型版本一致,特别是 eye_blink_dim 等参数。

五 常见问题与排障要点

  • 编译/构建失败(含 dlib/扩展)
  • 确认 GCC ≥ 9CMake ≥ 3.17;必要时使用 scl enable devtoolset-9 bash 后再编译。
  • CUDA 版本不匹配
  • nvidia-smitorch.version.cuda 不一致,需安装与 PyTorch 匹配的 CUDA/cuDNN,或重装对应版本的 PyTorch。
  • 预处理卡住或报 “bg.jpg not found”
  • 重新执行帧提取脚本,确保输出目录与清单文件生成成功;检查视频编码是否被 ffmpeg 正常支持。
  • 显存/内存不足
  • 降低分辨率、批量大小,或使用 --low_mem 等低内存选项;必要时增加系统交换分区。
  • 配置文件不一致导致加载失败
  • 训练与推理使用同一套配置;若修改了 eye_blink_dim 等参数,需同步到所有相关 yaml 文件。
亿速云提供售前/售后服务

售前业务咨询

售后技术保障

400-100-2938

7*24小时售后电话

官方微信小程序