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, optional) – 包含 KenLM 語言模型的路徑、CTCDecoderLM 類型的自訂語言模型,或者如果不使用語言模型則為 None
lm_dict (str 或 None, optional) – 包含用於 LM 的字典的檔案,每行一個單字,並按 LM 索引排序。如果使用詞彙進行解碼,則 lm_dict 中的條目也必須出現在詞彙檔案中。如果為 None,則使用詞彙檔案建構 LM 的字典。(預設值:None)
nbest (int, optional) – 要傳回的最佳解碼數 (預設值:1)
beam_size (int, optional) – 每個解碼步驟後要保留的最大假設數 (預設值:50)
beam_size_token (int, optional) – 每個解碼步驟要考慮的最大 tokens 數。如果為 None,則設定為 tokens 總數 (預設值:None)
beam_threshold (float, optional) – 修剪假設的閾值 (預設值:50)
lm_weight (float, optional) – 語言模型的權重 (預設值:2)
word_score (float, optional) – 單字插入分數 (預設值:0)
unk_score (float, optional) – 未知單字插入分數 (預設值:-inf)
sil_score (float, optional) – 靜音插入分數 (預設值:0)
log_add (bool, optional) – 合併假設時是否使用 logadd (預設值:False)
blank_token (str, optional) – 對應於 blank 的 token (預設值:“-“)
sil_token (str, optional) – 對應於靜音的 token (預設值:“|”)
unk_word (str, optional) – 對應於未知的單字 (預設值:“<unk>”)
- 返回:
解碼器
- 返回類型:
- 範例
>>> decoder = ctc_decoder( >>> lexicon="lexicon.txt", >>> tokens="tokens.txt", >>> lm="kenlm.bin", >>> ) >>> results = decoder(emissions) # List of shape (B, nbest) of Hypotheses
- 使用
ctc_decoder
的教學