class_docstr: Gaussian policy that consists of FC layers with parametrized covariance.
  
  This model has one output layers: the mean layer.
  The mean of the Gaussian is computed in the same way as FCGaussianPolicy.
  
  Args:
      n_input_channels (int): Number of input channels.
      action_size (int): Number of dimensions of the action space.
      n_hidden_layers (int): Number of hidden layers.
      n_hidden_channels (int): Number of hidden channels.
      min_action (ndarray): Minimum action. Used only when bound_mean=True.
      max_action (ndarray): Maximum action. Used only when bound_mean=True.
      var_type (str): Type of parameterization of variance. It must be
          'spherical' or 'diagonal'.
      nonlinearity (callable): Nonlinearity placed between layers.
      mean_wscale (float): Scale of weight initialization of the mean layer.
      var_func (callable): Callable that computes the variance from the var
          parameter. It should always return positive values.
      var_param_init (float): Initial value the var parameter.
code: def __call__(self, x):
      mean = self.hidden_layers(x)
      var = F.broadcast_to(self.var_func(self.var_param), mean.shape)
      return distribution.GaussianDistribution(mean, var)
  
imports: from logging import getLogger
  import chainer
  from chainer import functions
  from chainer.initializers import LeCunNormal
  from chainer import links
  import numpy
  from chainerrl import distribution
  from chainerrl.functions.bound_by_tanh import bound_by_tanh
  from chainerrl import links
  from chainerrl.policy import Policy
label_desc: Use image node_id 2 for calling the FCGaussianPolicyWithStateIndependentCovariance obj's underlying member method code with example usage: obj.__call__(x) and returns: distribution