class_docstr: Computes signal-to-distortion ratio (SDR) loss with weighted average across channels.
  
  Args:
      weight: weight for SDR of each output channel, used for averaging the loss across channels. Defaults to `None` (averaging).
      reduction: batch reduction. Defaults to `mean` over the batch.
      scale_invariant: If `True`, use scale-invariant SDR. Defaults to `False`.
      remove_mean: Remove mean before calculating the loss. Defaults to `True`.
      sdr_max: Soft thresholding of the loss to SDR_max.
      eps: Small value for regularization.
class_docstr_tok: ["Computes","signal-to-distortion","ratio","(","SDR",")","loss","with","weighted","average","across","channels",".","Args",":","weight",":","weight","for","SDR","of","each","output","channel",",","used","for","averaging","the","loss","across","channels",".","Defaults","to","`","None","`","(","averaging",")",".","reduction",":","batch","reduction",".","Defaults","to","`","mean","`","over","the","batch",".","scale_invariant",":","If","`","True","`",",","use","scale-invariant","SDR",".","Defaults","to","`","False","`",".","remove_mean",":","Remove","mean","before","calculating","the","loss",".","Defaults","to","`","True","`",".","sdr_max",":","Soft","thresholding","of","the","loss","to","SDR_max",".","eps",":","Small","value","for","regularization","."]
docstr: Output types definitions for SDRLoss.
  loss:
      NeuralType(None)
docstr_tok: ["Output","types","definitions","for","SDRLoss",".","loss",":","NeuralType","(","None",")"]
code: def output_types(self):
      """Output types definitions for SDRLoss.
      loss:
          NeuralType(None)
      """
      return {"loss": NeuralType(elements_type=LossType())}
  
file_path: NeMo/nemo/collections/asr/losses/audio_losses.py
imports: import math
  from typing import List, Optional
  import numpy
  import torch
  from nemo.collections.asr.parts.preprocessing.features import make_seq_mask_like
  from nemo.collections.asr.parts.utils.audio_utils import toeplitz
  from nemo.core.classes import Loss, Typing, typecheck
  from nemo.core.neural_types import AudioSignal, LengthsType, LossType, MaskType, NeuralType
  from nemo.utils import logging
label_desc: Use image node_id 3 for calling the SDRLoss obj's underlying member method code with example usage: obj.output_types() and returns: dict