加载 ChatTTS 模型——load() 与 load_models() 的区别
两套 API
ChatTTS 历史上有两套加载方法:
旧 API:load_models()
chat = ChatTTS.Chat()
chat.load_models()
这个方法在早期示例中广泛出现,目前仍可使用但文档标注为旧 API。
新 API:load()(推荐)
chat = ChatTTS.Chat()
chat.load(compile=False)
load() 接受更多参数,是当前版本推荐的做法。
load() 参数详解
| 参数 | 默认值 | 说明 |
|---|---|---|
compile | False | 是否启用 torch.compile 加速。首次编译会慢几十秒,后续推理更快 |
device | None | 手动指定设备:'cuda'、'cpu' 或 GPU 编号 |
source | None | 模型来源:None 自动、'hf' HuggingFace、'modelscope' 国内源、'custom' 自定义路径 |
custom_path | None | 当 source='custom' 时指定本地模型目录 |
compile 参数什么时候开
torch.compile 会对模型做计算图优化,首次编译可能耗时 30~60 秒,但后续每次推理会快 1.3~2 倍。
- 首次测试:
compile=False(快速启动看效果) - 批量生产:
compile=True(一次编译,持续受益) - Windows 用户:注意某些 torch 版本在 Windows 上会报 "Windows not yet supported for torch.compile",此时保持
compile=False
device 参数——强制 CPU 模式
没有 GPU 或显存不够时:
chat.load(compile=False, device='cpu')
source 参数——国内网络加速
ChatTTS 内置对 ModelScope 的支持:
chat.load(source='modelscope')
如果你的网络访问 HuggingFace 很慢但能连 ModelScope,这个参数可以省掉手动预下载的步骤。