class_docstr: Initializes parameter tensors with values drawn from a uniform distribution
  ranging from :math:`-K` to :math:`K` We define :math:`K=\sqrt{3 / (n_{in})}`,
  where :math:`n_{in}` is the number of input nodes.
  
  Similar to Glorot except the range is normalized by the input size only.
class_docstr_tok: ["Initializes","parameter","tensors","with","values","drawn","from","a","uniform","distribution","ranging","from",":","math",":","`","-K","`","to",":","math",":","`","K","`","We","define",":","math",":","`","K=\\sqrt","{","3","\/","(","n_","{","in","}",")","}","`",",","where",":","math",":","`","n_","{","in","}","`","is","the","number","of","input","nodes",".","Similar","to","Glorot","except","the","range","is","normalized","by","the","input","size","only","."]
docstr: Fill the provided tensor with random values drawn from the Uniform
  distribution, using normalized bounds.
  
  Args:
      params (tensor): Tensor to fill
docstr_tok: ["Fill","the","provided","tensor","with","random","values","drawn","from","the","Uniform","distribution",",","using","normalized","bounds",".","Args",":","params","(","tensor",")",":","Tensor","to","fill"]
code: def fill(self, param):
      """
      Fill the provided tensor with random values drawn from the Uniform
      distribution, using normalized bounds.
  
      Args:
          params (tensor): Tensor to fill
      """
      fan_in = param.shape[0 if self.local else 1]
      scale = np.sqrt(3.0 / fan_in)
      param[:] = self.be.rng.uniform(-scale, scale, param.shape)
  
imports: import numpy
  from neon import NervanaObject
  from neon.backends.backend import Tensor
label_desc: Use image node_id 2 for calling the Xavier obj's underlying member method code with example usage: obj.fill(param) without return types