class_docstr: Numba class for Token-and-Duration Transducer (TDT) loss (https://arxiv.org/abs/2304.06795)
class_docstr_tok: ["Numba","class","for","Token-and-Duration","Transducer","(","TDT",")","loss","(","https",":","\/\/arxiv.org\/abs\/2304.06795",")"]
code: def backward(ctx, grad_output):
      if grad_output is not None and ctx.label_grads is not None:
          grad_output = grad_output.view(-1, 1, 1, 1).to(
              ctx.label_grads
          )
          return (
              ctx.label_grads.mul_(grad_output),
              ctx.duration_grads.mul_(grad_output),
              None,
              None,
              None,
              None,
              None,
              None,
              None,
              None,
              None,
              None,
          )
  
imports: import torch
  from torch.autograd import Function
  from torch.nn import Module
  from nemo.collections.asr.parts.numba.rnnt_loss import rnnt
  from nemo.collections.asr.parts.numba.rnnt_loss.utils.cpu_utils import cpu_rnnt
label_desc: Use image node_id 2 for calling the _TDTNumba obj's underlying member method code with example usage: obj.backward(ctx, grad_output) and returns: ctx,  ctx,  None,  None,  None,  None,  None,  None,  None,  None,  None,  None