A Library for Learning Neural Operators
Jean Kossaifi, Nikola Kovachki, Zongyi Li, David Pitt, Miguel Liu-Schiaffini, Valentin Duruisseaux, Robert Joseph George, Boris Bonev, Kamyar Azizzadenesheli, Julius Berner, Anima Anandkumar
TL;DR
The paper introduces NeuralOperator, a PyTorch-based open-source library for learning neural operators—maps between function spaces that underpin PDE solution operators. It provides a resolution-agnostic, end-to-end stack including building blocks, architectures (GNO, FNO, TFNO, SFNO, GINO, PINO, UQNO, LocalNO), datasets, and training utilities, along with efficiency features such as tensor decomposition and mixed-precision. The library emphasizes reliability (unit tests, CI), modularity, and ease of use to accelerate experimentation and deployment in real-world scientific problems. By offering ready-made components and benchmarks (via Zenodo datasets) and allowing meta-algorithms like incremental learning, NeuralOperator aims to democratize access to neural operator technology and keep pace with advances in the field.
Abstract
We present NeuralOperator, an open-source Python library for operator learning. Neural operators generalize neural networks to maps between function spaces instead of finite-dimensional Euclidean spaces. They can be trained and inferenced on input and output functions given at various discretizations, satisfying a discretization convergence properties. Built on top of PyTorch, NeuralOperator provides all the tools for training and deploying neural operator models, as well as developing new ones, in a high-quality, tested, open-source package. It combines cutting-edge models and customizability with a gentle learning curve and simple user interface for newcomers.
