code: def mlp_gaussian_policy(
      x, a, hidden_sizes, activation, output_activation, action_space
  ):
      act_dim = a.shape.as_list()[-1]
      mu = mlp(
          x,
          list(hidden_sizes) + [act_dim],
          activation,
          output_activation,
      )
      log_std = tf.get_variable(
          name="log_std",
          initializer=-0.5 * np.ones(act_dim, dtype=np.float32),
      )
      std = tf.exp(log_std)
      pi = mu + tf.random_normal(tf.shape(mu)) * std
      logp = gaussian_likelihood(a, mu, log_std)
      logp_pi = gaussian_likelihood(pi, mu, log_std)
      return pi, logp, logp_pi
  
file_path: spinningup/spinup/algos/tf1/ppo/core.py
imports: import numpy
  import tensorflow
  import scipy.signal
  from gym.spaces import Box, Discrete
label_desc: Use image node_id 12 for calling a global function with example usage: mlp_gaussian_policy(x, a, hidden_sizes, activation, output_activation, action_space) and returns: pi,  logp,  logp_pi