code: def log_conditional_likelihood(self, x):
          
          T, D = self.T, self.D_latent
          assert x.shape == (T, D)
  
          ll = 0
          for t in range(self.T):
              ll += self.local_log_likelihood(x[t], self.data[t], self.inputs[t])
          return ll
docs: likelihood \sum_t log p(y_t | x_t)
          Optionally override this in base classes