【pyannote.database】 Registry.py文件调用

Registry.py调用方式:

在这里插入图片描述

data.yml文件内容
在这里插入图片描述


调用顺序

  1. 先导入库文件from database import registry

    registry.load_database("D:/NET_1/pyannote/AMI/AMI-diarization-setup/pyannote/database.yml")
    
  2. __init__文件中from .registry import registry, LoadingMode

  3. registry.py最后实例化了Registry对象registry = Registry()

  4. yml文件导入方式也是在registry.py最后

    for yml in _find_default_ymls():
        registry.load_database(yml)
    

    _find_default_ymls:是一个函数,用于查找默认的数据库配置文件路径。

    它会在以下位置查找配置文件:

    用户主目录下的 ~/.pyannote/database_test.yml。

    当前工作目录下的 database_test.yml。

    环境变量 PYANNOTE_DATABASE_CONFIG 中指定的路径。

完整的调用流程

  1. 程序启动时就已经实例化创建好对象了:

    当你在其他文件中通过 from pyannote.database import registry 导入 registry 时,当 registry.py 文件被导入时,Python 会执行文件中的所有顶层代码(即不在函数或类中的代码)。

    registry = Registry():创建 Registry 单例对象。

    for yml in _find_default_ymls():
    registry.load_database(yml):加载默认的数据库配置文件。

  2. 手动加载额外配置文件:

    registry.load_database(“D:/NET_1/pyannote/AMI/AMI-diarization-setup/pyannote/database.yml”):加载指定的配置文件。

  3. 获取协议实例:

    protocol =
    registry.get_protocol(“MyDatabase.MyTask.MyProtocol”):根据协议名称获取协议实例。

代码详细分析:

提示:这里填写问题的分析:

例如: 发送消息有两种方式,分别是 和 ,其中  方式当数据量过大时,由于  大小也有限,所以当  处理不及时时,会造成先传的数据被覆盖,进而导致数据丢失。

    def _load_database_helper(
        self,
        database_yml: Union[Text, Path],
        mode: LoadingMode = LoadingMode.KEEP,
        loading: Set[Path] = set(),
    ):

        # 绝对路径
        database_yml = Path(database_yml).expanduser()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值