class_docstr: An implementation of the predictive log likelihood extended to DSPPs as discussed in Jankowiak et al., 2020.
  
  If you are using a DSPP model, this is the loss object you want to create and optimize over.
  
  This loss object is compatible only with models of type :obj:~gpytorch.models.deep_gps.DSPP
class_docstr_tok: ["An","implementation","of","the","predictive","log","likelihood","extended","to","DSPPs","as","discussed","in","Jankowiak","et","al.",",","2020",".","If","you","are","using","a","DSPP","model",",","this","is","the","loss","object","you","want","to","create","and","optimize","over",".","This","loss","object","is","compatible","only","with","models","of","type",":","obj",":","~gpytorch.models.deep_gps.DSPP"]
code: def _log_likelihood_term(self, approximate_dist_f, target, **kwargs):
      base_log_marginal = self.likelihood.log_marginal(
          target, approximate_dist_f, **kwargs
      )
      deep_log_marginal = (
          self.model.quad_weights.unsqueeze(-1) + base_log_marginal
      )
  
      deep_log_prob = deep_log_marginal.logsumexp(dim=0)
  
      return deep_log_prob.sum(-1)
  
imports: from ..models.deep_gps.dspp import DSPP
  from ._approximate_mll import _ApproximateMarginalLogLikelihood
label_desc: Use image node_id 2 for calling the DeepPredictiveLogLikelihood obj's underlying member method code with example usage: obj._log_likelihood_term(approximate_dist_f, target) and returns: deep_log_prob