code: def _build_likelihood(self):
          
  
          # Get prior KL.
          KL = self.build_prior_KL()
  
          # Get conditionals
          fmean, fvar = self._build_predict(self.X, full_cov=False, full_output_cov=False)
  
          # Get variational expectations.
          var_exp = self.likelihood.variational_expectations(fmean, fvar, self.Y)
  
          # re-scale for minibatch size
          scale = tf.cast(self.num_data, settings.float_type) / tf.cast(tf.shape(self.X)[0], settings.float_type)
  
          return tf.reduce_sum(var_exp) * scale - KL
docs: This gives a variational bound on the model likelihood.