class_docstr: A wrapper to make a GPyTorch likelihood compatible with Deep GPs
  
  Example:
      >>> deep_gaussian_likelihood = gpytorch.likelihoods.DeepLikelihood(gpytorch.likelihood.GaussianLikelihood)
class_docstr_tok: ["A","wrapper","to","make","a","GPyTorch","likelihood","compatible","with","Deep","GPs","Example",":",">",">",">","deep_gaussian_likelihood","=","gpytorch.likelihoods.DeepLikelihood","(","gpytorch.likelihood.GaussianLikelihood",")"]
code: def expected_log_prob(
      self, observations, function_dist, *params, **kwargs
  ):
      return self.base_likelihood.expected_log_prob(
          observations, function_dist, *params, **kwargs
      ).mean(dim=0)
  
imports: import warnings
  import torch
  from linear_operator.operators import BlockDiagLinearOperator
  from ...None import settings
  from ...distributions import MultitaskMultivariateNormal
  from ...likelihoods import Likelihood
  from ..approximate_gp import ApproximateGP
  from ..gp import GP
label_desc: Use image node_id 2 for calling the DeepLikelihood obj's underlying member method code with example usage: obj.expected_log_prob(observations, function_dist) and returns: self