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: This may be the posterior with respect to the hyperparameters (e.g. for
  GPR) or the posterior with respect to the function (e.g. for GPMC and
  SGPMC). It assumes that maximum_log_likelihood_objective() is defined
  sensibly.
docstr_tok: ["This","may","be","the","posterior","with","respect","to","the","hyperparameters","(","e.g",".","for","GPR",")","or","the","posterior","with","respect","to","the","function","(","e.g",".","for","GPMC","and","SGPMC",")",".","It","assumes","that","maximum_log_likelihood_objective","(",")","is","defined","sensibly","."]
code: def log_posterior_density(
      self, *args: Any, **kwargs: Any
  ) -> tf.Tensor:
      """
      This may be the posterior with respect to the hyperparameters (e.g. for
      GPR) or the posterior with respect to the function (e.g. for GPMC and
      SGPMC). It assumes that maximum_log_likelihood_objective() is defined
      sensibly.
      """
      return (
          self.maximum_log_likelihood_objective(*args, **kwargs)
          + self.log_prior_density()
      )
  
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 2 for calling the BayesianModel obj's underlying member method code with example usage: obj.log_posterior_density() and returns: unknown