class_docstr: GaussianMLPTaskEmbeddingPolicy.
  
  Args:
      env_spec (garage.envs.env_spec.EnvSpec): Environment specification.
      encoder (garage.tf.embeddings.StochasticEncoder): Embedding network.
      name (str): Model name, also the variable scope.
      hidden_sizes (list[int]): Output dimension of dense layer(s) for
          the MLP for mean. For example, (32, 32) means the MLP consists
          of two hidden layers, each with 32 hidden units.
      hidden_nonlinearity (callable): Activation function for intermediate
          dense layer(s). It should return a tf.Tensor. Set it to
          None to maintain a linear activation.
      hidden_w_init (callable): Initializer function for the weight
          of intermediate dense layer(s). The function should return a
          tf.Tensor.
      hidden_b_init (callable): Initializer function for the bias
          of intermediate dense layer(s). The function should return a
          tf.Tensor.
      output_nonlinearity (callable): Activation function for output dense
          layer. It should return a tf.Tensor. Set it to None to
          maintain a linear activation.
      output_w_init (callable): Initializer function for the weight
          of output dense layer(s). The function should return a
          tf.Tensor.
      output_b_init (callable): Initializer function for the bias
          of output dense layer(s). The function should return a
          tf.Tensor.
      learn_std (bool): Is std trainable.
      adaptive_std (bool): Is std a neural network. If False, it will be a
          parameter.
      std_share_network (bool): Boolean for whether mean and std share
          the same network.
      init_std (float): Initial value for std.
      std_hidden_sizes (list[int]): Output dimension of dense layer(s) for
          the MLP for std. For example, (32, 32) means the MLP consists
          of two hidden layers, each with 32 hidden units.
      min_std (float): If not None, the std is at least the value of min_std,
          to avoid numerical issues.
      max_std (float): If not None, the std is at most the value of max_std,
          to avoid numerical issues.
      std_hidden_nonlinearity (callable): Nonlinearity for each hidden layer
          in the std network. It should return a tf.Tensor. Set it to None to
          maintain a linear activation.
      std_output_nonlinearity (callable): Nonlinearity for output layer in
          the std network. It should return a tf.Tensor. Set it to None to
          maintain a linear activation.
      std_parameterization (str): How the std should be parametrized. There
          are a few options:
          - exp: the logarithm of the std will be stored, and applied a
              exponential transformation
          - softplus: the std will be computed as log(1+exp(x))
      layer_normalization (bool): Bool for using layer normalization or not.
class_docstr_tok: ["GaussianMLPTaskEmbeddingPolicy",".","Args",":","env_spec","(","garage.envs.env_spec.EnvSpec",")",":","Environment","specification",".","encoder","(","garage.tf.embeddings.StochasticEncoder",")",":","Embedding","network",".","name","(","str",")",":","Model","name",",","also","the","variable","scope",".","hidden_sizes","(","list","[","int","]",")",":","Output","dimension","of","dense","layer","(","s",")","for","the","MLP","for","mean",".","For","example",",","(","32",",","32",")","means","the","MLP","consists","of","two","hidden","layers",",","each","with","32","hidden","units",".","hidden_nonlinearity","(","callable",")",":","Activation","function","for","intermediate","dense","layer","(","s",")",".","It","should","return","a","tf.Tensor",".","Set","it","to","None","to","maintain","a","linear","activation",".","hidden_w_init","(","callable",")",":","Initializer","function","for","the","weight","of","intermediate","dense","layer","(","s",")",".","The","function","should","return","a","tf.Tensor",".","hidden_b_init","(","callable",")",":","Initializer","function","for","the","bias","of","intermediate","dense","layer","(","s",")",".","The","function","should","return","a","tf.Tensor",".","output_nonlinearity","(","callable",")",":","Activation","function","for","output","dense","layer",".","It","should","return","a","tf.Tensor",".","Set","it","to","None","to","maintain","a","linear","activation",".","output_w_init","(","callable",")",":","Initializer","function","for","the","weight","of","output","dense","layer","(","s",")",".","The","function","should","return","a","tf.Tensor",".","output_b_init","(","callable",")",":","Initializer","function","for","the","bias","of","output","dense","layer","(","s",")",".","The","function","should","return","a","tf.Tensor",".","learn_std","(","bool",")",":","Is","std","trainable",".","adaptive_std","(","bool",")",":","Is","std","a","neural","network",".","If","False",",","it","will","be","a","parameter",".","std_share_network","(","bool",")",":","Boolean","for","whether","mean","and","std","share","the","same","network",".","init_std","(","float",")",":","Initial","value","for","std",".","std_hidden_sizes","(","list","[","int","]",")",":","Output","dimension","of","dense","layer","(","s",")","for","the","MLP","for","std",".","For","example",",","(","32",",","32",")","means","the","MLP","consists","of","two","hidden","layers",",","each","with","32","hidden","units",".","min_std","(","float",")",":","If","not","None",",","the","std","is","at","least","the","value","of","min_std",",","to","avoid","numerical","issues",".","max_std","(","float",")",":","If","not","None",",","the","std","is","at","most","the","value","of","max_std",",","to","avoid","numerical","issues",".","std_hidden_nonlinearity","(","callable",")",":","Nonlinearity","for","each","hidden","layer","in","the","std","network",".","It","should","return","a","tf.Tensor",".","Set","it","to","None","to","maintain","a","linear","activation",".","std_output_nonlinearity","(","callable",")",":","Nonlinearity","for","output","layer","in","the","std","network",".","It","should","return","a","tf.Tensor",".","Set","it","to","None","to","maintain","a","linear","activation",".","std_parameterization","(","str",")",":","How","the","std","should","be","parametrized",".","There","are","a","few","options",":","-","exp",":","the","logarithm","of","the","std","will","be","stored",",","and","applied","a","exponential","transformation","-","softplus",":","the","std","will","be","computed","as","log","(","1+exp","(","x",")",")","layer_normalization","(","bool",")",":","Bool","for","using","layer","normalization","or","not","."]
docstr: Get action sampled from the policy.
  
  Args:
      observation (np.ndarray): Augmented observation from the
          environment, with shape :math:`(O+N, )`. O is the dimension
          of observation, N is the number of tasks.
  
  Returns:
      np.ndarray: Action sampled from the policy,
          with shape :math:`(A, )`. A is the dimension of action.
      dict: Action distribution information, with keys:
          - mean (numpy.ndarray): Mean of the distribution,
              with shape :math:`(A, )`. A is the dimension of
              action.
          - log_std (numpy.ndarray): Log standard deviation of the
              distribution, with shape :math:`(A, )`.
              A is the dimension of action.
docstr_tok: ["Get","action","sampled","from","the","policy",".","Args",":","observation","(","np.ndarray",")",":","Augmented","observation","from","the","environment",",","with","shape",":","math",":","`","(","O+N",",",")","`",".","O","is","the","dimension","of","observation",",","N","is","the","number","of","tasks",".","Returns",":","np.ndarray",":","Action","sampled","from","the","policy",",","with","shape",":","math",":","`","(","A",",",")","`",".","A","is","the","dimension","of","action",".","dict",":","Action","distribution","information",",","with","keys",":","-","mean","(","numpy.ndarray",")",":","Mean","of","the","distribution",",","with","shape",":","math",":","`","(","A",",",")","`",".","A","is","the","dimension","of","action",".","-","log_std","(","numpy.ndarray",")",":","Log","standard","deviation","of","the","distribution",",","with","shape",":","math",":","`","(","A",",",")","`",".","A","is","the","dimension","of","action","."]
code: def get_action(self, observation):
      """Get action sampled from the policy.
  
      Args:
          observation (np.ndarray): Augmented observation from the
              environment, with shape :math:`(O+N, )`. O is the dimension
              of observation, N is the number of tasks.
  
      Returns:
          np.ndarray: Action sampled from the policy,
              with shape :math:`(A, )`. A is the dimension of action.
          dict: Action distribution information, with keys:
              - mean (numpy.ndarray): Mean of the distribution,
                  with shape :math:`(A, )`. A is the dimension of
                  action.
              - log_std (numpy.ndarray): Log standard deviation of the
                  distribution, with shape :math:`(A, )`.
                  A is the dimension of action.
  
      """
      actions, agent_infos = self.get_actions([observation])
      return actions[0], {k: v[0] for k, v in agent_infos.items()}
  
imports: import akro
  import numpy
  import tensorflow
  from garage.experiment import deterministic
  from garage.tf.models import GaussianMLPModel
  from garage.tf.policies.task_embedding_policy import TaskEmbeddingPolicy
label_desc: Use image node_id 4 for calling the GaussianMLPTaskEmbeddingPolicy obj's underlying member method code with example usage: obj.get_action(observation) and returns: actions,  unknown