Official Implementation of the ICML 2021 Paper Opening the Blackbox: Accelerating Neural Differential Equations by Regularizing Internal Solver Heuristics
Experiments provided here were developed and tested on Julia v1.5.3. All other package versions are automatically enforced. To install do the following in Julia REPL:
] dev https://github.com/avik-pal/RegNeuralDE.jl
The code will be downloaded in the JULIA_PKG_DEVDIR
directory.
If you found this codebase useful in your research, please consider citing
@InProceedings{pmlr-v139-pal21a,
title = {Opening the Blackbox: Accelerating Neural Differential Equations by Regularizing Internal Solver Heuristics},
author = {Pal, Avik and Ma, Yingbo and Shah, Viral and Rackauckas, Christopher V},
booktitle = {Proceedings of the 38th International Conference on Machine Learning},
pages = {8325--8335},
year = {2021},
editor = {Meila, Marina and Zhang, Tong},
volume = {139},
series = {Proceedings of Machine Learning Research},
month = {18--24 Jul},
publisher = {PMLR},
pdf = {http://proceedings.mlr.press/v139/pal21a/pal21a.pdf},
url = {http://proceedings.mlr.press/v139/pal21a.html},
}
- Preprocessed Physionet Data can be downloaded from here. Place the downloaded file in
data/physionet.bson
.
Important Parameters of the Experiments are controlled using the yml
files in experiments/configs
.
Parameters controlled by experiments/configs/mnist_node.yml
. To train a Vanilla/Regularized Neural ODE for MNIST classification:
$ julia --project=. experiments/mnist_node.jl
Parameters controlled by experiments/configs/latent_ode.yml
. To train a Vanilla/Regularized Latent ODE with GRU Encoder for Physionet Time Series Interpolation
$ julia --project=. experiments/latent_ode.jl
To train a Vanilla and Regularized Neural SDE
$ julia --project=. experiments/sde_toy_problem.jl
Parameters controlled by experiments/configs/mnist_nsde.yml
. To train a Vanilla/Regularized Neural ODE for MNIST classification:
$ julia --project=. experiments/mnist_nsde.jl