class_docstr: CTC module.
  
  Args:
      odim: dimension of outputs
      encoder_output_size: number of encoder projection units
      dropout_rate: dropout rate (0.0 ~ 1.0)
      ctc_type: builtin or gtnctc
      reduce: reduce the CTC loss into a scalar
      ignore_nan_grad: Same as zero_infinity (keeping for backward compatiblity)
      zero_infinity:  Whether to zero infinite losses and the associated gradients.
docstr: log_softmax of frame activations
  
  Args:
      Tensor hs_pad: 3d tensor (B, Tmax, eprojs)
  Returns:
      torch.Tensor: log softmax applied 3d tensor (B, Tmax, odim)
code: def log_softmax(self, hs_pad):
      """log_softmax of frame activations
  
      Args:
          Tensor hs_pad: 3d tensor (B, Tmax, eprojs)
      Returns:
          torch.Tensor: log softmax applied 3d tensor (B, Tmax, odim)
      """
      return F.log_softmax(self.ctc_lo(hs_pad), dim=2)
  
file_path: espnet/espnet2/asr/ctc.py
imports: import logging
  import torch
  import torch.nn.functional
  from typeguard import check_argument_types
label_desc: Use image node_id 5 for calling the CTC obj's underlying member method code with example usage: obj.log_softmax(hs_pad) and returns: F