code: def gmm_log_likelihood(params, data):
      cluster_lls = []
      for log_proportion, mean, cov_sqrt in zip(
          *unpack_gmm_params(params)
      ):
          cov = np.dot(cov_sqrt.T, cov_sqrt)
          cluster_lls.append(
              log_proportion + mvn.logpdf(data, mean, cov)
          )
      return np.sum(logsumexp(np.vstack(cluster_lls), axis=0))
  
file_path: autograd/examples/gmm.py
imports: from __future__ import absolute_import
  from __future__ import print_function
  import matplotlib.pyplot
  import autograd.numpy
  import autograd.numpy.random
  from autograd import grad, hessian_vector_product
  from scipy.optimize import minimize
  from autograd.scipy.special import logsumexp
  import autograd.scipy.stats.multivariate_normal
  from autograd.misc.flatten import flatten_func
  from data import make_pinwheel
label_desc: Use image node_id 4 for calling a global function with example usage: gmm_log_likelihood(params, data) and returns: np