Skip to content

Conversation

@ThGaskin
Copy link
Owner

@ThGaskin ThGaskin commented Jul 26, 2025

This PR proposes a major restructuring of the model repository, to move away from utopya-based models and instead offering a toolbox of neural network machinery, numerical solvers, and inference algorithms and are illustrated using various models. Each model folder should contain model-specific equations and solvers, a Jupyter notebook to illustrate usage and simple inference, and a utopya model to allow for ensemble training.

The goal is to allow users unfamiliar with either machine learning, Python, or in general with low coding ability to be able to easily experiment with ML-based parameter inference methodologies in Jupyter notebooks, and for the utopya models to be aimed at those with more advanced application requirements in mind.

Major changes

  • Create a model.py file for each model, which contains the differential equation RHS (for ODEs and SDEs), which can then be plugged into a numerical solver of choice
  • Moves the utopya models into a separate `ensemble training' folder for each model
  • Adds torchdiffeq as a requirement, and uses torchdiffeq solvers for ODEs
  • Create a demonstration Jupyter notebook for each model which serves as a step-by-step introduction to the model and the computational methodologies.
  • Provide a number of example training datasets and configuration sets for different use cases
  • Add a number of solvers for ODEs, e.g. Runge-Kutta solvers.
  • Add recurrent neural network architectures: vanilla RNN, GRU, and LSTM
  • Add the Neurotransmission model
  • Add the Manifold Learning notebook
  • Add the Laser experiment for a PDE system
  • Removes Python 3.8 support

To-Dos:

  • Add solver classes for ODEs
  • Add vanilla RNN neural network class
  • Add Jupyter notebook for each model
  • Move utopya models to separate 'ensemble_training' folders
  • Adjust documentation
  • Adjust and fix unit tests
  • Drop Python 3.8 compatibility, since dantro does not support Python 3.8

@ThGaskin
Copy link
Owner Author

@A-Bankowski

… models and notebooks; remove Python 3.8 support; adjust tests

Co-authored-by: Thomas Gaskin <[email protected]>
Co-authored-by: Anastasia Bankowski <[email protected]>
@ThGaskin ThGaskin merged commit 8af4686 into main Jan 21, 2026
3 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants