class_docstr: Bayesian model.
  
  This is a base class for all GPflow models. See also :class:`GPModel`.
  
  A bayesian model provides methods for computing prior- and posterior densities, and a maximum
  likelihood objective; allowing you to use generic code to optimise model parameters to fit data.
  
  Most bayesian models are expected to hold their data internally, but the methods take ``*args``
  and ``**kwargs`` allowing you to write implementations that take data as parameters.
  See also :class:`gpflow.models.training_mixins.InternalDataTrainingLossMixin`,
  :class:`gpflow.models.training_mixins.ExternalDataTrainingLossMixin`,
  and :func:`gpflow.models.training_loss`.
docstr: Objective for maximum likelihood estimation. Should be maximized. E.g.
  log-marginal likelihood (hyperparameter likelihood) for GPR, or lower
  bound to the log-marginal likelihood (ELBO) for sparse and variational
  GPs.
docstr_tok: ["Objective","for","maximum","likelihood","estimation",".","Should","be","maximized",".","E.g",".","log-marginal","likelihood","(","hyperparameter","likelihood",")","for","GPR",",","or","lower","bound","to","the","log-marginal","likelihood","(","ELBO",")","for","sparse","and","variational","GPs","."]
code: def maximum_log_likelihood_objective(
      self, *args: Any, **kwargs: Any
  ) -> tf.Tensor:
      """
      Objective for maximum likelihood estimation. Should be maximized. E.g.
      log-marginal likelihood (hyperparameter likelihood) for GPR, or lower
      bound to the log-marginal likelihood (ELBO) for sparse and variational
      GPs.
      """
      raise NotImplementedError
  
imports: import abc
  from typing import Any, Optional
  import tensorflow
  from check_shapes import check_shapes
  from ..base import InputData, MeanAndVariance, Module, RegressionData
  from ..conditionals.util import sample_mvn
  from ..kernels import Kernel, MultioutputKernel
  from ..likelihoods import Likelihood, SwitchedLikelihood
  from ..mean_functions import MeanFunction, Zero
  from ..utilities import assert_params_false, to_default_float
label_desc: Use image node_id 4 for calling the BayesianModel obj's underlying member method code with example usage: obj.maximum_log_likelihood_objective() without return types