class_docstr: The exact marginal log likelihood (MLL) for an exact Gaussian process with a
  Gaussian likelihood.
  
  .. note::
      This module will not work with anything other than a :obj:`~gpytorch.likelihoods.GaussianLikelihood`
      and a :obj:`~gpytorch.models.ExactGP`. It also cannot be used in conjunction with
      stochastic optimization.
  
  :param ~gpytorch.likelihoods.GaussianLikelihood likelihood: The Gaussian likelihood for the model
  :param ~gpytorch.models.ExactGP model: The exact GP model
  
  Example:
      >>> # model is a gpytorch.models.ExactGP
      >>> # likelihood is a gpytorch.likelihoods.Likelihood
      >>> mll = gpytorch.mlls.ExactMarginalLogLikelihood(likelihood, model)
      >>>
      >>> output = model(train_x)
      >>> loss = -mll(output, train_y)
      >>> loss.backward()
code: def __init__(self, likelihood, model):
      if not isinstance(likelihood, _GaussianLikelihoodBase):
          raise RuntimeError(
              "Likelihood must be Gaussian for exact inference"
          )
      super(ExactMarginalLogLikelihood, self).__init__(
          likelihood, model
      )
  
file_path: gpytorch/gpytorch/mlls/exact_marginal_log_likelihood.py
imports: from linear_operator.operators import MaskedLinearOperator
  from ..None import settings
  from ..distributions import MultivariateNormal
  from ..likelihoods import _GaussianLikelihoodBase
  from .marginal_log_likelihood import MarginalLogLikelihood
label_desc: Use image node_id 1 to create a new ExactMarginalLogLikelihood object from inherited base classes: MarginalLogLikelihood with example: obj = ExactMarginalLogLikelihood(likelihood, model)