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] [原始碼]¶
將 CTC 標籤序列對齊到發射 (emission)。
- 參數:
log_probs (Tensor) – CTC 發射輸出的對數機率。形狀為 (B, T, C) 的 Tensor。其中 B 是批次大小,T 是輸入長度,C 是字母表中字元數,包含空白符號。
targets (Tensor) – 目標序列。形狀為 (B, L) 的 Tensor,其中 L 是目標長度。
input_lengths (Tensor 或 None, optional) – 輸入的長度 (最大值都必須 <= T)。形狀為 (B,) 的 1-D Tensor。
target_lengths (Tensor 或 None, optional) – 目標的長度。形狀為 (B,) 的 1-D Tensor。
blank_id (int, optional) – CTC 發射中空白符號的索引。(預設值: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
的教學