Linux系统安装与运行GeneFace++
一 环境准备与驱动安装
- 建议使用Ubuntu 22.04,显卡至少24GB显存(如 RTX 3090),并准备稳定的网络以下载模型与依赖。
- 安装与CUDA 11.7匹配的NVIDIA驱动(示例为535):
- 卸载旧驱动并添加显卡驱动PPA:
- sudo apt-get --purge remove "nvidia"
- sudo apt-get autoremove && sudo apt-get autoclean
- sudo add-apt-repository ppa:graphics-drivers/ppa && sudo apt-get update
- sudo apt-get install nvidia-driver-535
- 安装CUDA Toolkit 11.7(仅Toolkit):
- wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run
- sudo sh cuda_11.7.0_515.43.04_linux.run(安装时仅勾选CUDA Toolkit)
- 配置环境变量(写入~/.bashrc并source,随后重启):
- export PATH="/usr/local/cuda-11.7/bin:$PATH"
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.7/lib64
- export PATH=$PATH:/usr/local/cuda/bin
- export CUDA_HOME=/usr/local/cuda
- 验证:nvcc --version 应显示release 11.7。
二 创建环境并安装Python依赖
三 准备模型与数据
- 下载BFM2009模型,解压后将8个文件放入/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。
四 快速验证与运行
- 设置本地模型缓存镜像(避免Hugging Face下载慢或失败):
- 在推理脚本(如 inference/genefacepp_infer.py、inference/app_genefacepp.py)顶部加入:
- os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'
- os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"
- 命令行推理(示例音频为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 中的 server 为服务器IP(如192.168.xx.xx)
- export PYTHONPATH=./
- python inference/app_genefacepp.py --a2m_ckpt=checkpoints/audio2motion_vae --head_ckpt= --torso_ckpt=checkpoints/motion2video_nerf/may_torso
- 若Hugging Face模型下载失败,可将缓存目录(如/home/<你的用户名>/.cache/huggingface/hub/)中的对应模型复制到目标环境的缓存路径下再运行。
五 常见问题与排错
- 版本不兼容:优先使用PyTorch 2.0.1+cu117;2.1+cu121可能导致torch-ngp报错。
- 驱动与CUDA:CUDA 11.7需驱动版本≥515;若安装器未装驱动,可后续单独安装或重跑安装器加--driver参数。
- 扩展编译失败:确保已安装CUDA Toolkit 11.7、合适版本的gcc/g++,并满足显卡架构支持;必要时设置CUDA_HOME与PATH后重试。
- 依赖安装慢或超时:使用清华镜像源安装Python包;git克隆与pytorch3d源码安装可配置代理。
- 模型下载慢/失败:设置HF_ENDPOINT=https://hf-mirror.com;或手动下载模型到本地缓存目录后再运行。