Module dlkoopman.nets

Neural nets used inside the models.

Classes

class AutoEncoder (input_size, encoded_size, encoder_hidden_layers=[], decoder_hidden_layers=[], batch_norm=False)

AutoEncoder neural net. Contains an encoder connected to a decoder, both are multi-layer perceptrons.

Parameters

  • input_size (int) - Number of dimensions in original data (encoder input) and reconstructed data (decoder output).

  • encoded_size (int) - Number of dimensions in encoded data (encoder output and decoder input).

  • encoder_hidden_layers (list[int], optional) - Encoder will have layers = [input_size, *encoder_hidden_layers, encoded_size]. If not set, defaults to reverse of decoder_hidden_layers. If that is also not set, defaults to [].

  • decoder_hidden_layers (list[int], optional) - Decoder has layers = [encoded_size, *decoder_hidden_layers, input_size]. If not set, defaults to reverse of encoder_hidden_layers. If that is also not set, defaults to [].

  • batch_norm (bool, optional): Whether to use batch normalization.

Attributes

  • encoder - Encoder neural net.

  • decoder - Decoder neural net.

Methods

def forward(self, X) ‑> tuple[torch.Tensor, torch.Tensor]

Forward propagation of neural net.

Parameters

  • X (torch.Tensor, shape=(*,input_size)) - Input data to encoder.

Returns

  • Y (torch.Tensor, shape=(*,encoded_size)) - Encoded data, i.e. output from encoder, input to decoder.

  • Xr (torch.Tensor, shape=(*,input_size)) - Reconstructed data, i.e. output of decoder.

class Knet (size)

Linear neural net to approximate the Koopman matrix.

Contains identically sized input and output layers, no hidden layers, no bias vector, and no activation function.

Parameters

  • size (int) - Dimension of the input and output layer.

Attributes

  • net (torch.nn.ModuleList) - The neural net.

Methods

def forward(self, X) ‑> torch.Tensor

Forward propagation of neural net.

Parameters

  • X (torch.Tensor, shape=(*, size)) - Input data to net.

Returns

  • X (torch.Tensor, shape=(*, size)) - Output data from net.