class_docstr: Random normal initializer which simulate a normal distribution with specified parameters.
  
  Parameters
  ----------
  mu
      The mean of the normal distribution
  sigma
      The standard deviation of the normal distribution
  seed
      Random number generation seed that can be set for reproducibility.
  
  Examples
  --------
  
  >>> from river import optim
  
  >>> init = optim.initializers.Normal(mu=0, sigma=1, seed=42)
  
  >>> init(shape=1)
  0.496714
  
  >>> init(shape=2)
  array([-0.1382643 ,  0.64768854])
class_docstr_tok: ["Random","normal","initializer","which","simulate","a","normal","distribution","with","specified","parameters",".","Parameters","--","--","--","--","--","mu","The","mean","of","the","normal","distribution","sigma","The","standard","deviation","of","the","normal","distribution","seed","Random","number","generation","seed","that","can","be","set","for","reproducibility",".","Examples","--","--","--","--",">",">",">","from","river","import","optim",">",">",">","init","=","optim.initializers.Normal","(","mu=0",",","sigma=1",",","seed=42",")",">",">",">","init","(","shape=1",")","0.496714",">",">",">","init","(","shape=2",")","array","(","[","-0.1382643",",","0.64768854","]",")"]
code: def __call__(self, shape=1):
      weights = self._rng.normal(
          loc=self.mu, scale=self.sigma, size=shape
      )
      if shape == 1:
          return weights[0]
      return weights
  
file_path: river/river/optim/initializers.py
imports: from __future__ import annotations
  import numpy
  from river.optim.base import Initializer
label_desc: Use image node_id 2 for calling the Normal obj's underlying member method code with example usage: obj.__call__(shape) and returns: weights, weights