GeneFace++ 对 CUDA / PyTorch 版本较敏感,建议:
Ubuntu 20.04 / 22.04
Python 3.8 / 3.9
PyTorch 1.12–1.13 + CUDA 11.6 / 11.7✅ 优先使用官方 Docker / conda 环境
❌ 不建议随意升级 PyTorch 或 CUDA
检查命令:
python - << 'EOF'
import torch
print(torch.__version__)
print(torch.cuda.is_available())
print(torch.version.cuda)
EOF调试 GeneFace++ 建议按这个顺序:
1. 数据准备是否正确
2. 配置文件是否一致
3. 单卡训练是否能跑通
4. 检查 loss 是否正常下降
5. 推理是否正常
6. 音频 / 嘴型 / 渲染问题GeneFace++ 通常要求:
data/
└── your_subject/
├── audios/
├── videos/
├── landmarks/
├── coeffs/
└── split.txt表现:
调试方法:
ffprobe audio.wav
ffprobe video.mp4✅ 建议统一为:
GeneFace++ 使用 3DMM coefficients:
✅ 检查:
import numpy as np
c = np.load("coeff.npy")
print(c.shape, c.mean(), c.std())train:
batch_size: 4 # 太大容易 OOM
num_workers: 0 # 调试阶段建议 0✅ 调试阶段建议:
batch_size = 1num_workers = 0❌ 常见错误:
data_dir: "/home/user/data"但脚本在 GeneFacePlusPlus/
先跑:
python train.py --debug或限制 epoch:
python train.py --max_epochs 1| 情况 | 可能原因 |
|---|---|
| Loss = NaN | 学习率过大 / 数据异常 |
| Loss 不下降 | 数据没对齐 / 模型未生效 |
| Loss 震荡 | batch size 太小 |
✅ 调试建议:
GeneFace++ 多卡可能不稳定:
✅ 建议:
export CUDA_VISIBLE_DEVICES=0python inference.py \
--audio test.wav \
--model_path checkpoints/xxx.pth❌ 常见错误:
✅ 检查:
torch.load("xxx.pth").keys()✅ 检查点:
✅ 检查:
import matplotlib.pyplot as plt
plt.plot(loss_list)plt.plot(coeff[:100])✅ 是否:
| 报错 | 原因 |
|---|---|
| NaN loss | 数据 / 学习率 |
| CUDA out of memory | batch size |
| Key mismatch | 权重版本 |
| Video black | renderer |
| Audio not aligned | fps / sr |
如果你愿意,可以告诉我:
1️⃣ 你现在卡在哪一步(训练 / 推理 / 数据)
2️⃣ 报错截图或日志
3️⃣ 是否使用官方代码 / 自建数据
4️⃣ GPU 型号(如 3090 / A100)
我可以直接: