class_docstr: MultiHeadDampedEMA module definition.
  
  Args:
      size: Module size.
      num_heads: Number of attention heads.
      activation: Activation function type.
      truncation_length: Maximum length for truncation.
docstr: Compute EMA coefficients.
  
  Args:
      None
  
  Returns:
      damping_factor: Damping factor / P-th order coefficient.
                        (size, num_heads, 1)
      prev_timestep_weight: Previous timestep weight / Q-th order coefficient.
                              (size, num_heads, 1)
code: def compute_ema_coefficients(
      self,
  ) -> Tuple[torch.Tensor, torch.Tensor]:
      """Compute EMA coefficients.
  
      Args:
          None
  
      Returns:
          damping_factor: Damping factor / P-th order coefficient.
                            (size, num_heads, 1)
          prev_timestep_weight: Previous timestep weight / Q-th order coefficient.
                                  (size, num_heads, 1)
  
      """
      self._coeffs = None
  
      damping_factor = torch.sigmoid(self.damping_factor)
      decay_factor = torch.sigmoid(self.decay_factor)
  
      prev_timestep_weight = 1.0 - damping_factor * decay_factor
  
      return damping_factor, prev_timestep_weight
  
file_path: espnet/espnet2/asr_transducer/decoder/modules/mega/multi_head_damped_ema.py
imports: import math
  from typing import Dict, Optional, Tuple, Union
  import torch
label_desc: Use image node_id 3 for calling the MultiHeadDampedEMA obj's underlying member method code with example usage: obj.compute_ema_coefficients() and returns: damping_factor,  prev_timestep_weight