From 696d80607d1306743f95219c6365ab955a0cb55e Mon Sep 17 00:00:00 2001 From: wudenggang Date: Sun, 4 Apr 2021 11:26:16 +0800 Subject: [PATCH] Fixes #I3AB6T --- mindspore/common/initializer.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/mindspore/common/initializer.py b/mindspore/common/initializer.py index f78147b1fb6..90211c8e934 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()