AI4XDE是一个用于科学机器学习和物理信息网络的综合库。AI4XDE旨在将具体算法与具体算例相解耦,将算例作为神经网络的输入参数,使得一次编程即可计算所有的算例。按照AI4XDE库中使用的接口范式编写神经网络算法以及算例,可以快速地测试算法在不同算例上的稳定性,加快实验进度;同时也可以使算例编写完成,即可在不同的神经网络算法上进行测试、比较。
目前AI4XDE支持算法如下:
- PINN
- Uniform
- Random_R
- RAR_D
- RAR_G
- RAD
- R3Sampling
- HPO
- gPINN
- FI-PINN
- FBPINN
- CausalPINN
目前AI4XDE支持算例如下:
- 基于公式的函数近似算例
- 基于数据的公式近似算例
- 一个简单的ODE算例
- Lotka-Volterra方程
- 一个二阶ODE算例
- 具有狄利克雷边界条件的一维Poisson方程
- 具有狄利克雷/纽曼边界条件的一维Poisson方程
- 具有狄利克雷/罗宾边界条件的一维Poisson方程
- 具有狄利克雷/周期边界条件的一维Poisson方程
- 具有狄利克雷/点集算子边界条件的一维Poisson方程
- 具有强制边界条件的一维Poisson方程
- 具有多尺度傅立叶特征网络的一维Poisson方程
- L型区域上的二维Poisson方程
- 具有未知强迫场的Poisson方程反问题
- 一维分数阶Poisson方程反问题
- 二维分数阶Poisson方程反问题
- 峰值二维Poisson方程
- 圆型区域上的Laplace方程
- 欧拉梁
- 二维矩形区域上的Helmholtz方程
- 带孔二维矩形区域上的Helmholtz方程
- 具有吸收边界条件的Helmholtz声硬散射问题
- Kovasznay流
- Burgers方程
- Heat方程
- Diffusion方程
- Diffusion-reaction方程
- AllenCahn方程
- Klein-Gordon方程
- Beltrami流
- 薛定谔方程
- 具有强制边界条件的一维Wave方程
- 使用时空多尺度傅里叶特征网络的一维Wave方程
- 积分微分方程
- Volterra积分微分方程
- 一维分数阶Poisson方程
- 二维分数阶Poisson方程
- 三维分数阶Poisson方程
- 一维分数阶Diffusion方程
- Lorenz反问题
- 具有外生输入的Lorenz反问题
- Brinkman-Forchheimer反问题
- Diffusion反问题
- Diffusion-Reaction反问题
- 不可压缩流体Navier-Stokes方程(圆柱扰流)反问题
- 二维双峰分布问题
- 方腔流
- 具有周期边界条件的一维对流方程
- 一维谐振子
由于AI4XDE基于DeepXDE库,所以你需要首先安装DeepXDE库。
DeepXDE需要安装以下依赖项之一:
- TensorFlow 1.x: TensorFlow>=2.7.0
- TensorFlow 2.x: TensorFlow>=2.2.0, TensorFlow Probability>=0.10.0
- PyTorch: PyTorch>=1.9.0
- JAX: JAX, Flax, Optax
- PaddlePaddle: PaddlePaddle (develop version)
请安装完上述依赖项作为基线后,再安装DeepXDE.
随后,你就可以使用如下方法安装AI4XDE
- 使用
pip
安装:
$ pip install ai4xde
- 使用
conda
安装:
$ conda install -c xuelanghanbao ai4xde
- 对于开发者, 可以将其克隆到本地计算机上:
$ git clone https://gitee.com/xuelanghanbao/AI4XDE.git
AI4XDE将算法与算例分离,其中算法模板存放在 solver
文件夹中,基于算法模板实现的具体算法(如:PINN、R3Sampling等)存放在algorithm
文件夹中。算例模板及具体算例(如:Burgers、AllenCahn等)存放在cases
文件夹中。
- Fork 本仓库
- 新建 Feat_xxx 分支
- 提交代码
- 新建 Pull Request