CentOS 虚拟机部署 GeneFace++ 安装指南
一 前置准备
- 启用虚拟化加速:在 VMware/VirtualBox 为虚拟机开启VT-x/AMD-V与3D 加速,并分配充足资源(建议内存≥16GB、CPU≥8 核、显存≥8GB,存储≥100GB)。
- 安装系统工具与编译环境:
- CentOS 7:sudo yum groupinstall -y "Development Tools" && sudo yum install -y epel-release
- CentOS 8:sudo dnf groupinstall -y "Development Tools" && sudo dnf config-manager --set-enabled powertools
- 安装基础多媒体与音频依赖:sudo yum install -y ffmpeg ffmpeg-devel portaudio portaudio-devel alsa-lib-devel
- 安装并初始化 Conda(Miniconda 推荐):
- 下载安装脚本:wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
- 执行安装:bash Miniconda3-latest-Linux-x86_64.sh(按提示完成)
- 重启终端或 source ~/.bashrc 后执行:conda init bash
- 准备代码与数据目录:
- git clone https://github.com/yerfor/GeneFacePlusPlus.git
- 建议将项目与数据放在同一块 SSD 上以减少 I/O 瓶颈
二 创建 Conda 环境与核心依赖
- 创建环境:conda create -n geneface python=3.9 && conda activate geneface
- 安装 PyTorch 2.0.1 + CUDA 11.7(稳定组合,避免 2.1+ 引发 torch-ngp 错误):
- conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia
- 安装 FFmpeg(含 libx264,便于图像转视频):conda install -c conda-forge ffmpeg
- 安装 PyTorch3D(源码安装,耗时较长):pip install "git+https://github.com/facebookresearch/pytorch3d.git@stable"
- 安装 MMCV(使用 mim):pip install cython openmim==0.3.9 && mim install mmcv==2.1.0
- 安装项目其余 Python 依赖:pip install -r docs/prepare_env/requirements.txt -v
- 构建扩展(包含 torch-ngp 等):bash docs/prepare_env/install_ext.sh
以上版本与步骤为 GeneFace++ 官方与社区验证的稳定组合,优先采用以避免兼容性问题。
三 数据与模型准备
- 3DMM 模型 BFM2009:下载后将解压得到的 8 个文件放入 /deep_3drecon/BFM/,目录结构示例:
- deep_3drecon/BFM/
├── 01_MorphableModel.mat
├── BFM_exp_idx.mat
├── BFM_front_idx.mat
├── BFM_model_front.mat
├── Exp_Pca.bin
├── facemodel_info.mat
├── index_mp468_from_mesh35709.npy
├── mediapipe_in_bfm53201.npy
└── std_exp.txt
- 示例数据 May:下载预处理好的 trainval_dataset.npy,放置到 data/binary/videos/May/trainval_dataset.npy
- 国内下载加速(可选):pip 安装与 huggingface 下载均可设置镜像源(如清华源、HF Mirror)以显著提升速度。
四 推理验证与常见问题
- 命令行推理(示例音频 data/raw/val_wavs/MacronSpeech.wav):
- export PYTHONPATH=.
- python inference/genefacepp_infer.py --a2m_ckpt=checkpoints/audio2motion_vae --head_ckpt= --torso_ckpt=checkpoints/motion2video_nerf/may_torso --drv_aud=data/raw/val_wavs/MacronSpeech.wav --out_name=may_demo.mp4
- Gradio WebUI(局域网访问):
- 在 inference/app_genefacepp.py 中按需修改 host/port(如将 host 改为 "0.0.0.0")
- export PYTHONPATH=.
- python inference/app_genefacepp.py --a2m_ckpt=checkpoints/audio2motion_vae --head_ckpt= --torso_ckpt=checkpoints/motion2video_nerf/may_torso
- 常见问题与处理:
- 版本兼容:优先使用 PyTorch 2.0.1 + CUDA 11.7;torch 2.1+ 与部分扩展(如 torch-ngp)存在已知冲突。
- 构建失败:确保已安装 gcc/g++/make 等编译工具,且网络稳定(源码安装 PyTorch3D 易超时)。
- 音频/视频设备:若本机无音频设备,推理可正常进行;如需采集音频,请确认宿主机音频转发正常。
- 显存不足:降低渲染分辨率或批量大小;必要时改用 CPU-only 运行(仅用于功能验证,速度很慢)。