ctc_decoder¶
- torchaudio.models.decoder.ctc_decoder(lexicon: Optional[str], tokens: Union[str, List[str]], lm: Optional[Union[str, CTCDecoderLM]] = None, lm_dict: Optional[str] = None, nbest: int = 1, beam_size: int = 50, beam_size_token: Optional[int] = None, beam_threshold: float = 50, lm_weight: float = 2, word_score: float = 0, unk_score: float = -inf, sil_score: float = 0, log_add: bool = False, blank_token: str = '-', sil_token: str = '|', unk_word: str = '<unk>') CTCDecoder [source]¶
构建
CTCDecoder
的实例。- 参数:
lexicon (str 或 None) – 词汇文件,包含可能的单词及其对应的拼写。每行由一个单词及其空格分隔的拼写组成。如果为 None,则使用无词汇解码。
tokens (str 或 List[str]) – 包含有效 tokens 的文件或列表。如果使用文件,预期格式是将映射到相同索引的 tokens 放在同一行
lm (str, CTCDecoderLM, 或 None, 可选) – 包含 KenLM 语言模型的路径,CTCDecoderLM 类型的自定义语言模型,或者如果不使用语言模型则为 None
lm_dict (str 或 None, 可选) – 文件,包含用于 LM 的字典,每行一个单词,按 LM 索引排序。如果使用词汇表进行解码,则 lm_dict 中的条目也必须出现在词汇表文件中。如果为 None,则使用词汇表文件构建 LM 的字典。(默认值:None)
nbest (int, 可选) – 返回的最佳解码数(默认值:1)
beam_size (int, 可选) – 每个解码步骤后要保留的最大假设数(默认值:50)
beam_size_token (int, 可选) – 每个解码步骤要考虑的最大 tokens 数。如果为 None,则设置为 tokens 总数(默认值:None)
beam_threshold (float, 可选) – 剪枝假设的阈值(默认值:50)
lm_weight (float, 可选) – 语言模型的权重(默认值:2)
word_score (float, 可选) – 单词插入得分(默认值:0)
unk_score (float, 可选) – 未知单词插入得分(默认值:-inf)
sil_score (float, 可选) – 静音插入得分(默认值:0)
log_add (bool, 可选) – 合并假设时是否使用 logadd(默认值:False)
blank_token (str, 可选) – 对应于空白的 token(默认值:“-”)
sil_token (str, 可选) – 对应于静音的 token(默认值:“|”)
unk_word (str, 可选) – 对应于未知的单词(默认值:“<unk>”)
- 返回:
decoder
- 返回类型:
- 示例
>>> decoder = ctc_decoder( >>> lexicon="lexicon.txt", >>> tokens="tokens.txt", >>> lm="kenlm.bin", >>> ) >>> results = decoder(emissions) # List of shape (B, nbest) of Hypotheses
- 使用
ctc_decoder
的教程