You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter使用pyannote.audio遇.rttm文件加载器缺失ValueError问题

解决pyannote-audio在Jupyter Notebook中加载.rttm文件时的Loader缺失问题

问题背景

我用pyannote-audio搭建说话人分割流水线,已完成模型训练并加载检查点,但在Jupyter Notebook中运行代码时遇到异常:执行for file in ami.test():触发报错:

ValueError: No loader for files with '.rttm' suffix .

已确认数据库、协议定义均正确,且相同代码在Python脚本中运行无异常。尝试卸载pyannote.database并安装开发分支后问题仍存在。排查发现pyannote.database的loader.py中存在RTTMLoader类,但该类未被custom.py的LOADERS入口点识别。

解决方案

临时快速修复

  • 手动注册RTTMLoader
    在Notebook代码开头加入以下代码,手动将RTTMLoader注册到LOADERS映射中:
from pyannote.database.loader import RTTMLoader
from pyannote.database.custom import LOADERS

# 为.rttm后缀文件注册加载器
LOADERS[".rttm"] = RTTMLoader

执行这段代码后再运行ami.test()循环,即可解决加载器缺失问题。

  • 验证Jupyter环境一致性
    确保Jupyter使用的Python环境与运行脚本的环境一致。在Notebook中执行以下命令查看当前环境:
!which python
!pip list | grep pyannote

对比脚本环境的包版本,若存在差异,切换Jupyter的内核到脚本使用的环境。

  • 强制刷新模块入口点
    如果手动注册无效,尝试重新加载pyannote.database的custom模块,强制刷新入口点:
import importlib
from pyannote.database import custom
importlib.reload(custom)

重新加载后再执行目标代码。

长期源码修改方案

若临时修复无法满足需求,可直接修改pyannote.database的源码:

  1. 找到pyannote.database安装目录下的custom.py文件
  2. 在LOADERS字典中添加.rttm的映射:
LOADERS = {
    # 保留原有其他加载器配置
    ".rttm": RTTMLoader,
}
  1. 保存文件后重启Jupyter Notebook即可生效。注意:此修改会随包更新被覆盖,更新后需重新操作。

内容的提问来源于stack exchange,提问作者Jgoieu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 06:16:13