MLP#

Multi Layer Perceptron

class nerfstudio.field_components.mlp.MLP(in_dim: int, num_layers: int, layer_width: int, out_dim: Optional[int] = None, skip_connections: Optional[Tuple[int]] = None, activation: Optional[Module] = ReLU(), out_activation: Optional[Module] = None, implementation: Literal['tcnn', 'torch'] = 'torch')[source]#

Bases: FieldComponent

Multilayer perceptron

Parameters:
  • in_dim – Input layer dimension

  • num_layers – Number of network layers

  • layer_width – Width of each MLP layer

  • out_dim – Output layer dimension. Uses layer_width if None.

  • activation – intermediate layer activation function.

  • out_activation – output activation function.

build_nn_modules() None[source]#

Initialize multi-layer perceptron.

forward(in_tensor: Float[Tensor, '*bs in_dim']) Float[Tensor, '*bs out_dim'][source]#

Returns processed tensor

Parameters:

in_tensor – Input tensor to process

pytorch_fwd(in_tensor: Float[Tensor, '*bs in_dim']) Float[Tensor, '*bs out_dim'][source]#

Process input with a multilayer perceptron.

Parameters:

in_tensor – Network input

Returns:

MLP network output

nerfstudio.field_components.mlp.activation_to_tcnn_string(activation: Optional[Module]) str[source]#

Converts a torch.nn activation function to a string that can be used to initialize a TCNN activation function.

Parameters:

activation – torch.nn activation function

Returns:

TCNN activation function string

Return type:

str