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
的教程