您提到在启动命令中添加 --fp16 参数后效果明显改善,这完全正确且是优化GPU性能的关键步骤。
--fp16 参数代表使用半精度浮点数(16位)进行计算,而非默认的单精度(32位)。这能带来两大核心好处:
- 显著降低显存占用:模型参数和中间计算结果的存储空间减半,使更大模型或更长序列能在同一块GPU上运行。
- 提升计算速度:现代GPU(如您的RTX 4060)针对半精度计算有专门的硬件单元(Tensor Cores),执行效率远高于单精度。
针对您的情况,具体操作和验证方法如下:
修改启动命令:
在您的Index-TTS2整合包启动脚本(例如 run.bat 或 start.sh)中,找到 uv run 命令,确保已添加 --fp16 参数。命令应类似于:
uv run python app.py --fp16 --device cuda:0
或
uv run infer.py --text "测试文本" --fp16
(具体命令取决于整合包的入口脚本)
在PyVideoTrans中确认调用:
- 在PyVideoTrans主界面勾选 “CUDA加速”。
- 在“配音”设置中选择Index-TTS2,并点击“设置”,检查其API地址或配置参数是否指向您本地已启动的、带
--fp16 参数的服务。
性能验证:
- 速度:处理同一段5秒素材的时间应从原来的约3分钟大幅缩短,理想情况下可能在数秒到十几秒内完成。
- 显存:使用
nvidia-smi 命令观察任务运行时GPU的显存使用量,应比未使用 --fp16 时更低。 - 质量:半精度推理通常对最终音频质量影响极小,人耳难以察觉。如果发现合成音质有可闻的下降,可能是模型本身对精度敏感,但这种情况较少见。
结论:您通过添加 --fp16 参数成功启用了GPU的半精度加速模式,这是解决本地TTS模型速度慢的标准且有效的优化手段。请确保在PyVideoTrans中正确调用该服务,即可享受GPU加速带来的性能提升。
请查看更多参考文档: