class_docstr: Additive i.i.d. uniform noise adapter distribution.
  
  Given a base `tfp.distributions.Distribution` object, this distribution
  models the base distribution after 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:
  ```
  (p * u)(x) = c(x + .5) - c(x - .5)
  ```
  where `p` and `u` are the base density and the unit-width uniform density,
  respectively, and `c` is the cumulative distribution function (CDF)
  corresponding to `p`. This is described in appendix 6.2 of the paper:
  
  > "Variational image compression with a scale hyperprior"<br />
  > J. Ballé, D. Minnen, S. Singh, S. J. Hwang, N. Johnston<br />
  > https://openreview.net/forum?id=rkcQFMZRb
  
  For best numerical stability, the base `Distribution` should implement both
  `cdf()` and `survival_function()` and/or their `log_*` equivalents.
class_docstr_tok: ["Additive","i.i.d",".","uniform","noise","adapter","distribution",".","Given","a","base","`","tfp.distributions.Distribution","`","object",",","this","distribution","models","the","base","distribution","after","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",":","``","`","(","p","*","u",")","(","x",")","=","c","(","x","+",".5",")","-","c","(","x","-",".5",")","``","`","where","`","p","`","and","`","u","`","are","the","base","density","and","the","unit-width","uniform","density",",","respectively",",","and","`","c","`","is","the","cumulative","distribution","function","(","CDF",")","corresponding","to","`","p","`",".","This","is","described","in","appendix","6.2","of","the","paper",":",">","``","Variational","image","compression","with","a","scale","hyperprior","''","<","br","\/",">",">","J.","Ball\u00e9",",","D.","Minnen",",","S.","Singh",",","S.","J.","Hwang",",","N.","Johnston","<","br","\/",">",">","https",":","\/\/openreview.net\/forum","?","id=rkcQFMZRb","For","best","numerical","stability",",","the","base","`","Distribution","`","should","implement","both","`","cdf","(",")","`","and","`","survival_function","(",")","`","and\/or","their","`","log_","*","`","equivalents","."]
code: def _batch_shape_tensor(self):
      return self.base.batch_shape_tensor()
  
imports: import tensorflow
  import tensorflow_probability
  from tensorflow_compression.python.distributions import helpers
label_desc: Use image node_id 3 for calling the UniformNoiseAdapter obj's underlying member method code with example usage: obj._batch_shape_tensor() and returns: self