CentOS平台GeneFace++安装技巧
一 环境准备与系统依赖
- 建议使用Miniconda创建隔离环境,Python版本固定为3.9,便于复现与依赖管理。
- 基础系统工具与编译链:安装CMake、GCC/G++、git等;CentOS可用yum group安装开发工具组。
- 多媒体工具:安装带libx264编解码器的FFmpeg,用于视频编解码。
- 建议全程在非root用户下操作,避免污染系统目录。
- 参考命令(按需在root或sudo下执行):
- 系统更新与基础工具:sudo yum update -y && sudo yum groupinstall -y "Development Tools"
- 安装CMake与git:sudo yum install -y cmake git
- 音频依赖(后续Python包会用到):sudo yum install -y alsa-lib-devel portaudio-devel
以上准备为后续安装PyTorch、PyTorch3D、MMCV与项目脚本运行提供基础支撑。
二 Python环境与核心依赖
- 创建并激活环境:conda create -n geneface python=3.9 && conda activate geneface
- 安装FFmpeg(含libx264):conda install -c conda-forge ffmpeg
- 安装PyTorch(CUDA 11.7链路更稳定):conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia
- 安装PyTorch3D(源码方式更稳):pip install "git+https://github.com/facebookresearch/pytorch3d.git@stable"
- 安装MMCV(先装Cython与openmim):pip install cython openmim==0.3.9 && mim install mmcv==2.1
- 安装项目其余依赖:pip install -r requirements.txt(路径以项目实际为准)
- 版本要点:社区实践表明,PyTorch 2.1 + CUDA 12.1容易与部分依赖(如torch-ngp)不兼容,优先选用2.0.1 + CUDA 11.7组合。
三 源码获取与构建
- 克隆官方仓库:git clone https://github.com/yerfor/GeneFacePlusPlus.git && cd GeneFacePlusPlus
- 若项目包含C++/CUDA扩展或需要本地编译工具链,按通用流程创建构建目录并编译:
- mkdir -p build && cd build
- cmake ..
- make -j$(nproc)
- 如需安装到系统目录再执行:sudo make install(可选)
- 如采用官方提供的扩展安装脚本(如install_ext.sh),请在激活的conda环境中执行,并确保CUDA_HOME/路径正确。
四 数据与模型准备
- 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
- 预处理与数据管线:按项目文档运行数据准备脚本,生成二进制数据集(如data/binary/.../trainval_dataset.npy)。如遇到“bg.jpg not found”等预处理报错,多为帧提取未成功,需重跑视频处理步骤。
- 预训练权重与3DMM等数据需按项目说明放置到指定目录,推理脚本将通过参数(如--a2m_ckpt、--head_ckpt、--torso_ckpt)读取。
五 推理验证与常见问题
- 快速推理示例(路径与参数以实际为准):
- CUDA_VISIBLE_DEVICES=0 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
- 常见问题与处理:
- 版本不兼容:出现与torch-ngp相关的错误时,优先回退到PyTorch 2.0.1 + CUDA 11.7;
- 预处理失败:如“bg.jpg not found”,检查视频抽帧与数据管线日志并重跑;
- 构建失败:确认gcc/g++、cmake、CUDA toolkit与驱动版本匹配,必要时设置CUDA_HOME;
- 运行显存不足:降低分辨率/批大小,或仅运行Head NeRF部分进行验证;
- 音频设备问题:若本地缺少音频驱动依赖,安装alsa-lib-devel/portaudio-devel后重试。
- 训练流程简述(可选):先训练Head NeRF,再训练Torso NeRF,并通过hparams指定已训练的head模型目录,具体命令与参数见项目文档与示例。