docstr: Computes the si-snr loss
docstr_tok: ["Computes","the","si-snr","loss"]
code: def compute_objectives(self, predictions, targets):
      """Computes the si-snr loss"""
      predicted_wavs, predicted_specs = predictions
  
      if self.use_freq_domain:
          target_specs = self.compute_feats(targets)
          return self.hparams.loss(target_specs, predicted_specs)
      else:
          return self.hparams.loss(
              targets.unsqueeze(-1), predicted_wavs.unsqueeze(-1)
          )
  
imports: import os
  import sys
  import torch
  import torch.nn.functional
  import torchaudio
  import speechbrain
  import speechbrain.nnet.schedulers
  from speechbrain.utils.distributed import run_on_main
  from hyperpyyaml import load_hyperpyyaml
  import numpy
  from tqdm import tqdm
  import csv
  import logging
  from speechbrain.processing.features import spectral_magnitude
  from speechbrain.utils.metric_stats import MetricStats
  from pesq import pesq
  from speechbrain.core import AMPConfig
label_desc: Use image node_id 3 for calling the Separation obj's underlying member method code with example usage: obj.compute_objectives(predictions, targets) and returns: self, self