torchaudio.functional.forced_align¶
- torchaudio.functional.forced_align(log_probs: Tensor, targets: Tensor, input_lengths: Optional[Tensor] = None, target_lengths: Optional[Tensor] = None, blank: int = 0) Tuple[Tensor, Tensor][source]¶
將 CTC 標籤序列與發射對齊。
- 引數:
log_probs (Tensor) – CTC 發射輸出的對數機率。形狀為 (B, T, C) 的 Tensor。其中 B 是批次大小,T 是輸入長度,C 是字母表中字元的數量(包括 blank 符號)。
targets (Tensor) – 目標序列。形狀為 (B, L) 的 Tensor,其中 L 是目標長度。
input_lengths (Tensor 或 None,可選) – 輸入的長度(最大值必須小於等於 T)。形狀為 (B,) 的 1-D Tensor。
target_lengths (Tensor 或 None,可選) – 目標的長度。形狀為 (B,) 的 1-D Tensor。
blank_id (int,可選) – CTC 發射中 blank 符號的索引。(預設值:0)
- 返回:
Tensor:使用強制對齊計算出的對齊路徑中每個時間步的標籤。
Tensor:每個時間步標籤的對數機率分數。
- 返回型別:
Tuple(Tensor, Tensor)
注意
log_probs 的序列長度必須滿足
\[L_{\text{log\_probs}} \ge L_{\text{label}} + N_{\text{repeat}} \]其中 \(N_{\text{repeat}}\) 是連續重複 token 的數量。例如,在字串 “aabbc” 中,重複數量為 2。
注意
當前版本僅支援
batch_size==1。- 使用
forced_align的教程