class_docstr: Binned univariate distribution designed as an nn.Module
  
  Arguments
  ----------
  bins_lower_bound: The lower bound of the bin edges
  bins_upper_bound: The upper bound of the bin edges
  nbins: The number of equidistance bins to allocate between `bins_lower_bound` and `bins_upper_bound`. Default value is 100.
  smoothing_indicator: The method of smoothing to perform on the bin probabilities
docstr: Inverse cdf of a tensor of quantile `values`
docstr_tok: ["Inverse","cdf","of","a","tensor","of","quantile","`","values","`"]
code: def icdf(self, values):
      """
      Inverse cdf of a tensor of quantile `values`
      """
      if self.device is not None:
          values = values.to(self.device)
  
      values = values.view(values.shape.numel())
      icdf_tensor = self.inverse_cdf(values[0])
      icdf_tensor = icdf_tensor.view(1)
  
      if values.shape.numel() == 1:
          return icdf_tensor
  
      for value in values[1:]:
          icdf_value = self.inverse_cdf(value).view(1)
          icdf_tensor = torch.cat((icdf_tensor, icdf_value), 0)
  
      return icdf_tensor
  
imports: from typing import Optional
  import numpy
  import torch
  import torch.nn
  import torch.nn.functional
  import torch.optim
  from .genpareto import GenPareto
label_desc: Use image node_id 15 for calling the Binned obj's underlying member method code with example usage: obj.icdf(values) and returns: icdf_tensor, icdf_tensor