Mlp#

Multi-Layer Perceptron (MLP) architectures.

nabla.nn.architectures.mlp.create_mlp_forward_and_loss(activation='relu')[source]#

Create a combined forward pass and loss computation function.

This function factory creates the forward_and_loss function needed for VJP computation in training loops.

Parameters:

activation (str) – Activation function for hidden layers

Returns:

Function that takes inputs and returns loss

Return type:

Callable

nabla.nn.architectures.mlp.create_mlp_config(layers, activation='relu', final_activation=None, init_method='he_normal', seed=42)[source]#

Create MLP configuration dictionary.

Parameters:
  • layers (list[int]) – List of layer sizes [input, hidden1, hidden2, …, output]

  • activation (str) – Activation function for hidden layers

  • final_activation (str | None) – Optional activation for final layer

  • init_method (str) – Weight initialization method

  • seed (int) – Random seed for reproducibility

Returns:

Configuration dictionary with params and forward function

Return type:

dict

class nabla.nn.architectures.mlp.MLPBuilder[source]#

Bases: object

Builder class for creating MLP configurations.

__init__()[source]#
with_layers(layers)[source]#

Set layer sizes.

with_activation(activation)[source]#

Set hidden layer activation function.

with_final_activation(activation)[source]#

Set final layer activation function.

with_init_method(method)[source]#

Set weight initialization method.

with_seed(seed)[source]#

Set random seed.

build()[source]#

Build the MLP configuration.