genefaceplusplus_lite)wav2vec2-base 或自定义 tiny encoder)GeneFace++ 的显存大头在 NeRF / 3D 渲染模块。
# 推理配置
image_size: 256 # 改成 128 或 96batch_frames = 1 # 或 2推理时强烈建议:
with torch.cuda.amp.autocast():
output = model(audio, ref)或:
export CUDA_VISIBLE_DEVICES=0
python inference.py --fp16✅ 显存减少 30–40%
推理时通常不需要:
检查 inference.py 是否有类似:
model.eval()
for module in [model.discriminator, model.syncnet]:
module = None避免 PyTorch 一次性占满:
torch.cuda.set_per_process_memory_fraction(0.5, device=0)或:
export PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128可以把音频编码器放 CPU:
audio_encoder = audio_encoder.cpu()只把 NeRF / decoder 放 GPU
batch_size: 4 # 改为 1 或 2accumulate_grad_batches: 4use_ema: falseimport xformers| 显存 | 建议 |
|---|---|
| 6GB | 128 分辨率 + FP16 + batch=1 |
| 8GB | 256 分辨率 + FP16 |
| 12GB | 官方默认配置 |
| 24GB | 可开全分辨率 + 训练 |
如果显存持续增长:
torch.cuda.empty_cache()并检查:
loss.item() 到 listdetach() / retain_graphGeneFace++ 显存节省 = 降分辨率 + FP16 + 小 batch + 精简模型 + 关多余模块
如果你愿意,可以告诉我:
我可以直接给你一套可复制的配置参数。