PDEInvBenchCode
收藏资源简介:
PDEInvBench是一个用于在偏微分方程(PDE)逆问题中基准测试神经操作器的存储库。它支持多种PDE系统、训练策略和神经网络架构。数据集用于从观察到的时空解场中恢复系统的未知物理参数(如粘度、扩散率或反应系数)。逆问题在科学计算和工程中是一个具有挑战性但基础的任务,出现在地球物理勘探、流体力学、生物医学成像和材料设计等多种应用中。
PDEInvBench is a repository for benchmarking neural operators in inverse problems of partial differential equations (PDEs). It supports multiple PDE systems, training strategies and neural network architectures. The dataset is designed to recover unknown physical parameters (such as viscosity, diffusivity or reaction coefficients) of the system from observed spatio-temporal solution fields. Inverse problems are a challenging yet fundamental task in scientific computing and engineering, with applications spanning geophysical exploration, fluid mechanics, biomedical imaging, materials design and other domains.
PDEInvBench数据集概述
数据集基本信息
- 数据集名称: PDEInvBench (PDE Inverse Problem Benchmarking)
- 数据集地址: https://huggingface.co/datasets/DabbyOWL/PDE_Inverse_Problem_Benchmarking/tree/main
- 核心用途: 为偏微分方程(PDE)逆问题中的神经算子提供基准测试。
数据集内容与范围
支持的偏微分方程系统
- 1D Korteweg–De Vries (KdV) 方程
- 2D 反应扩散方程
- 2D 无外力纳维-斯托克斯方程
- 2D 受迫纳维-斯托克斯方程
- 2D 达西流
涵盖的逆问题方法
- 完全数据驱动方法
- PDE残差损失方法
- 测试时定制化方法
涉及的模型架构
- FNO (傅里叶神经算子): 基于谱偏置的架构
- scOT (可扩展算子变换器): 基于注意力机制的架构
- ResNet: 基于卷积局部偏置的架构
数据获取与使用
下载方式
通过提供的Python脚本进行批量下载: bash python3 huggingface_pdeinv_download.py --dataset darcy-flow-241 --split train --local-dir ./data
可用数据集示例
darcy-flow-241korteweg-de-vries-1dnavier-stokes-forced-2dreaction-diffusion-2d-du
数据配置选项
- 时间窗口采样: 控制
every_nth_window参数 - 数据使用比例: 通过
frac_ics_per_param和frac_param_combinations控制 - 时空划分: 通过
train_window_end_percent和test_window_start_percent控制训练/测试时间分割 - 空间分辨率: 支持从512×512下采样到64×64的多分辨率处理
实验设计维度
训练与优化策略
- 完全数据驱动监督: 使用配对的参数-解数据进行标准监督训练
- 物理信息训练: 包含PDE残差损失项进行自监督正则化
- 测试时定制化: 在推理时使用PDE残差进行后训练微调,以适应新的参数体系
问题表示与归纳偏置
- 导数条件: 将空间/时间导数作为输入
- 时间条件: 仅使用原始解快照
- 时间帧数: 支持2、5、10、15、20、25帧的条件设置
扩展实验
- 模型容量扩展: 支持50万、500万、5000万参数规模的模型
- 数据量扩展:
- 初始条件多样性扩展(控制
frac_ics_per_param) - 参数空间覆盖扩展(控制
frac_param_combinations) - 时间范围扩展(控制
train_window_end_percent)
- 初始条件多样性扩展(控制
- 空间分辨率扩展: 支持64×64、128×128、256×256、512×512分辨率
技术特性
环境要求
- Python版本: 3.11
- 深度学习框架: PyTorch 2.7, PyTorch Lightning 2.5
- 神经算子库: neuraloperator 0.3.0
- 科学计算库: scipy, numpy, h5py, torch-harmonics
- 配置管理: Hydra 1.3, OmegaConf 2.3
代码结构
- 配置管理:
configs/目录包含所有实验配置 - 数据处理:
scripts/目录包含数据预处理工具 - 模型实现:
pdeinvbench/models/目录包含所有神经网络实现 - 训练脚本:
train_inverse.py为主训练脚本
验证与测试
- 测试框架: 包含PDE残差计算和数值实现的验证脚本
- 形状检查: 使用jaxtyping进行运行时张量形状验证
- 可视化: 生成PDE残差时空演化的动画GIF
实验运行
基本命令
bash python3 train_inverse.py --config-name={pde_system}
支持的PDE系统:1dkdv, 2dtf, 2dns, 2drdk, 2drddu, 2ddf
分布式训练
支持单GPU、多GPU和多节点SLURM集群训练配置。




