pymoto.AutoMod

class pymoto.AutoMod(func: Callable, backend: str = None)

Module that automatically differentiates the response function

This module requires either jax or autograd to be installed. Note that this module is still under development, so always check if behavior is as expected when using this module.

__init__(func: Callable, backend: str = None)

Initialize automatic differentiation module

Parameters:
  • func (Callable) – Function to be differentiated.

  • backend (str, optional) – The AD backend to use: “autograd” or “jax”. Defaults to any installed, with “jax” preferred.

Methods

__init__(func[, backend])

Initialize automatic differentiation module

connect(sig_in[, sig_out])

Connect without automatic adding to a function network

get_input_sensitivities([as_list])

get_input_states([as_list])

get_output_sensitivities([as_list])

get_output_states([as_list])

reset()

Reset the state of the sensitivities (they are set to zero or to None)

response()

Calculate the response from sig_in and output this to sig_out

sensitivity()

Calculate sensitivities using backpropagation

Attributes

n_in

Get the number of input signals

n_out

Get the number of output signals

sig_in

sig_out

connect(sig_in: Signal | Iterable[Signal], sig_out: Signal | Iterable[Signal] = None)

Connect without automatic adding to a function network

get_input_sensitivities(as_list=False)
get_input_states(as_list=False)
get_output_sensitivities(as_list=False)
get_output_states(as_list=False)
property n_in: int

Get the number of input signals

property n_out: int

Get the number of output signals

Note: Cannot be used in the initial __call__()

reset()

Reset the state of the sensitivities (they are set to zero or to None)

response()

Calculate the response from sig_in and output this to sig_out

sensitivity()

Calculate sensitivities using backpropagation

Based on the sensitivity we get from sig_out, reverse the process and output the new sensitivities to sig_in

sig_in: List = None
sig_out: List = None