class_docstr: Tacotron-based loss for S2ST.
class_docstr_tok: ["Tacotron-based","loss","for","S2ST","."]
docstr: Forward.
  
  Args:
  
  Returns:
      Tensor: guided attention loss
docstr_tok: ["Forward",".","Args",":","Returns",":","Tensor",":","guided","attention","loss"]
code: def forward(
      self,
      att_ws: torch.Tensor,
      ilens: torch.Tensor,
      olens_in: torch.Tensor,
  ):
      """Forward.
  
      Args:
  
      Returns:
          Tensor: guided attention loss
      """
      if self.weight > 0:
          return self.loss(att_ws, ilens, olens_in)
      else:
          return None, None, None, None
  
file_path: espnet/espnet2/s2st/losses/guided_attention_loss.py
imports: import torch
  import torch.nn.functional
  from typeguard import check_argument_types
  from espnet2.s2st.losses.abs_loss import AbsS2STLoss
  from espnet2.utils.types import str2bool
  from espnet.nets.pytorch_backend.e2e_tts_tacotron2 import GuidedAttentionLoss
  from espnet.nets.pytorch_backend.nets_utils import to_device
label_desc: Use image node_id 2 for calling the S2STGuidedAttentionLoss obj's underlying member method code with example usage: obj.forward(att_ws, ilens, olens_in) and returns: self, None,  None,  None,  None