我在 Jupyter 笔记本中使用 pyannote.audio,我收到 ValueError: No loader for files with '.rttm' suffix

问题描述 投票:0回答:1

我正在使用

pyannote-audio
开发扬声器二值化管道。

我已经训练了模型并加载了检查点,在 Jupyter 笔记本中运行 python 脚本。

但是,我在 Jupyter 单元中运行代码时遇到问题:

from pyannote.database import registry
from pyannote.database import loader
from pyannote.audio import Inference
from pyannote.audio.pipelines import SpeakerDiarization as SpeakerDiarizationPipeline
metric = DiarizationErrorRate()
registry.load_database("pyannote/full_database.yml")
ami = registry.get_protocol('PROJECT.SpeakerDiarization.complete')
pipeline = SpeakerDiarizationPipeline(segmentation= segmentation_model, embedding=embedding_model)
for file in ami.test():
    # apply finetuned pipeline
    print("Expected output")
    print(file["annotation"])
    expected_output = file["annotation"].get_timeline()
    file["finetuned pipeline"] = pipeline(file)
    print("Calculating final output........ ")
    print(file["finetuned pipeline"] )
    diar , centroid = pipeline.apply(file, return_embeddings=True)

当我尝试在单元格中运行时发生错误,

for file in ami.test():

我明白了

    99     if path.suffix not in LOADERS:
    100         msg = f"No loader for files with '{path.suffix}' suffix"
--> 101         raise ValueError(msg)
    102 
    103     Loader = LOADERS[path.suffix].load()

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

数据库、协议等的定义都是正确的。

代码中没有错误,因为当我从 Python 脚本运行它时,运行时没有错误。

我尝试卸载

pyannote.database
软件包并克隆
pyannote.database
开发树,但仍然遇到相同的错误。

!pip install git+https://github.com/pyannote/pyannote-database.git@develop 

我检查了文件。

RTTMLoader
loader.py
中有一个
pyannote.database
类。

似乎问题在于

RTTMLoader
没有在
LOADERS
custom.py
中的
pyannote.database
的入口点被识别:

LOADERS = {
    ep.name: ep
    for ep in pkg_resources.iter_entry_points(group="pyannote.database.loader")
}

我需要在笔记本中运行代码才能继续处理我的项目。

python pytorch speech-recognition python-3.10 pytorch-lightning
1个回答
0
投票

我在 Google Colab 中遇到了同样的错误。 重新启动会话解决了该问题。

© www.soinside.com 2019 - 2024. All rights reserved.