torchaudio.functional.rnnt_loss¶
- torchaudio.functional.rnnt_loss(logits: Tensor, targets: Tensor, logit_lengths: Tensor, target_lengths: Tensor, blank: int = -1, clamp: float = -1, reduction: str = 'mean', fused_log_softmax: bool = True)¶
已弃用
警告
此函数已被弃用。它将在 2.9 版本中移除。此弃用是为将 TorchAudio 迁移到维护阶段的大型重构工作的一部分。有关更多信息,请参阅 https://github.com/pytorch/audio/issues/3902。
根据Sequence Transduction with Recurrent Neural Networks [Graves, 2012] 计算 RNN Transducer 损失。
RNN Transducer 损失通过定义一个覆盖所有长度的输出序列的分布,并联合建模输入-输出和输出-输出依赖关系,来扩展 CTC 损失。
- 参数
logits (Tensor) – 维度为 (batch, max seq length, max target length + 1, class) 的张量,包含 joiner 的输出
targets (Tensor) – 维度为 (batch, max target length) 的张量,包含用零填充的目标
logit_lengths (Tensor) – 维度为 (batch) 的张量,包含来自编码器的每个序列的长度
target_lengths (Tensor) – 维度为 (batch) 的张量,包含每个序列的目标长度
blank (int, optional) – blank 标签 (默认:
-1
)clamp (float, optional) – 梯度的 clamp 值 (默认:
-1
)reduction (string, optional) – 指定应用于输出的归约方式:
"none"
|"mean"
|"sum"
。 (默认:"mean"
)fused_log_softmax (bool) – 如果在损失函数外部调用 log_softmax,则设置为 False (默认:
True
)
- 返回
应用了归约选项的损失。如果
reduction
是"none"
,则大小为 (batch),否则为标量。- 返回类型
张量