class_docstr: Gaussian MLP Value Function with Model.
  
  It fits the input data to a gaussian distribution estimated by
  a MLP.
  
  Args:
      env_spec (EnvSpec): Environment specification.
      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 torch.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
          torch.Tensor.
      hidden_b_init (callable): Initializer function for the bias
          of intermediate dense layer(s). The function should return a
          torch.Tensor.
      output_nonlinearity (callable): Activation function for output dense
          layer. It should return a torch.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
          torch.Tensor.
      output_b_init (callable): Initializer function for the bias
          of output dense layer(s). The function should return a
          torch.Tensor.
      learn_std (bool): Is std trainable.
      init_std (float): Initial value for std.
          (plain value - not log or exponentiated).
      layer_normalization (bool): Bool for using layer normalization or not.
      name (str): The name of the value function.
docstr: Compute mean value of loss.
  
  Args:
      obs (torch.Tensor): Observation from the environment
          with shape :math:`(N \dot [T], O*)`.
      returns (torch.Tensor): Acquired returns with shape :math:`(N, )`.
  
  Returns:
      torch.Tensor: Calculated negative mean scalar value of
          objective (float).
code: def compute_loss(self, obs, returns):
      r"""Compute mean value of loss.
  
      Args:
          obs (torch.Tensor): Observation from the environment
              with shape :math:`(N \dot [T], O*)`.
          returns (torch.Tensor): Acquired returns with shape :math:`(N, )`.
  
      Returns:
          torch.Tensor: Calculated negative mean scalar value of
              objective (float).
  
      """
      dist = self.module(obs)
      ll = dist.log_prob(returns.reshape(-1, 1))
      loss = -ll.mean()
      return loss
  
file_path: garage/src/garage/torch/value_functions/gaussian_mlp_value_function.py
imports: import torch
  from torch import nn
  from garage.torch.modules import GaussianMLPModule
  from garage.torch.value_functions.value_function import ValueFunction
label_desc: Use image node_id 2 for calling the GaussianMLPValueFunction obj's underlying member method code with example usage: obj.compute_loss(obs, returns) and returns: loss