mindspore.common.initializer

Initializer for cell parameters.

class mindspore.common.initializer.Initializer(**kwargs)[source]

The base class of the initializer. Initialization of tensor basic attributes and model weight values.

Parameters

kwargs (dict) – Keyword arguments for Initializer.

Returns

Array, an array after being initialized.

mindspore.common.initializer.initializer(init, shape=None, dtype=mindspore.float32)[source]

Create and initialize a tensor.

Parameters
  • init (Union[Tensor, str, Initializer, numbers.Number]) –

    Initialize value.

    • str: The init should be the alias of the class inheriting from Initializer and the corresponding class will be called.

    • Initializer: The init should be the class inheriting from Initializer to initialize tensor.

    • numbers.Number: The Constant will be called to initialize tensor.

  • shape (Union[tuple, list, int]) – A list of integers, a tuple of integers or an integer as the shape of output. Default: None.

  • dtype (mindspore.dtype) – The type of data in initialized tensor. Default: mindspore.float32.

Returns

Union[Tensor], return is Tensor object.

Examples

>>> import mindspore
>>> from mindspore.common.initializer import initializer, One
>>> tensor = initializer('ones', [1, 2, 3], mindspore.float32)
>>> tensor = initializer(One(), [1, 2, 3], mindspore.float32)
>>> tensor = initializer(0, [1, 2, 3], mindspore.float32)
class mindspore.common.initializer.TruncatedNormal(sigma=0.01)[source]

Initialize a truncated normal distribution which is a bounded normal distribution within N(low, high).

Parameters

sigma (float) – The sigma of the array. Default: 0.01.

Returns

Array, truncated normal array.

class mindspore.common.initializer.Normal(sigma=0.01)[source]

Initialize a normal array, and obtain values N(0, sigma) from the uniform distribution to fill the input tensor.

Parameters

sigma (float) – The sigma of the array. Default: 0.01.

Returns

Array, normal array.

class mindspore.common.initializer.Uniform(scale=0.07)[source]

Initialize a uniform array, and obtain values U(-scale, scale) from the uniform distribution to fill the input tensor.

Parameters

scale (float) – The scale of the array. Default: 0.07.

Returns

Array, uniform array.

class mindspore.common.initializer.HeUniform(negative_slope=0, mode='fan_in', nonlinearity='leaky_relu')[source]

Initialize the array with He kaiming uniform algorithm, and from a uniform distribution collect samples within U[-boundary, boundary] The boundary is defined as:

\[boundary = \sqrt{\frac{6}{(1 + a^2) \times \text{fan_in}}}\]
Parameters
  • negative_slope (int, float, bool) – The negativa slope of the rectifier used after this layer (only used when nonlinearity is ‘leaky_relu’). Default: 0.

  • mode (str) – Either ‘fan_in’ or ‘fan_out’. Choosing ‘fan_in’ preserves the magnitude of the variance of the weights in the forward pass. Choosing ‘fan_out’ preserves the magnitudes in the backwards pass. Default: fan_in.

  • nonlinearity (str) – The non-linear function, recommended to use only with ‘relu’ or ‘leaky_relu’. Default: leaky_relu.

Returns

Array, assigned array.

class mindspore.common.initializer.HeNormal(negative_slope=0, mode='fan_in', nonlinearity='leaky_relu')[source]

Initialize the array with He kaiming Normal algorithm, and from a normal distribution collect samples within N(0, sigma).

Parameters
  • negative_slope (int, float, bool) – The negativa slope of the rectifier used after this layer (only used when nonlinearity is ‘leaky_relu’). Default: 0.

  • mode (str) – Either ‘fan_in’ or ‘fan_out’. Choosing ‘fan_in’ preserves the magnitude of the variance of the weights in the forward pass. Choosing ‘fan_out’ preserves the magnitudes in the backwards pass. Default: fan_in.

  • nonlinearity (str) – The non-linear function, recommended to use only with ‘relu’ or ‘leaky_relu’. Default: leaky_relu.

Returns

Array, assigned array.

class mindspore.common.initializer.XavierUniform(gain=1)[source]

Initialize the array with xavier uniform algorithm, and from a uniform distribution collect samples within U[-boundary, boundary] The boundary is defined as:

\[boundary = gain * \sqrt{\frac{6}{n_{in} + n_{out}}}\]
  • where \(n_{in}\) is the number of input units in the weight tensor.

  • where \(n_{out}\) is the number of output units in the weight tensor.

Parameters

gain (float) – An optional scaling factor. Default: 1.

Returns

Array, assigned array.

class mindspore.common.initializer.One(**kwargs)[source]

Initialize the array to one.

Parameters

arr (Array) – The array to be assigned.

Returns

Array, assigned array.

class mindspore.common.initializer.Zero(**kwargs)[source]

Initialize the array to zero.

Parameters

arr (Array) – The array to be assigned.

Returns

Array, an array after being assigned.

class mindspore.common.initializer.Constant(value)[source]

Initialize a constant.

Parameters

value (Union[int, numpy.ndarray]) – The value to initialize.

Returns

Array, an array after being assigned.