4.1.4. Initializers

4.1.4.1. Base Class

class primitiv::Initializer

Abstract class to provide parameter initialization algorithms.

Inherits from primitiv::mixins::Nonmovable< Initializer >

Subclassed by primitiv::initializers::Constant, primitiv::initializers::Identity, primitiv::initializers::Normal, primitiv::initializers::Uniform, primitiv::initializers::XavierNormal, primitiv::initializers::XavierNormalConv2D, primitiv::initializers::XavierUniform, primitiv::initializers::XavierUniformConv2D

Public Functions

virtual void apply(Tensor &x) const = 0

Provides an initialized tensor.

Parameters
  • x: Tensor object to be initialized.

4.1.4.2. Inherited Classes

class primitiv::initializers::Constant

Initializer to generate a same-value tensor.

Inherits from primitiv::Initializer

Public Functions

Constant(float k)

Crates a new Constant initializer.

Parameters
  • k: Initial value of all variables in the parameter.

void apply(Tensor &x) const

Provides an initialized tensor.

Parameters
  • x: Tensor object to be initialized.

class primitiv::initializers::Uniform

Initializer using a parameterized uniform distribution with the range \( (L, U] \).

Inherits from primitiv::Initializer

Public Functions

Uniform(float lower, float upper)

Creates a new Uniform initializer.

Parameters
  • lower: Lower bound \( L \) of the uniform distribution.
  • upper: Upper bound \( U \) of the uniform distribution.

void apply(Tensor &x) const

Provides an initialized tensor.

Parameters
  • x: Tensor object to be initialized.

class primitiv::initializers::Normal

Initializer using a parameterized normal distribution \( \mathcal{N}(\mu, \sigma) \).

Inherits from primitiv::Initializer

Public Functions

Normal(float mean, float sd)

Creates a new Normal initializer.

Parameters
  • mean: Mean \( \mu \) of the normal distribution.
  • sd: Standard deviation \( \sigma \) of the normal distribution.

void apply(Tensor &x) const

Provides an initialized tensor.

Parameters
  • x: Tensor object to be initialized.

class primitiv::initializers::Identity

Identity matrix initializer.

Inherits from primitiv::Initializer

Public Functions

Identity()

Creates a new Identity initializer.

void apply(Tensor &x) const

Provides an initialized tensor.

Parameters
  • x: Tensor object to be initialized.

class primitiv::initializers::XavierUniform

The Xavier matrix initialization with the uniform distribution.

Inherits from primitiv::Initializer

Public Functions

XavierUniform(float scale = 1.0f)

Creates a new XavierUniform initializer.

Parameters
  • scale: Additional scaling factor of the uniform distribution.

void apply(Tensor &x) const

Provides an initialized tensor.

Parameters
  • x: Tensor object to be initialized.

class primitiv::initializers::XavierNormal

The Xavier matrix initialization with the normal distribution.

Inherits from primitiv::Initializer

Public Functions

XavierNormal(float scale = 1.0f)

Creates a new XavierNormal initializer.

Parameters
  • scale: Additional scaling factor of the normal distribution.

void apply(Tensor &x) const

Provides an initialized tensor.

Parameters
  • x: Tensor object to be initialized.

class primitiv::initializers::XavierUniformConv2D

The Xavier initialization with the uniform distribution for conv2d filters.

Inherits from primitiv::Initializer

Public Functions

XavierUniformConv2D(float scale = 1.0f)

Creates a new XavierUniformConv2D initializer.

Parameters
  • scale: Additional scaling factor of the uniform distribution.

void apply(Tensor &x) const

Provides an initialized tensor.

Parameters
  • x: Tensor object to be initialized.

class primitiv::initializers::XavierNormalConv2D

The Xavier initialization with the normal distribution for conv2d filters.

Inherits from primitiv::Initializer

Public Functions

XavierNormalConv2D(float scale = 1.0f)

Creates a new XavierNormalConv2D initializer.

Parameters
  • scale: Additional scaling factor of the normal distribution.

void apply(Tensor &x) const

Provides an initialized tensor.

Parameters
  • x: Tensor object to be initialized.