SciML/DiffEqFlux.jl

Pre-built implicit layer architectures with O(1) backprop, GPUs, and stiff+non-stiff DE solvers, demonstrating scientific machine learning (SciML) and physics-informed machine learning methods

What it solves

DiffEqFlux.jl solves the challenge of integrating differential equations into machine learning models. It allows researchers to incorporate physical laws and continuous-time dynamics into neural networks, creating "scientific machine learning" (SciML) models that are more physically informed than traditional black-box ML.

How it works

The package fuses differential equation solvers from DifferentialEquations.jl with neural network frameworks like Lux.jl and Flux.jl. It provides a set of specialized layers that treat the solution of a differential equation as a layer in a neural network. This enables the architecture to be trained via backpropagation through the solver.

Who it’s for

It is designed for researchers and engineers in scientific machine learning, physics-informed neural networks, and those working with complex dynamical systems where continuous-time dynamics are needed.

Highlights

  • Diverse ODE/SDE Architectures: Supports Neural ODEs, Neural SDEs, Neural DAEs, Neural DDEs, and Augmented Neural ODEs.
  • Advanced Solvers: Access to high-order, adaptive, implicit, and GPU-accelerated methods, including Newton-Krylov solvers.
  • Specialized Networks: Includes Hamiltonian Neural Networks with symplectic integrators and Continuous Normalizing Flows (CNF/FFJORD).
  • Flexible Integration: Allows neural networks to act as terms within ODEs or ODE solvers to act as activation functions within neural networks.

Related

  • Project
  • Project
  • Project
  • Project
  • Project