Initializers

class HeteroSymNN.Core.initializers.BaseInitializer[source]

Bases: Initializer

Base class for initializers that provides a helper method to create the return structure.

class HeteroSymNN.Core.initializers.HeNormal[source]

Bases: BaseInitializer

He normal initializer.

Draws samples from a normal distribution centered on 0 with stddev = sqrt(2 / fan_in).

generate(fan_in: int, fan_out: int)[source]

Generates the initial values.

Parameters:
  • fan_in (int) – Number of input units.

  • fan_out (int) – Number of output units.

Returns:

Tuple containing biases, weights, and connection mask.

Return type:

LayerValues

class HeteroSymNN.Core.initializers.HeUniform[source]

Bases: BaseInitializer

He uniform variance scaling initializer.

Draws samples from a uniform distribution within [-limit, limit] where limit is sqrt(6 / fan_in).

generate(fan_in: int, fan_out: int)[source]

Generates the initial values.

Parameters:
  • fan_in (int) – Number of input units.

  • fan_out (int) – Number of output units.

Returns:

Tuple containing biases, weights, and connection mask.

Return type:

LayerValues

class HeteroSymNN.Core.initializers.Initializer[source]

Bases: object

Base class for all initializers.

generate(fan_in: int, fan_out: int) LayerValues[source]

Generates the initial values for a layer.

This method must be implemented by subclasses to define the specific initialization logic.

Parameters:
  • fan_in (int) – Number of input units.

  • fan_out (int) – Number of output units.

Returns:

Tuple containing biases, weights, and connection mask.

Return type:

LayerValues

get_config()[source]

Returns the configuration of the initializer.

This method should be implemented by subclasses to return a dictionary containing the configuration parameters necessary to reconstruct the initializer instance.

Returns:

Dictionary containing the configuration parameters.

Return type:

dict

class HeteroSymNN.Core.initializers.LecunNormal[source]

Bases: BaseInitializer

LeCun normal initializer.

Draws samples from a normal distribution centered on 0 with stddev = sqrt(1 / fan_in).

generate(fan_in: int, fan_out: int)[source]

Generates the initial values.

Parameters:
  • fan_in (int) – Number of input units.

  • fan_out (int) – Number of output units.

Returns:

Tuple containing biases, weights, and connection mask.

Return type:

LayerValues

class HeteroSymNN.Core.initializers.Orthogonal(gain=1.0)[source]

Bases: BaseInitializer

Initializer that generates an orthogonal matrix.

Parameters:

gain (float, optional) – Multiplicative factor to apply to the orthogonal matrix. Defaults to 1.0.

generate(fan_in: int, fan_out: int)[source]

Generates the initial values.

Parameters:
  • fan_in (int) – Number of input units.

  • fan_out (int) – Number of output units.

Returns:

Tuple containing biases, weights, and connection mask.

Return type:

LayerValues

get_config()[source]

Returns the configuration of the initializer.

This method should be implemented by subclasses to return a dictionary containing the configuration parameters necessary to reconstruct the initializer instance.

Returns:

Dictionary containing the configuration parameters.

Return type:

dict

class HeteroSymNN.Core.initializers.RandomNormal(mean=0.0, stddev=0.05)[source]

Bases: BaseInitializer

Initializer that generates tensors with a normal distribution.

Parameters:
  • mean (float, optional) – Mean of the random values to generate. Defaults to 0.0.

  • stddev (float, optional) – Standard deviation of the random values to generate. Defaults to 0.05.

generate(fan_in: int, fan_out: int)[source]

Generates the initial values.

Parameters:
  • fan_in (int) – Number of input units.

  • fan_out (int) – Number of output units.

Returns:

Tuple containing biases, weights, and connection mask.

Return type:

LayerValues

get_config()[source]

Returns the configuration of the initializer.

This method should be implemented by subclasses to return a dictionary containing the configuration parameters necessary to reconstruct the initializer instance.

Returns:

Dictionary containing the configuration parameters.

Return type:

dict

class HeteroSymNN.Core.initializers.RandomUniform(min_val=-0.05, max_val=0.05)[source]

Bases: BaseInitializer

Initializer that generates tensors with a uniform distribution.

Parameters:
  • min_val (float, optional) – Lower bound of the range of random values to generate. Defaults to -0.05.

  • max_val (float, optional) – Upper bound of the range of random values to generate. Defaults to 0.05.

generate(fan_in: int, fan_out: int)[source]

Generates the initial values.

Parameters:
  • fan_in (int) – Number of input units.

  • fan_out (int) – Number of output units.

Returns:

Tuple containing biases, weights, and connection mask.

Return type:

LayerValues

get_config()[source]

Returns the configuration of the initializer.

This method should be implemented by subclasses to return a dictionary containing the configuration parameters necessary to reconstruct the initializer instance.

Returns:

Dictionary containing the configuration parameters.

Return type:

dict

class HeteroSymNN.Core.initializers.XavierNormal[source]

Bases: BaseInitializer

Xavier (Glorot) normal initializer.

Draws samples from a normal distribution centered on 0 with stddev = sqrt(2 / (fan_in + fan_out)).

generate(fan_in: int, fan_out: int)[source]

Generates the initial values.

Parameters:
  • fan_in (int) – Number of input units.

  • fan_out (int) – Number of output units.

Returns:

Tuple containing biases, weights, and connection mask.

Return type:

LayerValues

class HeteroSymNN.Core.initializers.XavierUniform[source]

Bases: BaseInitializer

Xavier (Glorot) uniform initializer.

Draws samples from a uniform distribution within [-limit, limit] where limit is sqrt(6 / (fan_in + fan_out)).

generate(fan_in: int, fan_out: int)[source]

Generates the initial values.

Parameters:
  • fan_in (int) – Number of input units.

  • fan_out (int) – Number of output units.

Returns:

Tuple containing biases, weights, and connection mask.

Return type:

LayerValues