docstr: Given a Normal distribution for the latent function, and a datum Y,
  compute the log predictive density of Y,
  
  i.e. if
      q(F) = N(Fmu, Fvar)
  
  and this object represents
  
      p(y|F)
  
  then this method computes the predictive density
  
      log ∫ p(y=Y|F)q(F) df
  
  :param X: input tensor
  :param Fmu: mean function evaluation tensor
  :param Fvar: variance of function evaluation tensor
  :param Y: observation tensor
  :returns: log predictive density
docstr_tok: ["Given","a","Normal","distribution","for","the","latent","function",",","and","a","datum","Y",",","compute","the","log","predictive","density","of","Y",",","i.e",".","if","q","(","F",")","=","N","(","Fmu",",","Fvar",")","and","this","object","represents","p","(","y|F",")","then","this","method","computes","the","predictive","density","log","\u222b","p","(","y=Y|F",")","q","(","F",")","df",":","param","X",":","input","tensor",":","param","Fmu",":","mean","function","evaluation","tensor",":","param","Fvar",":","variance","of","function","evaluation","tensor",":","param","Y",":","observation","tensor",":","returns",":","log","predictive","density"]
code: def predict_log_density(
      self,
      X: TensorType,
      Fmu: TensorType,
      Fvar: TensorType,
      Y: TensorType,
  ) -> tf.Tensor:
      r"""
      Given a Normal distribution for the latent function, and a datum Y,
      compute the log predictive density of Y,
  
      i.e. if
          q(F) = N(Fmu, Fvar)
  
      and this object represents
  
          p(y|F)
  
      then this method computes the predictive density
  
          log ∫ p(y=Y|F)q(F) df
  
      :param X: input tensor
      :param Fmu: mean function evaluation tensor
      :param Fvar: variance of function evaluation tensor
      :param Y: observation tensor
      :returns: log predictive density
      """
      return self._predict_log_density(X, Fmu, Fvar, Y)
  
imports: import abc
  from typing import Any, Callable, Iterable, Optional, Sequence, Union
  import tensorflow
  from check_shapes import check_shapes, inherit_check_shapes
  from ..base import MeanAndVariance, Module, TensorType
  from ..quadrature import GaussianQuadrature, NDiagGHQuadrature, ndiag_mc
label_desc: Use image node_id 10 for calling the Likelihood obj's underlying member method code with example usage: obj.predict_log_density(X, Fmu, Fvar, Y) and returns: self