speechbrain.utils.dynamic_chunk_training 模块
动态分块训练的配置和实用类,常用于语音识别中支持流式处理模型的训练。
动态分块训练的定义基于以下论文,尽管许多文献提及的是相同的定义:https://arxiv.org/abs/2012.05481
作者 * Sylvain de Langen 2023
摘要
类
动态分块训练配置对象,用于 transformer 模型,常用于流式 ASR。 |
|
辅助类,根据当前阶段在运行时生成 DynChunkTrainConfig。 |
参考
- 类 speechbrain.utils.dynamic_chunk_training.DynChunkTrainConfig(chunk_size: int, left_context_size: int | None = None)[source]
基类:
object
动态分块训练配置对象,用于 transformer 模型,常用于流式 ASR。
此对象可用于训练时的掩码配置以及 DynChunkTrain-ready 模型的运行时配置。
- 类 speechbrain.utils.dynamic_chunk_training.DynChunkTrainConfigRandomSampler(chunkwise_prob: float, chunk_size_min: int, chunk_size_max: int, limited_left_context_prob: float, left_context_chunks_min: int, left_context_chunks_max: int, test_config: DynChunkTrainConfig | None = None, valid_config: DynChunkTrainConfig | None = None)[source]
基类:
object
辅助类,根据当前阶段在运行时生成 DynChunkTrainConfig。
示例
>>> from speechbrain.core import Stage >>> from speechbrain.utils.dynamic_chunk_training import DynChunkTrainConfig >>> from speechbrain.utils.dynamic_chunk_training import DynChunkTrainConfigRandomSampler >>> # for the purpose of this example, we test a scenario with a 100% >>> # chance of the (24, None) scenario to occur >>> sampler = DynChunkTrainConfigRandomSampler( ... chunkwise_prob=1.0, ... chunk_size_min=24, ... chunk_size_max=24, ... limited_left_context_prob=0.0, ... left_context_chunks_min=16, ... left_context_chunks_max=16, ... test_config=DynChunkTrainConfig(32, 16), ... valid_config=None ... ) >>> one_train_config = sampler(Stage.TRAIN) >>> one_train_config DynChunkTrainConfig(chunk_size=24, left_context_size=None) >>> one_train_config.is_infinite_left_context() True >>> sampler(Stage.TEST) DynChunkTrainConfig(chunk_size=32, left_context_size=16)
- test_config: DynChunkTrainConfig | None = None
应用于
Stage.TEST
的配置。当为None
时,评估使用完整上下文(即非流式传输)。
- valid_config: DynChunkTrainConfig | None = None
应用于
Stage.VALID
的配置。当为None
时,评估使用完整上下文(即非流式传输)。
- __call__(stage)[source]
在训练阶段,采样一个随机 DynChunkTrain 配置。在验证或测试期间,返回相关的配置。
- 参数:
stage (speechbrain.core.Stage) – 当前训练或评估阶段。在训练模式下,将根据指定的概率和范围采样一个随机 DynChunkTrainConfig。在评估期间,将选取相关的 DynChunkTrainConfig 属性。
- 返回类型:
相应的配置