class_docstr: Generates a random array from a specified uniform distribution.
  
  .. math::
      \mathbf x \sim {\cal U} (a, b)
  
  Args:
      lim (:obj:`tuple` of :obj:`float`): A tuple of two floats, :math:`(a, b)`.
      rng (numpy.random.RandomState): Random number generator.
  
  Example:
  
  .. code-block:: python
  
      import nnabla as nn
      import nnabla.parametric_functions as PF
      import nnabla.initializer as I
  
      x = nn.Variable([60,1,28,28])
      w = I.UniformInitializer() # this generates uniform distribution within the default range of (-1,1)
      b = I.UniformInitializer((-0.5,0.5))
      h = PF.convolution(x, 64, [3, 3], w_init=w, b_init=b, pad=[1, 1], name='conv')
code: def __init__(self, lim=(-1, 1), rng=None):
      if rng is None:
          rng = random.prng
      self.rng = rng
      self.lim = lim
  
imports: import numpy
  from .None import random
label_desc: Use image node_id 1 to create a new UniformInitializer object from inherited base classes: BaseInitializer with example: obj = UniformInitializer(lim, rng)