code: def _build_likelihood(self):
          
          # get the (marginals of) q(f): exactly predicting!
          fmean, fvar = self._build_predict(self.X, full_cov=False)
          return tf.reduce_sum(self.likelihood.variational_expectations(fmean, fvar, self.Y))
docs: This function computes the optimal density for v, q*(v), up to a constant