class_docstr: This class implements a statistic pooling layer.
  
  It returns the mean and/or std of input tensor.
  
  Arguments
  ---------
  return_mean : True
       If True, the average pooling will be returned.
  return_std : True
       If True, the standard deviation will be returned.
  
  Example
  -------
  >>> inp_tensor = torch.rand([5, 100, 50])
  >>> sp_layer = StatisticsPooling()
  >>> out_tensor = sp_layer(inp_tensor)
  >>> out_tensor.shape
  torch.Size([5, 1, 100])
docstr: Returns a tensor of epsilon Gaussian noise.
  
  Arguments
  ---------
  shape_of_tensor : tensor
      It represents the size of tensor for generating Gaussian noise.
docstr_tok: ["Returns","a","tensor","of","epsilon","Gaussian","noise",".","Arguments","--","--","--","--","-","shape_of_tensor",":","tensor","It","represents","the","size","of","tensor","for","generating","Gaussian","noise","."]
code: def _get_gauss_noise(self, shape_of_tensor, device="cpu"):
      """Returns a tensor of epsilon Gaussian noise.
  
      Arguments
      ---------
      shape_of_tensor : tensor
          It represents the size of tensor for generating Gaussian noise.
      """
      gnoise = torch.randn(shape_of_tensor, device=device)
      gnoise -= torch.min(gnoise)
      gnoise /= torch.max(gnoise)
      gnoise = self.eps * ((1 - 9) * gnoise + 9)
  
      return gnoise
  
imports: import torch
  import logging
  import torch.nn
  import torch.nn.functional
label_desc: Use image node_id 3 for calling the StatisticsPooling obj's underlying member method code with example usage: obj._get_gauss_noise(shape_of_tensor, device) and returns: gnoise