GPT-SoVITS hps未定义报错:3步快速修复指南
【免费下载链接】GPT-SoVITS1 min voice data can also be used to train a good TTS model! (few shot voice cloning)项目地址: https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS
装好环境、打开网页、点下"生成",屏幕却弹出NameError: name 'hps' is not defined?这是 GPT-SoVITS 语音推理时的高频坑,别慌,按下面三步就能修掉。
一、先确认你踩的是不是这个坑
对照下面三条,全中才是本文的"主角":
- 报错信息里带有
NameError,并且点名了hps这个变量; - 堆栈顶部指向 inference_webui.py;
- 出错位置集中在三处附近:计算
int(hps.data.sampling_rate * 0.3)的暂停时长、进入torch.no_grad()(关闭梯度计算的推理模式)之前、以及给参考文本补标点的分句逻辑。
如果你的堆栈长得不一样,多半是别的错,先别急着对号入座。
二、hps 到底是什么
hps 就是模型自带的"说明书"对象(全称 hparams,超参数),里面装着采样率、滤波器长度这些推理必需的设定值。打个比方:模型检查点是个快递包裹,hps 就是盒子里的产品说明书——包裹没拆封,或者说明书被新版包装格式"藏"起来了,代码想照着说明书干活时自然无从下手,直接抛出未定义。所以问题通常出在脚本、PyTorch 版本和模型版本的配合上,而不是你亲手改坏了什么。
三、三步修复hps报错
- 更新推理脚本:把仓库拉到最新,用新版
inference_webui.py覆盖旧文件,这一步解决绝大多数"旧脚本读不到新说明书"的情况; - 核对 PyTorch 版本:运行
pip show torch看一眼,建议锁定 2.6.0;版本偏差较大时重新安装对应版本; - 必要时给 torch.load 加参数:若报错仍指向加载模型的
torch.load(...)一行,是因为新版 PyTorch 默认收紧了读取权限,给它补上weights_only=False(允许完整读回检查点里的配置)即可,新版脚本已内置该写法。
修完重跑一次,正常情况下就能听到声音了。
四、环境配置速查表
跑之前先过一遍这张表,多数报错能提前拦住:
| 配置项 | 建议值 | 说明 |
|---|---|---|
| Python | 3.9.x | 过新过老都会踩依赖坑 |
| PyTorch | 2.6.0 | 与推理脚本配套验证过的组合 |
| 模型版本 | v1~v3 与代码版本匹配 | 新代码加载老模型前先确认对应关系 |
| 依赖安装 | 优先走官方安装脚本 | 参考 install.sh,少手动拼版本 |
五、修完又冒出别的错?
- 如果你看到
ModuleNotFoundError: No module named 'text.LangSegmenter':多半是代码更新不彻底,把仓库整体拉到最新(或改用官方整合包)再重装依赖,别只覆盖单个文件; - 如果你在 Mac M 系列芯片上跑:注意 onnxruntime 要装 CPU 版而非 GPU 版,PyTorch 选对应平台的包,装错了推理阶段才炸;
- 如果你在 Windows 上跑:跟着官方安装脚本走,别跨系统复制 Python 虚拟环境。
若问题仍反复出现,把完整报错和项目版本信息贴出来,社区里大概率有同款答案。
盯紧项目的更新日志、翻一遍官方文档(docs/cn/README.md),遇到新坑时去社区讨论区搜一圈,比反复硬试省时间。
【免费下载链接】GPT-SoVITS1 min voice data can also be used to train a good TTS model! (few shot voice cloning)项目地址: https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考