docstr: Computes the overall loss
docstr_tok: ["Computes","the","overall","loss"]
code: def compute_loss(self):
      """Computes the overall loss"""
      self.yloss = self.compute_yloss()
      self.proximity_loss = (
          self.compute_proximity_loss()
          if self.proximity_weight > 0
          else 0.0
      )
      self.diversity_loss = (
          self.compute_diversity_loss()
          if self.diversity_weight > 0
          else 0.0
      )
      self.regularization_loss = self.compute_regularization_loss()
  
      self.loss = (
          self.yloss
          + (self.proximity_weight * self.proximity_loss)
          - (self.diversity_weight * self.diversity_loss)
          + (self.categorical_penalty * self.regularization_loss)
      )
      return self.loss
  
imports: import copy
  import random
  import timeit
  import numpy
  import torch
  from dice_ml import diverse_counterfactuals
  from dice_ml.explainer_interfaces.explainer_base import ExplainerBase
label_desc: Use image node_id 16 for calling the DicePyTorch obj's underlying member method code with example usage: obj.compute_loss() and returns: self