diff --git a/mindspore/common/initializer.py b/mindspore/common/initializer.py index f78147b1fb..90211c8e93 100644 --- a/mindspore/common/initializer.py +++ b/mindspore/common/initializer.py @@ -366,25 +366,27 @@ class Uniform(Initializer): @_register() class Normal(Initializer): """ - Initialize a normal array, and obtain values N(0, sigma) from the uniform distribution + Initialize a normal array, and obtain values N(sigma, mean) from the normal distribution to fill the input tensor. Args: sigma (float): The sigma of the array. Default: 0.01. + mean (float): The mean of the array. Default: 0.0. Returns: Array, normal array. """ - def __init__(self, sigma=0.01): - super(Normal, self).__init__(sigma=sigma) + def __init__(self, sigma=0.01, mean=0.0): + super(Normal, self).__init__(sigma=sigma, mean=mean) self.sigma = sigma + self.mean = mean def _initialize(self, arr): seed, seed2 = self.seed output_tensor = Tensor(np.zeros(arr.shape, dtype=np.float32)) random_normal(0, self.sigma, arr.shape, seed, seed2, output_tensor) output_data = output_tensor.asnumpy() - output_data *= self.sigma + output_data = output_data * self.sigma + self.mean _assignment(arr, output_data) @_register()