DeepXDE

Scientific machine learning library for solving differential equations and learning operators, with PyTorch, JAX and TensorFlow backends under LGPL-2.1.

Screenshot of DeepXDE website

DeepXDE is an open-source Python library for researchers and engineers who use neural networks to solve scientific problems. It combines physics-informed neural networks (PINNs) with operator learning, so you can work with equations and physical constraints alongside training data. Its license is LGPL-2.1.

PINNs cover forward and inverse problems involving ordinary and partial differential equations, including fractional and stochastic equations. Hard constraints also support inverse design and topology optimization. For operator learning, DeepONet and its extensions include multiple-input, physics-informed and multifidelity approaches.

  • Residual-based adaptive sampling, gradient-enhanced PINNs and multiscale Fourier features provide methods for improving accuracy.
  • Geometry support covers primitive shapes, shapes built through Boolean operations and point clouds, without requiring mesh generation.
  • Boundary conditions include Dirichlet, Neumann, Robin and periodic conditions, plus custom conditions and hard constraints.
  • Dropout supports uncertainty estimates; callbacks support early stopping and monitoring during training.

You choose the backend. DeepXDE works with PyTorch, JAX, TensorFlow and PaddlePaddle, and supports data-parallel training across multiple GPUs. Its loosely coupled components let researchers customize networks, sampling and losses for their own problems. Models can be saved during training and loaded for later use.

Similar to DeepXDE