Linux服务器部署GeneFace++通用指南(以CentOS/Ubuntu为例)
root用户或具有sudo权限的普通用户操作,确保系统更新至最新状态。更新系统并安装编译工具、Python环境及多媒体库:
sudo yum update -y
sudo yum groupinstall -y "Development Tools" # 安装gcc、make等基础工具
sudo yum install -y cmake git wget # 安装cmake、git等工具
sudo yum install -y python3 python3-devel # 安装Python3及开发头文件
sudo yum install -y libpng-devel libjpeg-devel libtiff-devel # 多媒体处理库安装编译工具链、CUDA(推荐11.3及以上,用于GPU加速)及Python环境:
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential cmake git wget # 编译工具
sudo apt install -y nvidia-cuda-toolkit # CUDA工具包(需匹配GPU型号)
sudo apt install -y python3 python3-pip # Python环境使用conda创建隔离的Python环境(避免依赖冲突):
# 下载并安装Miniconda(若未安装)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda
source $HOME/miniconda/etc/profile.d/conda.sh
# 创建并激活Python 3.9环境(GeneFace++常用版本)
conda create -n geneface python=3.9 -y
conda activate geneface替换为GeneFace++官方仓库地址(如GitHub上的yerfor/GeneFacePlusPlus):
git clone https://github.com/yerfor/GeneFacePlusPlus.git
cd GeneFacePlusPlus部分版本包含C++模块(如3D重建组件),需通过cmake编译:
mkdir build && cd build
cmake .. # 生成Makefile
make -j$(nproc) # 使用所有CPU核心加速编译
sudo make install # 安装至系统目录(如/usr/local/)进入项目根目录,安装Python依赖包(包括PyTorch、PyTorch3D等):
pip install -r requirements.txt # 安装基础依赖
# 单独安装特殊组件(如PyTorch3D需从源码编译)
pip install cython
pip install openmim==0.3.9
mim install mmcv==2.1.0 # 加速多媒体处理
pip install "git+https://github.com/facebookresearch/pytorch3d.git@stable" # PyTorch3D确保PyTorch版本与CUDA版本兼容(如PyTorch 2.0.1+CUDA 11.7):
conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidiaGeneFace++依赖BFM2009模型(面部3D重建基础),从官方或项目指定地址下载:
# 示例:通过wget下载(需替换为实际链接)
wget https://example.com/BFM2009.zip
unzip BFM2009.zip -d BFM/将解压后的BFM文件夹移动至项目指定目录(如deep_3drecon/):
mv BFM/* deep_3drecon/BFM/根据项目要求下载audio2motion(音频转运动)、motion2video(运动转视频)等预训练模型,放置于checkpoints/目录:
mkdir -p checkpoints
# 示例:下载音频2运动模型
wget https://example.com/audio2motion_vae.ckpt -O checkpoints/audio2motion_vae.ckpt将项目根目录添加至PYTHONPATH,确保Python能识别项目模块:
echo "export PYTHONPATH=\$(pwd):\$PYTHONPATH" >> ~/.bashrc # 或~/.zshrc
source ~/.bashrc使用示例音频文件(替换为实际路径)运行推理脚本,验证部署是否成功:
python inference/genefacepp_infer.py \
--a2m_ckpt=checkpoints/audio2motion_vae \ # 音频2运动模型路径
--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 # 输出视频路径若需长期运行,可创建systemd服务文件(以CentOS为例):
sudo nano /etc/systemd/system/geneface.service添加以下内容(替换路径为用户/组及二进制文件路径):
[Unit]
Description=GeneFace++ Service
After=network.target
[Service]
ExecStart=/path/to/GeneFacePlusPlus/inference/genefacepp_infer.py --a2m_ckpt=... --drv_aud=/data/audio.wav --out_name=output.mp4
Restart=always
User=geneface_user
Group=geneface_group
[Install]
WantedBy=multi-user.target启动并启用服务:
sudo systemctl daemon-reload
sudo systemctl start geneface
sudo systemctl enable geneface
# 查看日志
sudo journalctl -u geneface -fREADME.md中的版本要求(如PyTorch、CUDA、FFmpeg),避免因版本冲突导致部署失败;nvidia-smi正常显示GPU状态),调整batch_size提升推理速度。