Table of Contents
Fetching ...

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.

A Library for Learning Neural Operators

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.

Paper Structure

This paper contains 8 sections, 1 figure.

Figures (1)

  • Figure 1: Overview of functionalities. The NeuralOperator library provides the full stack required to train and deploy neural operators, including datasets and data loaders, core layers and building blocks, neural operator models, losses and training and efficiency methods.