mathLab/PINA
Physics-Informed Neural networks for Advanced modeling
What it solves
PINA 简化了科学机器学习 (SciML) 解决方案的开发。它提供了一个统一的框架,用于构建和实验模型,例如物理信息神经网络 (PINNs)、神经算符 (Neural Operators) 以及其他数据驱动的建模方法,而无需从头开始编写复杂的、手工构建的实现。
How it works
该库使用基于 PyTorch、PyTorch Lightning 和 PyTorch Geometric 的模块化四步流水线:
- Problem and Data: 用户定义数学问题、约束条件和定义域(例如:笛卡尔定义域)或导入现有数据。
- Model Design: 用户从 Model API 或构建自定义的 PyTorch 模块(包括对 Kolmogorov–Arnold Networks 的支持)。
- Solver Selection: 用户选择一个求解器来确定训练策略(例如:物理信息求解器或监督式求解器)。
- Training: 使用由 PyTorch Lightning 支持的 Trainer API 进行优化,以实现可扩展的多设备性能。
Who it’s for
从事科学计算、 physics, 和数学研究的学者与工程师,需要将物理定律(如 PDEs/ODEs)整合到神经网络训练中。
Highlights
- Modular Architecture: 使用 mixin 架构来解耦预处理、前向传播、后处理。
- Broad Support: 处理时变问题、图结构数据和解析导数。
- AI-Assisted Development: 包含专门的 AI agent 技能,通过自然对话引导用户进行问题设置、模型选择和训练。
- Flexible Solvers: 使用 mixin 架构来解耦预处理、前向传播、后处理。
- Flexible Solvers: 提供各种求解器,包括用于序列预测的自回归求解器和多模型求解器支持。