A Data-Free Framework for Solving Ordinary Differential Equations and Refining Trajectories with Neural Networks.
NNODE (Neural Network for Ordinary Differential Equations) is a novel data-free learning framework for solving Ordinary Differential Equations (ODEs) and refining trajectories using neural networks. The framework eliminates the need for ground truth by embedding differential equations into the loss functions via automatic differentiation. By introducing boundary conditions as network inputs, the framework is capable of solving ODEs under varying boundary conditions through one-shot training. In addition, it provides a concise and efficient method for trajectory refinement by utilizing the gradients of outputs with respect to the boundary conditions.
-
Create a conda environment.
conda create -n nnode python=3.12 conda activate nnode
-
Install dependencies.
pip install torch
NOTE: install gpu version of PyTorch if needed.
pip install matplotlib scipy loguru tqdm tensorboard tensorboardX
-
Download the repository.
git clone git@github.com:ZhanyuGuo/NNODE.git
-
Update the options in
src/NNODE/options.py.NOTE: set
num_workersto 0 if you are using Windows. -
Run the training script.
source scripts/train.sh -
Run the testing script.
source scripts/test.sh -
(optional) Use convert script to convert into scripted model which can be used in libtorch (Pytorch C++ API).
source scripts/convert.shMore details will be available in the open source repository soon.



