code: def mlp_gaussian_policy(
      x, a, hidden_sizes, activation, output_activation, action_space
  ):
      """
      Builds symbols to sample actions and compute log-probs of actions.
  
      Special instructions: Make log_std a tf variable with the same shape as
      the action vector, independent of x, initialized to [-0.5, -0.5, ..., -0.5].
  
      Args:
          x: Input tensor of states. Shape [batch, obs_dim].
  
          a: Input tensor of actions. Shape [batch, act_dim].
  
          hidden_sizes: Sizes of hidden layers for action network MLP.
  
          activation: Activation function for all layers except last.
  
          output_activation: Activation function for last layer (action layer).
  
          action_space: A gym.spaces object describing the action space of the
              environment this agent will interact with.
  
      Returns:
          pi: A symbol for sampling stochastic actions from a Gaussian
              distribution.
  
          logp: A symbol for computing log-likelihoods of actions from a Gaussian
              distribution.
  
          logp_pi: A symbol for computing log-likelihoods of actions in pi from a
              Gaussian distribution.
  
      """
      #######################
      #                     #
      #   YOUR CODE HERE    #
      #                     #
      #######################
      # mu =
      # log_std =
      # pi =
  
      logp = exercise1_1.gaussian_likelihood(a, mu, log_std)
      logp_pi = exercise1_1.gaussian_likelihood(pi, mu, log_std)
      return pi, logp, logp_pi
  
imports: import tensorflow
  import numpy
  from spinup.exercises.tf1.problem_set_1 import exercise1_1
label_desc: Use image node_id 2 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