class_docstr: Adapts a continuous distribution via additive identically distributed
  (i.i.d.) uniform noise.
  
  The provided distribution is modeled after the addition of independent
  uniform noise. Effectively, the base density function is convolved with a
  box kernel of width one. The resulting density can be efficiently evaluated
  via the relation:
  
  .. math::
      p_{\widetilde{y}}(\widetilde{y}) =
          c(\widetilde{y} + \frac{1}{2}) - c(\widetilde{y} - \frac{1}{2})
  
  where :math:`p` and :math:`\widetilde{y}` are the base density and the
  unit-width uniform density, respectively, and :math:`c` is the cumulative
  distribution function (CDF) of :math:`p`.
  
  The method is described in Appendix 6.2. of:
  
      | “Variational Image Compression with a Scale Hyperprior”
      | Johannes Ballé, David Minnen, Saurabh Singh, Sung Jin Hwang,
          Nick Johnston
      | https://arxiv.org/abs/1802.01436
  
  Args:
      distribution: an object representing a continuous-valued random
          variable.
class_docstr_tok: ["Adapts","a","continuous","distribution","via","additive","identically","distributed","(","i.i.d",".",")","uniform","noise",".","The","provided","distribution","is","modeled","after","the","addition","of","independent","uniform","noise",".","Effectively",",","the","base","density","function","is","convolved","with","a","box","kernel","of","width","one",".","The","resulting","density","can","be","efficiently","evaluated","via","the","relation",":","..","math",":",":","p_","{","\\widetilde","{","y","}","}","(","\\widetilde","{","y","}",")","=","c","(","\\widetilde","{","y","}","+","\\frac","{","1","}","{","2","}",")","-","c","(","\\widetilde","{","y","}","-","\\frac","{","1","}","{","2","}",")","where",":","math",":","`","p","`","and",":","math",":","`","\\widetilde","{","y","}","`","are","the","base","density","and","the","unit-width","uniform","density",",","respectively",",","and",":","math",":","`","c","`","is","the","cumulative","distribution","function","(","CDF",")","of",":","math",":","`","p","`",".","The","method","is","described","in","Appendix","6.2.","of",":","|","\u201c","Variational","Image","Compression","with","a","Scale","Hyperprior","\u201d","|","Johannes","Ball\u00e9",",","David","Minnen",",","Saurabh","Singh",",","Sung","Jin","Hwang",",","Nick","Johnston","|","https",":","\/\/arxiv.org\/abs\/1802.01436","Args",":","distribution",":","an","object","representing","a","continuous-valued","random","variable","."]
code: def icdf(self, value: Tensor) -> Tensor:
      return self._distribution.icdf(value)
  
imports: from typing import Any, Dict, Optional
  import torch
  from torch import Size, Tensor
  from torch.distributions import Distribution, Uniform
  from torch.distributions.constraints import Constraint
  import neuralcompression.functional
label_desc: Use image node_id 11 for calling the UniformNoise obj's underlying member method code with example usage: obj.icdf(value) and returns: self