pymoto.AutoMod
- class pymoto.AutoMod(func: Callable, backend: str = None)
Module that automatically differentiates the response function
This module requires either
jaxorautogradto 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
Calculate sensitivities using backpropagation
Attributes
Get the number of input signals
Get the number of output signals
- 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