CentOS环境下如何安装GeneFace++

AI技术
小华
2025-12-26

在 CentOS 上安装 GeneFace++ 的可行方案
一 前置条件与系统准备

  • 硬件与驱动:准备支持 CUDA 11.7NVIDIA GPU 并安装对应驱动;如需编译或运行部分依赖,建议提前安装 GCC、G++、Make、CMake、Git 等基础工具。
  • 构建工具链:CentOS 7/8 自带的 GCC 版本较旧,建议使用 devtoolset-7(或更高)来获得较新的编译器与标准库支持。
  • 多媒体依赖:安装 FFmpeg(含 libx264 编码器),用于视频/音频处理。
  • Python 环境:使用 Miniconda 创建隔离环境,推荐 Python 3.9

上述准备可参考在 CentOS 上部署 C/C++ 应用与框架的通用做法,以及 GeneFace++ 官方给出的环境组合(Python 3.9 + PyTorch 2.0.1 + CUDA 11.7 + ffmpeg)。
二 安装步骤

  1. 安装系统依赖与构建工具
  • 安装基础工具与 FFmpeg:

sudo yum groupinstall -y "Development Tools"
sudo yum install -y cmake git ffmpeg ffmpeg-devel

  • 启用较新 GCC(示例为 devtoolset-7):

sudo yum install -y centos-release-scl-rh centos-release-scl
sudo yum install -y devtoolset-7
echo "source /opt/rh/devtoolset-7/enable" >> ~/.bashrc && source ~/.bashrc

  1. 创建并激活 Conda 环境

conda create -n geneface python=3.9 -y
conda activate geneface

  1. 安装 PyTorch 与多媒体组件

conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia
conda install -c conda-forge ffmpeg

  1. 安装 PyTorch3D(源码方式,适配 CUDA 11.7)

pip install "git+https://github.com/facebookresearch/pytorch3d.git@stable"

  1. 安装 MMCV(MIM 方式)

pip install cython openmim==0.3.9
mim install mmcv==2.1.0

  1. 安装项目其余 Python 依赖

git clone https://github.com/yerfor/GeneFacePlusPlus.git
cd GeneFacePlusPlus
pip install -r docs/prepare_env/requirements.txt -v

  1. 构建扩展(若项目提供脚本)

bash docs/prepare_env/install_ext.sh
以上版本与命令组合已在同类 Linux 环境中验证可用;如遇网络问题,可使用国内镜像源加速安装。
三 运行与验证

  • 数据准备与预处理(示例)
  • 视频预处理:将原始视频统一为 512×512、25 FPS

ffmpeg -i data/raw/videos/${VIDEO_ID}.mp4 -vf fps=25,scale=w=512:h=512 -qmin 1 -q:v 1 data/raw/videos/${VIDEO_ID}_512.mp4
mv data/raw/videos/${VIDEO_ID}.mp4 data/raw/videos/${VIDEO_ID}_to_rm.mp4
mv data/raw/videos/${VIDEO_ID}_512.mp4 data/raw/videos/${VIDEO_ID}.mp4

  • 音频与特征:

ffmpeg -i data/raw/videos/${VIDEO_ID}.mp4 -f wav -ar 16000 data/processed/videos/${VIDEO_ID}/aud.wav
export HF_ENDPOINT=https://hf-mirror.com # 可选:使用镜像加速 HuggingFace 模型下载
python data_gen/utils/process_audio/extract_hubert.py --video_id=${VIDEO_ID}
python data_gen/utils/process_audio/extract_mel_f0.py --video_id=${VIDEO_ID}

  • 图像与关键点:

mkdir -p data/processed/videos/${VIDEO_ID}/gt_imgs
ffmpeg -i data/raw/videos/${VIDEO_ID}.mp4 -vf fps=25,scale=w=512:h=512 -qmin 1 -q:v 1 -start_number 0 data/processed/videos/${VIDEO_ID}/gt_imgs/%08d.jpg
python data_gen/utils/process_video/extract_segment_imgs.py --ds_name=nerf --vid_dir=data/raw/videos/${VIDEO_ID}.mp4 --force_single_process
python data_gen/utils/process_video/extract_lm2d.py --ds_name=nerf --vid_dir=data/raw/videos/${VIDEO_ID}.mp4
python data_gen/utils/process_video/fit_3dmm_landmark.py --ds_name=nerf --vid_dir=data/raw/videos/${VIDEO_ID}.mp4 --reset --debug --id_mode=global
python data_gen/runs/binarizer_nerf.py --video_id=${VIDEO_ID}

  • 训练与推理(示例)
  • 训练 HeadNeRF:

CUDA_VISIBLE_DEVICES=0 python tasks/run.py --config=egs/datasets/${VIDEO_ID}/lm3d_radnerf_sr.yaml --exp_name=motion2video_nerf/${VIDEO_ID}_head --reset

  • 训练 Torso(如出现报错,可按项目 issue 说明调整):

CUDA_VISIBLE_DEVICES=0 python tasks/run.py --config=egs/datasets/${VIDEO_ID}/lm3d_radnerf_torso_sr.yaml --exp_name=motion2video_nerf/${VIDEO_ID}_torso --hparams=head_model_dir=checkpoints/motion2video_nerf/${VIDEO_ID}_head --reset
上述流程与命令与官方教程一致,适用于在 CentOS 完成端到端的数据准备、训练与推理。
四 常见问题与处理

  • 驱动与 CUDA 不匹配:确保 NVIDIA 驱动 ≥ 515 以支持 CUDA 11.7;安装后在 shell 配置好 PATH/LD_LIBRARY_PATH(如 /usr/local/cuda-11.7/bin 与 /usr/local/cuda-11.7/lib64)。
  • 编译器过旧导致构建失败:启用 devtoolset-7 或更高版本,再执行 pip 安装/扩展构建。
  • 多媒体编解码问题:FFmpeg 需包含 libx264,否则视频转码/预处理会失败。
  • 依赖下载慢或超时:为 pip/conda 配置国内镜像源;HuggingFace 可使用 HF_ENDPOINT=https://hf-mirror.com
  • 训练时报错(如 torso 阶段):参考项目 issues/122 的修改方案进行适配。

以上问题在同类环境中较为常见,按对应措施处理即可恢复流程。

亿速云提供售前/售后服务

售前业务咨询

售后技术保障

400-100-2938

7*24小时售后电话

官方微信小程序