code: def log_posterior_density(self) -> tf.Tensor:  # type: ignore[override]
      return self.log_likelihood() + self.log_prior_density()
  
imports: from typing import Optional
  import numpy
  import tensorflow
  import tensorflow_probability
  from check_shapes import check_shapes, inherit_check_shapes
  from ..base import InputData, MeanAndVariance, Parameter, RegressionData
  from ..conditionals import conditional
  from ..config import default_float, default_jitter
  from ..kernels import Kernel
  from ..likelihoods import Likelihood
  from ..mean_functions import MeanFunction
  from ..utilities import assert_params_false, to_default_float
  from .model import GPModel
  from .training_mixins import InternalDataTrainingLossMixin
  from .util import data_input_to_tensor
label_desc: Use image node_id 2 for calling the GPMC obj's underlying member method code with example usage: obj.log_posterior_density() and returns: unknown