NodeREN
PyTorch implementation of NodeRENs as presented in "Unconstrained Parametrization of Dissipative and Contracting Neural Ordinary Differential Equations".
NodeRENs are at the intersection of Neural Ordinary Differential Equations (Neural ODEs) with Recurrent Equilibrium Networks (RENs).
The Technical Report can be found in the docs
folder.
git clone https://github.com/DecodEPFL/NodeREN.git
cd NodeREN
python setup.py install
In the context of system identification, we use NodeRENs for learning the dynamics of a Pendulum.
For the Pendulum system, run the following script:
python ./Pendulum_Identification.py [--nx NX] [--nq NQ] [--n_steps N_STEPS] [--t_end T_END] [--sigma SIGMA] [--method METHOD] [--seed SEED] [--epochs EPOCHS] [--batch_size BATCH_SIZE] [--alpha ALPHA] [--device DEVICE] [--n_cuda N_CUDA] [--learning_rate LEARNING_RATE] [--n_exp N_EXP] [--verbose VERBOSE] [--rtol RTOL] [--atol ATOL] [--steps_integration STEPS_INTEGRATION] [--experiment EXPERIMENT] [--t_stop_training T_STOP_TRAINING] [--GNODEREN GNODEREN]
The main options are summarized in the following Table.
Command | Description |
---|---|
nx |
Number of states of the NodeREN model |
nq |
Number of nonlinearities of the NodeREN model |
t_end |
End time for the training simulation window: [0, t_end] |
method |
Integration method tu use for simulating the NodeREN |
epochs |
(Max) no. of epochs to be used |
steps_integration |
Number of integration steps used in fixed-steps integration methods |
atol |
Absolute tolerance error for adaptive-step integration methods such as 'dopri5' |
rtol |
Relative tolerance error for adaptive-step integration methods such as 'dopri5' |
More details about the remaining arguments can be obtained running the following instruction:
python ./Pendulum_Identification.py --help
In order to test NodeRENs in benchmark binary classification problems, run the following script:
./Binary_Classification.py --dataset [DATASET]
where available values for DATASET
are double_moons
, double_circles
, double_moons
,
checker_board
, and letters
.
This work is licensed under a Creative Commons Attribution 4.0 International License.
[1] Daniele Martinelli, Clara Galimberti, Ian R. Manchester, Luca Furieri, Giancarlo Ferrari-Trecate. "Unconstrained Parametrization of Dissipative and Contracting Neural Ordinary Differential Equations," 2023.