DeepONet Getting Started

License: MIT · Updated 2026-08-01

Path

Stage 1: Theory (1-2 days)

  • DeepONet = Branch Net (encodes u(x)) + Trunk Net (encodes coordinate t), inner product gives operator G(u)(t). Rooted in Kolmogorov-Arnold representation.
  • Must-read: Lu et al., "DeepONet", Nature Machine Intelligence 2021

Stage 2: DeepXDE (3-5 days)

DeepXDE (LGPL-2.1) is the most mature PINN/DeepONet framework.

from deepxde.backend import tf
from deepxde.nn.tensorflow.fnn import FNN

# Branch net: encodes the input function u(x)
branch = FNN([100, 128, 128, 128], "relu", "Glorot normal")

# Trunk net: encodes the coordinate t
trunk = FNN([2, 128, 128, 128], "relu", "Glorot normal")

# Compose: the inner product gives the solution operator G(u)(t)
net = deepxde.nn.DeepONetOperator([100, 128, 128, 128], [2, 128, 128, 128])
  • Learning order: Burgers -> Porter -> SDE

Stage 3: Industrial practice

  • Parametric geometry response
  • Multiphysics (thermo-structural)
  • Flow surrogate on the U-bend dataset

vs FNO

  • Grid adaptability: DeepONet yes vs FNO no
  • Parameter dimension: DeepONet high vs FNO limited
  • Data efficiency: DeepONet high vs FNO requires more data
  • Framework: DeepXDE yes / NeuralOperator yes

Resources

  • DeepXDE docs (Chinese-friendly)
  • Lu et al. 2021
  • GitHub: lululxvi/deepxde
Tags: DeepONetNeural OperatorDeepXDEPINNTutorial
Related entries