neuromancer
NeuroMANCER 是一个基于 PyTorch 的开源可微分编程库,旨在将机器学习与科学计算深度融合。它主要解决参数化约束优化、物理信息系统的辨识以及参数化模型预测控制等复杂难题,帮助用户构建嵌入先验知识和物理规律的端到端可微模型。
无论是希望“学习优化”、“学习建模”还是“学习控制”的研究人员与开发者,都能利用 NeuroMANCER 高效应对从流体力学模拟到建筑能效控制等各类实际挑战。其核心优势在于提供了直观的符号编程接口,让用户能轻松定义并嵌入物理方程与领域约束。此外,NeuroMANCER 集成了多项前沿技术,包括函数编码器(FE)、柯尔莫哥洛夫 - 阿诺德网络(KAN)、神经微分方程(NODE)以及可微分凸优化层,确保在处理非线性动力学系统和安全约束时保持业界领先水平。配合丰富的教程案例和专为辅助编码设计的 LLM 助手,NeuroMANCER 成为了连接算法理论与工程应用的强大桥梁。
使用场景
某能源科技公司的算法团队正在开发一套工业微电网的实时调度系统,需要在满足复杂物理约束的前提下,动态优化电池充放电策略以应对波动的可再生能源输入。
没有 neuromancer 时
- 物理与优化割裂:团队需分别构建物理仿真模型和优化求解器,两者数据交互繁琐,难以保证控制策略严格符合电路动力学方程。
- 约束处理僵硬:面对电池电压、电流等硬性安全约束,传统方法常采用惩罚函数法,导致求解速度慢且容易在边界处出现违规震荡。
- 迭代开发低效:每次调整电网拓扑或设备参数,都需要重新推导数学公式并修改底层求解代码,无法实现端到端的快速验证。
- 实时性不足:传统数值优化算法计算耗时过长,难以满足毫秒级的电网频率调节需求,往往只能依赖保守的查表法。
使用 neuromancer 后
- 端到端可微分建模:利用 neuromancer 的符号编程接口,直接将基尔霍夫定律等物理方程嵌入神经网络,实现了“学习即优化”,确保输出天然符合物理规律。
- 自适应约束保障:通过内置的可微凸优化层,将安全约束作为网络结构的一部分,既保证了绝对安全,又避免了传统惩罚项带来的收敛难题。
- 参数化敏捷开发:借助其参数化建模能力,团队只需更改配置即可适应不同的微电网架构,无需重写核心算法,大幅缩短了从实验室到部署的周期。
- 极速推理决策:训练好的神经预测控制(DPC)模型推理速度比传统求解器快几个数量级,成功实现了复杂的混合整数决策在边缘设备上的实时运行。
neuromancer 通过将领域知识与深度学习无缝融合,让复杂的受控物理系统优化变得像训练普通神经网络一样简单高效。
运行环境要求
- 未说明
未说明
未说明

快速开始
NeuroMANCER v1.5.6
具有自适应非线性约束和高效正则化的神经模块(NeuroMANCER) 是一个开源的可微分编程(DP)库,用于求解参数化约束优化问题、基于物理信息的系统辨识以及基于模型的参数化最优控制。NeuroMANCER 使用 PyTorch 编写,允许将机器学习与科学计算系统性地结合,从而创建端到端的可微模型和算法,并在其中嵌入先验知识和物理规律。
目录
关键特性
- 学习建模、学习控制、学习优化:我们的库旨在为最终用户提供多种工具,以解决学习优化(L2O)、学习建模(L2M)和学习控制(L2C)任务。您可以处理高级的约束参数化优化问题,使用基于物理信息的神经网络来建模流体动力学,或者学习如何控制建筑物内的室内温度以最大化建筑能效。
- 符号编程 接口使得在这些学习范式中定义和嵌入物理方程、领域知识和约束变得非常简单。
- 全面的学习工具:提供丰富的教程和示例应用——从基础的系统辨识到高级的预测控制——使用户能够轻松学习并将 NeuroMANCER 应用于实际问题。
- 最先进方法:NeuroMANCER 汇集了当前最先进的方法,例如用于函数逼近的函数编码器(FE)和科尔莫戈洛夫-阿诺德网络(KAN),用于学习动态系统的神经常微分方程(NODE)、神经库普曼算子(KO)以及稀疏非线性动力学识别(SINDy),用于学习优化中的安全约束的可微凸优化层,以及用于学习控制非线性系统的可微预测控制(DPC)。
- NeuroMANCER-GPT 助手:我们提供了易于使用的脚本,可以将 NeuroMANCER 库的内容转换为适合 RAG 基础“LLM 助手”管道的形式。请参阅 Assistant 以了解如何快速搭建一个 LLM 模型来帮助理解和编写 NeuroMANCER 代码。
v1.5.6 新增内容
新示例:
新功能
- 新类 SystemPreview,可作为 System 类的直接替代品,启用预览时域功能
- 单元测试已更新至最新版本。
修复的错误
- 修复了 mlflow 依赖项在 Google Colab 中引发冲突的问题
安装
只需运行
pip install neuromancer
如需手动安装,请参阅 安装说明
快速入门
在 examples 文件夹和下方的 教程 中,您可以找到大量教程。示例的交互式笔记本版本可在 Google Colab 上获取!在克隆仓库并搭建环境之前,不妨先试用一下 NeuroMANCER 的功能。
以下笔记本介绍了 NeuroMANCER 库的核心抽象概念,尤其是我们的符号编程接口和 Node 类。
符号变量、节点、约束、目标函数和系统类
示例
使用 NeuroMANCER 解决参数化约束优化问题的快速示例,利用我们的符号编程接口、Node 和 Variable、Blocks、SLiM 库以及 PenaltyLoss 类。
# Neuromancer 语法示例:约束优化
import neuromancer as nm
import torch
# 定义神经网络架构
func = nm.modules.blocks.MLP(insize=1, outsize=2,
linear_map=nm.slim.maps['linear'],
nonlin=torch.nn.ReLU, hsizes=[80] * 4)
# 将神经网络通过 Node 类包装成符号表示:map(p) -> x
map = nm.system.Node(func, ['p'], ['x'], name='map')
# 定义决策变量
x = nm.constraint.variable("x")[:, [0]]
y = nm.constraint.variable("x")[:, [1]]
# 数据集中采样的问题参数
p = nm.constraint.variable('p')
# 定义目标函数
f = (1-x)**2 + (y-x**2)**2
obj = f.minimize(weight=1.0)
# 定义约束条件
con_1 = 100.*(x >= y)
con_2 = 100.*(x**2+y**2 <= p**2)
# 创建基于惩罚法的损失函数
loss = nm.loss.PenaltyLoss(objectives=[obj], constraints=[con_1, con_2])
# 构造可微分的约束优化问题
problem = nm.problem.Problem(nodes=[map], loss=loss)
领域示例
NeuroMANCER 旨在利用其丰富的算法来解决各种领域特定的建模和控制问题。以下展示了如何对建筑能源系统进行建模与控制,以及应用负荷预测技术。
如需深入了解我们的方法,请参阅下方的建模、优化与控制方法教程部分。
能源系统
-
使用神经ODE学习建筑热动力学
-
基于神经ODE的多区域建筑热动力学电阻-电容网络模型
-
使用神经ODE学习同步发电机摆动方程动力学
-
学习控制建筑物室内空气温度
-
基于MLP和CNN模型的建筑能耗负荷预测
-
基于Transformer模型的建筑能耗负荷预测
-
学习控制抽水蓄能水电系统
-
使用安全强化学习和DPC控制建筑暖通空调系统
建模、优化与控制方法教程
学习优化(L2O)用于参数化编程
Neuromancer 允许您构建并求解广泛的参数化优化问题,借助机器学习来学习这些问题的解。关于参数化编程的更多信息
通过可微预测控制(DPC)学习控制(L2C)
Neuromancer 使您能够为全范围的可微白箱、灰箱和黑箱动力系统学习控制策略,同时满足选择约束和目标函数的要求。 关于可微预测控制的更多信息
函数逼近
Neuromancer 紧跟最前沿的方法。在这里,我们展示了强大的科尔莫戈洛夫-阿诺德网络 关于科尔莫戈洛夫-阿诺德网络的更多信息
Neuromancer 包含函数编码器的实现,这是一种将基函数学习为神经网络的算法。请参阅 函数编码器:希尔伯特空间中迁移学习的一种原则性方法。
系统辨识
Neuromancer 允许用户结合机器学习、先验物理知识和领域专业知识,在已知系统行为观测数据的基础上,构建动力学系统的数据驱动模型。 关于通过神经状态空间模型和常微分方程进行系统辨识的更多信息
-
神经普通微分方程 (NODEs)
-
常微分方程系统的参数估计
-
通用微分方程 (UDEs)
-
带有外生输入的 NODEs
-
带有外生输入的神经状态空间模型 (NSSMs)
-
电阻-电容 (RC) 网络 ODE 的数据驱动建模
-
深度库普曼算子
-
面向控制的深度库普曼算子
-
非线性动力学稀疏识别 (SINDy)
物理信息神经网络 (PINNs)
Neuromancer 的符号编程设计非常适合求解 PINNs。关于 PINNs 的更多信息
随机微分方程 (SDEs)
Neuromancer 已与 TorchSDE 集成,以处理随机动力学系统。关于 SDEs 的更多信息
可扩展性和可定制性
PyTorch Lightning 集成
我们集成了 PyTorch Lightning,以简化代码、实现自定义训练逻辑、支持 GPU 和多 GPU 配置,并处理大规模、内存密集型的学习任务。
文档与用户指南
该库的文档可在 在线 查阅。 此外,还有一段 介绍视频,涵盖了该库的核心功能。
如需更多信息,包括面向开发人员的内容,请访问我们的 开发者与用户指南。
社区信息
我们欢迎开源社区的贡献和反馈!
贡献、讨论与问题
请阅读 社区开发指南,以获取有关贡献、讨论 和 问题 的更多信息。
发布说明
请参阅 发布说明,其中记录了新功能。
许可证
NeuroMANCER 采用 BSD 许可证。 更多详情请参阅 许可证。
出版物
- Ashish S. Nair, Bruno Jacob, Amanda A. Howard, Jan Drgona, Panos Stinis, E-PINNs:认知不确定性物理信息神经网络,arXiv:2503.19333
- Bo Tang, Elias B. Khalil, Ján Drgoňa, 学习求解混合整数非线性规划的优化方法,arXiv:2410.11061,2024年
- John Viljoen, Wenceslao Shaw Cortez, Jan Drgona, Sebastian East, Masayoshi Tomizuka, Draguna Vrabie, 面向机器人技术的可微预测控制:一种数据驱动的预测安全滤波器方法,arXiv:2409.13817,2024年
- Jan Drgona, Aaron Tuor, Draguna Vrabie, 带有保证的学习受限参数化可微预测控制策略,IEEE系统、人机与控制论汇刊:系统,2024年
- Renukanandan Tumu, Wenceslao Shaw Cortez, Ján Drgoňa, Draguna L. Vrabie, Sonja Glavaski, 面向大规模城市道路网络的可微预测控制,arXiv:2406.10433,2024年
- Ethan King, James Kotary, Ferdinando Fioretto, Jan Drgona, 用于加速可微参数化规划中算子分裂法收敛的度量学习,arXiv:2404.00882,2024年
- James Koch, Madelyn Shapiro, Himanshu Sharma, Draguna Vrabie, Jan Drgona, 神经微分代数方程,arXiv:2403.12938,2024年
- Wenceslao Shaw Cortez, Jan Drgona, Draguna Vrabie, Mahantesh Halappanavar, 一种鲁棒高效的预测安全滤波器,arXiv:2311.08496,2024年
- Shrirang Abhyankar, Jan Drgona, Andrew August, Elliott Skomski, Aaron Tuor, 利用可微参数化优化进行神经—物理动态负荷建模,2023 IEEE电力与能源学会年会(PESGM)
- James Koch,Zhao Chen,Aaron Tuor,Jan Drgona,Draguna Vrabie,使用通用微分方程对网络化动力系统进行结构推断,arXiv:2207.04962,2022年
- Ján Drgoňa,Sayak Mukherjee,Aaron Tuor,Mahantesh Halappanavar,Draguna Vrabie,学习随机参数化可微预测控制策略,IFAC ROCOND会议(2022年)
- Sayak Mukherjee,Ján Drgoňa,Aaron Tuor,Mahantesh Halappanavar,Draguna Vrabie,神经李雅普诺夫可微预测控制,IEEE决策与控制会议2022年
- Wenceslao Shaw Cortez,Jan Drgona,Aaron Tuor,Mahantesh Halappanavar,Draguna Vrabie,具有安全保证的可微预测控制:基于控制屏障函数的方法,IEEE决策与控制会议2022年
- Ethan King,Jan Drgona,Aaron Tuor,Shrirang Abhyankar,Craig Bakker,Arnab Bhattacharya,Draguna Vrabie,基于库普曼算子的可微预测控制在动态感知经济调度问题中的应用,2022年美国控制会议(ACC)
- Drgoňa, J., Tuor, A. R., Chandan, V., & Vrabie, D. L., 物理约束下的多区域建筑热动力学深度学习。能源与建筑,243,110992,2021年
- E. Skomski,S. Vasisht,C. Wight,A. Tuor,J. Drgoňa和D. Vrabie,“受约束的块状非线性神经动力学模型”,2021年美国控制会议(ACC),2021年,第3993–4000页,doi:10.23919/ACC50511.2021.9482930。
- Skomski,E.,Drgoňa,J.,& Tuor,A.(2021年5月)。通过学习与进化自动发现物理信息神经状态空间模型。载于《动力学与控制的学习》(第980–991页)。PMLR。
- Drgoňa,J.,Tuor,A.,Skomski,E.,Vasisht,S.,& Vrabie,D.(2021年)。为建筑物开发深度学习显式可微预测控制律。IFAC-PapersOnLine,54(6),第14–19页。
- Tuor,A.,Drgona,J.,& Vrabie,D.(2020年)。具有稳定性保证的受约束神经常微分方程。arXiv预印本arXiv:2004.10883。
- Drgona,Jan等。“可微预测控制:一种适用于未知非线性系统的MPC替代方案,采用受约束的深度学习。”过程控制杂志第116卷,2022年8月,第80–92页
- Drgona,J.,Skomski,E.,Vasisht,S.,Tuor,A.,& Vrabie,D.(2020年)。耗散型深度神经动力学系统,载于IEEE开放控制系统期刊,第1卷,第100–112页,2022年
- Drgona,J.,Tuor,A.,& Vrabie,D.,学习带有保证的受限自适应可微预测控制策略,arXiv预印本arXiv:2004.11184,2020年
引用方式
@article{Neuromancer2023,
title={{NeuroMANCER:具有自适应非线性约束和高效正则化的神经模块}},
author={Drgona, Jan and Tuor, Aaron and Koch, James and Shapiro, Madelyn and Jacob, Bruno and Vrabie, Draguna},
Url= {https://github.com/pnnl/neuromancer},
year={2023}
}
开发团队
主要开发者:Jan Drgona,Aaron Tuor
重要贡献者:Rahul Birmiwal,Bruno Jacob,Reilly Raab,Madelyn Shapiro,James Koch,Seth Briney,Bo Tang,Ethan King,Elliot Skomski,Zhao Chen,Christian Møldrup Legaard,Tyler Ingebrand,Alireza Daneshvar,Cary Faulkner
科学顾问:Draguna Vrabie,Panos Stinis
由contrib.rocks制作。
致谢
本研究得到了太平洋西北国家实验室(PNNL)实验室指导研究与发展(LDRD)项目的部分支持,具体通过“科学中的人工推理数学”(MARS)和“数据模型融合”(DMC)两大倡议;同时还得到了美国能源部高级科学计算研究办公室“复杂系统的数据驱动决策控制”(DnC2S)项目的支持,以及能源效率与可再生能源建筑技术办公室下“通过以物理为中心的自主深度学习和建筑运营优化实现动态脱碳”和“以经济高效的不同可微预测控制推动市场-ready建筑能源管理”两个项目的支持。此外,本项目还获得了美国能源部科学局高级科学计算研究(ASCR)计划下“多保真度算子学习不确定性量化”(MOLUcQ)项目的资助(项目编号:81739)。PNNL是由巴特尔纪念研究所根据合同编号DE-AC05-76RL0-1830代表美国能源部(DOE)运营的多学科国家实验室。本研究亦得到美国能源部科学局ASCR计划下“先进计算促进科学发现”(SciDAC)研究所“LEADS:学习加速领域科学”项目的部分支持。同时,本研究还得到了约翰霍普金斯大学拉尔夫·奥康纳可持续能源研究所(ROSEI)的支持。
版本历史
v1.5.62025/09/26v1.5.52025/09/26v1.5.42025/07/02v1.5.32025/02/26v1.5.22024/11/07v1.5.12024/07/08v1.5.02024/04/10v1.4.22023/11/07常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备