CentOS部署GeneFace++的关键注意事项
一 系统与编译器准备
- 更新系统并安装基础工具:执行 sudo yum update -y,随后安装开发组与构建工具:sudo yum groupinstall "Development Tools" -y,以及 sudo yum install -y cmake git。若系统自带 GCC 版本偏低,建议使用 devtoolset-7(或更高)启用较新编译器,避免后续编译失败。对于需要本地多媒体编解码的场景,建议一并安装 ffmpeg 相关依赖(如 libavcodec-dev、libavformat-dev、libswscale-dev、libx264-dev 等)。
二 Python与深度学习环境
- 使用 conda 创建隔离环境并固定 Python 3.9:conda create -n geneface python=3.9,激活后安装项目依赖:pip install -r requirements.txt。深度学习组件建议采用 PyTorch 2.0.1 + CUDA 11.7 的组合,且当前社区经验显示对 CUDA 12+ 的兼容性不佳;如遇到 torch-ngp 等依赖报错,优先回退 PyTorch 版本。音视频处理请确保 FFmpeg(含 libx264) 可用,用于图像序列到视频的编码输出。
三 项目获取与数据权重
- 克隆官方仓库:git clone https://github.com/yerfor/GeneFacePlusPlus.git,进入项目根目录后按需执行 pip install -r requirements.txt 安装 Python 依赖。推理前准备三类关键内容:3DMM 模型(如 BFM2009)、预处理数据与预训练权重;权重通常位于 checkpoints/ 目录,包含 audio2motion_vae 与 motion2video_nerf(如 may_head、may_torso)。若下载链接失效或文件损坏,需重新获取并与项目说明中的文件结构保持一致。
四 构建与运行要点
- 若项目包含 C++/CUDA 扩展,按常规流程在项目根目录执行:mkdir build && cd build && cmake .. && make(-j 并行视机器核心数而定)。非标准安装路径需导出环境变量,例如:export PATH=$PATH:/path/to/bin 与 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/lib,并 source 相应配置文件使其生效。运行推理示例:python inference/genefacepp_infer.py --a2m_ckpt=checkpoints/audio2motion_vae --head_ckpt=checkpoints/motion2video_nerf/may_head --torso_ckpt=checkpoints/motion2video_nerf/may_torso --drv_aud=data/raw/val_wavs/example.wav --out_name=demo_output.mp4;注意替换音频路径并确保各 checkpoint 路径正确。
五 常见故障排查
- 依赖冲突与版本不兼容:优先在全新 conda 环境中安装,必要时手动调整 requirements.txt 中版本;出现 torch-ngp 等报错时,回退到 PyTorch 2.0.x + CUDA 11.7。数据/权重路径错误或缺文件:确认 checkpoints 与 data 目录结构与文档一致,必要时重新下载。预处理或资源缺失:如出现 “bg.jpg not found” 等提示,检查数据预处理是否完整执行。显存/内存不足导致进程被 kill:缩短输入音频时长、降低分辨率或 batch 相关参数,确保有足够的 GPU/系统内存。长时间运行稳定性:保持驱动、CUDA 与 PyTorch 版本匹配,避免升级导致二进制不兼容。