class_docstr: Uniform distribution with `low` and `high` parameters.
  
  #### Mathematical Details
  
  The probability density function (pdf) is,
  
  ```none
  pdf(x; a, b) = I[a <= x < b] / Z
  Z = b - a
  ```
  
  where
  
  - `low = a`,
  - `high = b`,
  - `Z` is the normalizing constant, and
  - `I[predicate]` is the [indicator function](
    https://en.wikipedia.org/wiki/Indicator_function) for `predicate`.
  
  The parameters `low` and `high` must be shaped in a way that supports
  broadcasting (e.g., `high - low` is a valid operation).
  
  #### Examples
  
  ```python
  # Without broadcasting:
  u1 = Uniform(low=3.0, high=4.0)  # a single uniform distribution [3, 4]
  u2 = Uniform(low=[1.0, 2.0],
               high=[3.0, 4.0])  # 2 distributions [1, 3], [2, 4]
  u3 = Uniform(low=[[1.0, 2.0],
                    [3.0, 4.0]],
               high=[[1.5, 2.5],
                     [3.5, 4.5]])  # 4 distributions
  ```
  
  ```python
  # With broadcasting:
  u1 = Uniform(low=3.0, high=[5.0, 6.0, 7.0])  # 3 distributions
  ```
class_docstr_tok: ["Uniform","distribution","with","`","low","`","and","`","high","`","parameters",".","#","#","#","#","Mathematical","Details","The","probability","density","function","(","pdf",")","is",",","``","`","none","pdf","(","x",";","a",",","b",")","=","I","[","a","<","=","x","<","b","]","\/","Z","Z","=","b","-","a","``","`","where","-","`","low","=","a","`",",","-","`","high","=","b","`",",","-","`","Z","`","is","the","normalizing","constant",",","and","-","`","I","[","predicate","]","`","is","the","[","indicator","function","]","(","https",":","\/\/en.wikipedia.org\/wiki\/Indicator_function",")","for","`","predicate","`",".","The","parameters","`","low","`","and","`","high","`","must","be","shaped","in","a","way","that","supports","broadcasting","(","e.g.",",","`","high","-","low","`","is","a","valid","operation",")",".","#","#","#","#","Examples","``","`","python","#","Without","broadcasting",":","u1","=","Uniform","(","low=3.0",",","high=4.0",")","#","a","single","uniform","distribution","[","3",",","4","]","u2","=","Uniform","(","low=","[","1.0",",","2.0","]",",","high=","[","3.0",",","4.0","]",")","#","2","distributions","[","1",",","3","]",",","[","2",",","4","]","u3","=","Uniform","(","low=","[","[","1.0",",","2.0","]",",","[","3.0",",","4.0","]","]",",","high=","[","[","1.5",",","2.5","]",",","[","3.5",",","4.5","]","]",")","#","4","distributions","``","`","``","`","python","#","With","broadcasting",":","u1","=","Uniform","(","low=3.0",",","high=","[","5.0",",","6.0",",","7.0","]",")","#","3","distributions","``","`"]
code: def _entropy(self):
      return tf.math.log(self._range())
  
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import sigmoid
  from tensorflow_probability.python.distributions import distribution
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import reparameterization
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import tensor_util
  from tensorflow_probability.python.internal import tensorshape_util
label_desc: Use image node_id 13 for calling the Uniform obj's underlying member method code with example usage: obj._entropy() and returns: tf