class_docstr: Independent multivariate Gaussian distribution parametrized by mean.
code: def sample(self, inputs, temperature=1.0):
      (mean, std) = self._params(inputs)
      mean = jnp.reshape(mean, mean.shape[:-1] + self._shape)
      std = jnp.reshape(std, std.shape[:-1] + self._shape)
      if temperature == 0:
          # this seemingly strange if solves the problem
          # of calling np/jnp.random in the metric PreferredMove
          return mean
      else:
          return np.random.normal(loc=mean, scale=(std * temperature))
  
imports: import gin
  import gym
  import numpy
  from trax import layers
  from trax.fastmath import numpy
label_desc: Use image node_id 5 for calling the Gaussian obj's underlying member method code with example usage: obj.sample(inputs, temperature) and returns: mean, np