dair_pll.deep_learnable_system

class dair_pll.deep_learnable_system.DeepLearnableSystemConfig(integrator_type=<class 'VelocityIntegrator'>, layers=1, nonlinearity=<class 'ReLU'>, hidden_size=128, model_constructor=<class 'DeepRecurrentModel'>)[source]

Bases: SystemConfig

integrator_type

alias of VelocityIntegrator

layers: int = 1
nonlinearity

alias of ReLU

hidden_size: int = 128
model_constructor

alias of DeepRecurrentModel

class dair_pll.deep_learnable_system.DeepLearnableSystem(base_system, config, training_data=None)[source]

Bases: System

Inits System with prescribed integration properties.

Parameters:
  • space – State space of underlying dynamics

  • integrator – Integrator of underlying dynamics

  • max_batch_dim – Maximum number of batch dimensions supported by

  • integrator.

model: torch.nn.modules.module.Module
preprocess_initial_condition(x_0, carry_0)[source]

Preload initial condition.

Return type:

Tuple[Tensor, Tensor]

class dair_pll.deep_learnable_system.DeepLearnableExperiment(config)[source]

Bases: SupervisedLearningExperiment, ABC

get_learned_system(train_states)[source]

Abstract callback function to construct learnable system for experiment.

Optionally, learned system can be initialized to depend on the training dataset.

Parameters:

train_states (Tensor) – (*, space.n_x) batch of all states in training set.

Return type:

System

Returns:

Experiment’s learnable system.