Repolode
pnnl

pnnl/neuromancer

PyTorch-based differentiable programming library for parametric constrained optimization, physics-informed system identification, and parametric model predictive control.

Stars
1,383
Forks
185
Open issues
16
Last commit
4 hours ago

What is it?

NeuroMANCER is a differentiable programming library written in PyTorch for learning solutions to parametric constrained optimization problems, building physics-informed models of dynamical systems, and learning control policies. It lets users combine neural networks with scientific computing so that domain equations, constraints and prior knowledge are embedded directly into the learning process.

The library provides a symbolic programming interface for defining variables, constraints and objectives, along with Node and System abstractions for composing neural modules and dynamical models. It covers neural ODEs, Koopman operators, SINDy, Kolmogorov-Arnold networks, function encoders, neural operators such as DeepONet and Fourier Neural Operators, and physics-informed neural networks for PDEs. Differentiable Predictive Control and differentiable convex optimization layers are included for control and safety-constrained learning.

The repository ships with a large set of Colab-ready tutorials and domain examples, including building thermal dynamics and HVAC control, and integrates with PyTorch Lightning for GPU and multi-GPU training. It is installable via pip.

Key features

  • 01Symbolic interface for embedding physics equations, constraints and objectives into learning problems.
  • 02Parametric constrained optimization via penalty-based losses and differentiable convex optimization layers.
  • 03Learning models of dynamical systems with neural ODEs, Koopman operators, SINDy and state space models.
  • 04Differentiable Predictive Control for learning control policies of nonlinear systems.
  • 05Physics-informed neural networks and neural operators such as DeepONet and Fourier Neural Operator.
  • 06PyTorch Lightning integration for GPU and multi-GPU training.

Use cases

  • Building energy management, such as learning to control indoor temperature with HVAC systems.
  • Learning surrogate models of physical systems from measured data while respecting known equations.
  • Solving families of constrained optimization problems quickly across many parameter settings.
  • Prototyping physics-informed neural networks for PDEs like diffusion or fluid flow.

Quick start

  1. 1

    Install the library from PyPI

    pip install neuromancer
  2. 2

    Run the quick constrained optimization example in Python (define the model, nodes and loss as shown in the README)

Things to know

  • The license is listed as NOASSERTION, so the terms need to be checked in the repository before use.
  • Most tutorials and examples are designed around GPU-friendly PyTorch workflows and may be slow on CPU.

Topics

FAQ

What is neuromancer?
PyTorch-based differentiable programming library for parametric constrained optimization, physics-informed system identification, and parametric model predictive control. NeuroMANCER is a differentiable programming library written in PyTorch for learning solutions to parametric constrained optimization problems, building physics-informed models of dynamical systems, and learning control policies. It lets users combine neural networks with scientific computing so that domain equations, constraints and prior knowledge are embedded directly into the learning process.
Is neuromancer free to use? What license does it have?
neuromancer is open source under the Other license. Check the license terms before using it in commercial products.
Is neuromancer still maintained?
Actively maintained. The last commit to neuromancer was on Oct 22, 2026.
What can I use neuromancer for?
Building energy management, such as learning to control indoor temperature with HVAC systems. Learning surrogate models of physical systems from measured data while respecting known equations. Solving families of constrained optimization problems quickly across many parameter settings. Prototyping physics-informed neural networks for PDEs like diffusion or fluid flow.
How do I install neuromancer?
Install the library from PyPI: pip install neuromancer Run the quick constrained optimization example in Python (define the model, nodes and loss as shown in the README)
Where can I get neuromancer?
The source code and installation instructions are on GitHub: https://github.com/pnnl/neuromancer

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects