GeneFace++兼容性测试方案
一 测试范围与判定标准
- 组件矩阵:覆盖操作系统(Ubuntu 20.04/22.04、CentOS 7/8、Windows 10/11)、Python(建议3.9)、PyTorch(建议2.0.1)、CUDA(建议11.7)、GPU架构(如V100/A100)、驱动版本、FFmpeg、以及项目依赖(如PyTorch3D、MMCV)。已知限制:项目在CUDA 12+上不支持,PyTorch 2.1+ 可能出现如 torch-ngp 相关错误,需重点回归验证。判定标准:安装成功、Demo可跑通、输出视频可播放且无明显伪影。
二 测试环境与工具
- 硬件与驱动:不同代际NVIDIA GPU(如V100/A100)与对应NVIDIA驱动;确保驱动与CUDA版本匹配。
- 软件栈:按矩阵组合准备Python 3.9、PyTorch 2.0.1 + cu117、FFmpeg(含libx264)、以及从源码构建的PyTorch3D与MMCV。
- 数据与模型:准备官方或自建的测试音频(如16000 Hz WAV)与参考视频(建议25 fps、512×512),并放置好预训练权重与必要的3DMM/BFM资源。
- 工具链:nvidia-smi、nvcc/conda/pip、ffprobe、日志与截图工具,用于版本核验与结果留痕。
三 测试用例与步骤
- 基础环境验证
- 核验版本:nvidia-smi、python -V、nvcc -V、conda list、ffmpeg -version;确认与矩阵一致。
- 依赖安装:按项目说明安装PyTorch 2.0.1+cu117、PyTorch3D(源码)、MMCV、音频依赖与FFmpeg(含libx264)。
- 安装与Demo回归
- 运行官方或项目提供的Demo脚本(如 inference/genefacepp_infer.py),检查日志无报错、生成MP4可播放且嘴型对齐正常。
- 训练/数据处理链路回归
- 按数据规范执行预处理:音频16000 Hz、视频25 fps、512×512;提取HuBERT与Mel-F0、2D landmarks、Fit 3DMM、二进制打包。
- 分别训练Head NeRF与Torso NeRF,确认训练可启动并完成若干轮迭代(或加载已有权重验证推理)。
- 音频与视频兼容性
- 音频:单声道/立体声、16 kHz WAV;不同长度(短句/长段)、不同语速与情感。
- 视频:不同分辨率(如512×512、720p)、不同帧率(如25/30 fps)、不同长宽比;验证裁切与缩放策略的鲁棒性。
- 稳定性与资源边界
- 长时推理(如>10分钟)观察显存/内存占用与是否被系统OOM/Kill;必要时降低分辨率或批量大小。
四 验收标准与常见不兼容现象
- 验收通过
- 指定矩阵组合下,环境安装成功、Demo与训练/推理流程可完整跑通;输出视频可播放、嘴型同步无明显错误、无崩溃/异常退出。
- 已知不兼容与规避
- CUDA 12+:当前不支持,需回退至CUDA 11.7;PyTorch 2.1+:可能出现如 torch-ngp 相关错误,建议使用2.0.1。
- 常见现象与定位
- 运行较长语音被系统Kill:多为资源不足或OOM,需监控显存/内存并缩短音频或降低分辨率。
- 预处理/数据路径报错(如bg.jpg not found):检查数据目录结构与脚本参数,确保资源完整。
- 模型权重加载失败(如RADNeRFTorsowithSR):核对checkpoints路径与文件名,确认权重与代码版本匹配。
- 视觉异常(如眼睛未睁开):检查3DMM拟合与landmark质量,必要时重新预处理或调整参数。