Skip to content

Commit 408a69b

Browse files
change version information from 1.0.0 to 1.2.0 (#672)
1 parent f3a9ad9 commit 408a69b

File tree

12 files changed

+117
-61
lines changed

12 files changed

+117
-61
lines changed

.github/ISSUE_TEMPLATE/3_build-installation-issue.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ body:
66
- type: markdown
77
attributes:
88
value: >
9-
#### 安装请参考 [安装使用](https://paddlescience-docs.readthedocs.io/zh/latest/zh/install_setup/),若未能解决你的问题,你可以在这里提 issue。
9+
#### 安装请参考 [安装使用](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/install_setup/),若未能解决你的问题,你可以在这里提 issue。
1010
11-
#### Before submitting a Build/Installation Issue, please make sure you have visited the [install_setup](https://paddlescience-docs.readthedocs.io/zh/latest/zh/install_setup/).
11+
#### Before submitting a Build/Installation Issue, please make sure you have visited the [install_setup](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/install_setup/).
1212
1313
- type: textarea
1414
id: error

.github/ISSUE_TEMPLATE/4_documentation-issue.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
name: 📚 文档 Documentation Issue
2-
description: 反馈一个官网文档错误。 Report an issue related to https://paddlescience-docs.readthedocs.io/zh/latest/.
2+
description: 反馈一个官网文档错误。 Report an issue related to https://paddlescience-docs.readthedocs.io/zh/release-1.2/.
33
labels: [type/docs, status/new-issue]
44

55
body:
66
- type: markdown
77
attributes:
88
value: >
9-
#### 请确认反馈的问题来自 PaddleScience 官网文档:https://paddlescience-docs.readthedocs.io/zh/latest/ 。
9+
#### 请确认反馈的问题来自 PaddleScience 官网文档:https://paddlescience-docs.readthedocs.io/zh/release-1.2/ 。
1010
11-
#### Before submitting a Documentation Issue, Please make sure that issue is related to https://paddlescience-docs.readthedocs.io/zh/latest/.
11+
#### Before submitting a Documentation Issue, Please make sure that issue is related to https://paddlescience-docs.readthedocs.io/zh/release-1.2/.
1212
1313
- type: textarea
1414
id: link

.github/ISSUE_TEMPLATE/5_ask-a-question.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ body:
1010
1111
- 1)已经百度/谷歌搜索过你的问题,但是没有找到解答;
1212
13-
- 2)已经在官网查询过 [API文档](https://paddlescience-docs.readthedocs.io/zh/latest/zh/api/arch/),但是没有找到解答;
13+
- 2)已经在官网查询过 [API文档](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/api/arch/),但是没有找到解答;
1414
1515
- 3)已经在[历史issue](https://github.com/PaddlePaddle/PaddleScience/issues)中搜索过,没有找到同类issue或issue未被解答。
1616
@@ -19,7 +19,7 @@ body:
1919
2020
- 1) You have searched your question on Baidu/Google, but found no answer;
2121
22-
- 2) You have checked the [API documentation](https://paddlescience-docs.readthedocs.io/zh/latest/zh/api/arch/), but found no answer;
22+
- 2) You have checked the [API documentation](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/api/arch/), but found no answer;
2323
2424
- 3) You have searched [the existing and past issues](https://github.com/PaddlePaddle/PaddleScience/issues), but found no similar issue or the issue has not been answered.
2525

README.md

Lines changed: 32 additions & 32 deletions
Large diffs are not rendered by default.

docs/zh/examples/aneurysm.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ tar -xvf aneurysm_dataset.tar
101101

102102
???+ warning "注意"
103103

104-
**使用 `Mesh` 类之前,必须先按照[安装使用](https://paddlescience-docs.readthedocs.io/zh/latest/zh/install_setup/#143-pip)文档,安装好 open3d、pysdf、PyMesh 3 个几何依赖包。**
104+
**使用 `Mesh` 类之前,必须先按照[安装使用](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/install_setup/#143-pip)文档,安装好 open3d、pysdf、PyMesh 3 个几何依赖包。**
105105

106106
然后通过 PaddleScience 内置的 STL 几何类 `Mesh` 来读取、解析这些几何文件,并且通过布尔运算,组合出各个计算域,代码如下:
107107

docs/zh/examples/bracket.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ tar -xvf bracket_dataset.tar
123123

124124
???+ warning "注意"
125125

126-
**使用 `Mesh` 类之前,必须先按照[1.4.3 额外依赖安装[可选]](https://paddlescience-docs.readthedocs.io/zh/latest/zh/install_setup/#143)文档,安装好 open3d、pysdf、PyMesh 3 个几何依赖包。**
126+
**使用 `Mesh` 类之前,必须先按照[1.4.3 额外依赖安装[可选]](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/install_setup/#143)文档,安装好 open3d、pysdf、PyMesh 3 个几何依赖包。**
127127

128128
然后通过 PaddleScience 内置的 STL 几何类 `Mesh` 来读取、解析这些几何文件,并且通过布尔运算,组合出各个计算域,代码如下:
129129

docs/zh/reproduction.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
**PaddleScience**
1616

17-
基于飞桨的 AI4S 套件,提供面向 AI4S 领域通用功能,如复杂几何形状解析、通用微分方程、数据驱动/物理机理/数理融合等求解器,方便开发 AI4S 领域相关模型,具体参考 [PaddleScience 文档](https://paddlescience-docs.readthedocs.io/zh/latest/)
17+
基于飞桨的 AI4S 套件,提供面向 AI4S 领域通用功能,如复杂几何形状解析、通用微分方程、数据驱动/物理机理/数理融合等求解器,方便开发 AI4S 领域相关模型,具体参考 [PaddleScience 文档](https://paddlescience-docs.readthedocs.io/zh/release-1.2/)
1818

1919
**飞桨PaddlePaddle**
2020

@@ -194,4 +194,4 @@ PaddleScience 官网文档需满足:
194194
* 如果模型依赖 PaddlePaddle 未涵盖的依赖(如 pandas),则需要在文档开头对说明需安装哪些依赖项。
195195
* 随机控制,需要尽量固定含有随机因素模块的随机种子,保证模型可以正常复现(PaddleScience 套件提供了 `ppsci.utils.misc.set_random_seed(seed_num)` 语句来控制全局随机数)。
196196
* 超参数:模型内部超参数禁止写死,尽量都可以通过配置文件进行配置。
197-
* 文档末尾附上参考论文、参考代码网址、复现训练好的模型参数下载链接。 整体文档撰写可以参考:[文档参考样例(darcy2d)](https://paddlescience-docs.readthedocs.io/zh/latest/zh/examples/darcy2d/)。
197+
* 文档末尾附上参考论文、参考代码网址、复现训练好的模型参数下载链接。 整体文档撰写可以参考:[文档参考样例(darcy2d)](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/examples/darcy2d/)。

jointContribution/PINO/rfcs/PINO.md

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,49 @@
11
# OSPP2023--飞桨PaddleScience-PDE方程求解模型开发设计文档
2+
23
| API名称 | 新增API名称 |
34
| --- | --- |
45
| 提交作者 | zlynna |
56
| 提交时间 | 2023-10-12 |
67
| 版本号 | V1.0 |
78
| 依赖CINN版本 | PaddlePaddle2.5.0 |
89
| 文件名 | PINO.md |
10+
911
# 1. 概述
12+
1013
## 1.1 相关背景
14+
1115
在参考论文中提出了物理信息神经算子(PINO),它利用数据和/或物理约束来学习一组参数化偏微分方程(PDE)的解算子。这种混合方法使PINO能够克服纯粹基于数据和基于物理的方法的限制。例如,基于数据的方法在数据数量和/或质量有限时无法学习,而基于物理的方法无法优化具有挑战性的PDE约束。通过结合数据和PDE约束,PINO克服了所有这些挑战。此外,PINO相对于其他混合学习方法享有的一个独特特性是它能够在不同分辨率下合并数据和PDE约束。这使我们能够将来自数值求解器的低分辨率数据与更高分辨率的PDE约束相结合,而得到的PINO即使在高分辨率的测试实例上也不会失去准确性。PINO的这种离散不变性属性是由神经算子框架引起的,该框架学习了函数空间之间的映射,而无需重新训练即可在不同分辨率下进行评估。此外,PINO在纯粹的物理环境中也取得了成功,即没有可用的数据,而其他方法,如基于物理的神经网络(PINN),由于优化挑战而失败,例如在多尺度动态系统中。这是因为PINO通过在多个实例上优化PDE约束来学习解算子,而PINN则通过优化单个PDE实例的PDE约束。此外,在PINO中,我们还整合了傅立叶神经算子(FNO)架构,它在数值求解器上实现了数量级的加速,并且还能够高效地计算函数空间上的显式梯度。
16+
1217
## 1.2 功能目标
18+
1319
本任务中,作者依据文章[Physics-informed neural operator for learning partial differential equations](https://arxiv.org/abs/2111.03794),完成以下任务:
20+
1421
- 根据论文代码,基于PaddlePaddle复现论文中相关结果,并与参考结果进行比较。
22+
1523
## 1.3 意义
24+
1625
基于PaddlePaddle实现Physics informed neural operator (PINO),拓展PaddlePaddle科学计算模型。
26+
1727
# 2. 飞桨现状
28+
1829
PaddlePaddle目前无相关模型实现。
30+
1931
# 3. 业内方案调研
32+
2033
## 3.1 解决的问题
34+
2135
本项目基于嵌入物理信息的神经算子求解偏微分方程,方程主要以以下形式出现:
2236
$$
2337
P(u,a)=0,\: in \ D \in \mathbf \R^d \\
2438
u=g, \: in \ \partial D
2539
$$
2640

2741
## 3.2 解决的方法
42+
2843
参考模型结构如下:
2944
![模型结构](figs/fig2.png)
3045
首先构建傅里叶卷积层:
46+
3147
```python
3248
class FactorizedSpectralConv(nn.Layer):
3349
def __init__(
@@ -49,20 +65,24 @@ class FactorizedSpectralConv(nn.Layer):
4965
):
5066
...
5167
```
68+
5269
对于二维问题来说,构建模型FNO2D:
70+
5371
```python
5472
class FNO2d(nn.Layer):
5573
def __init__(self, modes1, modes2,
5674
width=64, fc_dim=128,
5775
layers=None,
5876
in_dim=3, out_dim=1,
59-
act='gelu',
77+
act='gelu',
6078
pad_ratio=[0., 0.]):
6179
super(FNO2d, self).__init__()
6280

6381
...
6482
```
83+
6584
对于物理信息嵌入部分,以burgers方程为例:
85+
6686
```python
6787
def FDM_Burgers(u, v, D=1):
6888
batchsize = u.shape[0]
@@ -88,15 +108,23 @@ def FDM_Burgers(u, v, D=1):
88108
```
89109

90110
## 3.3 复现目标
111+
91112
![result1](figs/fig1.png)
113+
92114
## 3.4 可能存在的难点
115+
93116
- PaddlePaddle中已有相关Fourier Neural Operator (FNO)实现,使得模型复现过程较为简单。
117+
94118
# 4. 设计思路与实现方案
95-
参考参考[PaddleScience复现指南](https://paddlescience-docs.readthedocs.io/zh/latest/zh/reproduction/#2),复现步骤如图所示:
96119

97-
![复现步骤](https://paddlescience-docs.readthedocs.io/zh/latest/images/overview/reproduction_process.png)
120+
参考参考[PaddleScience复现指南](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/reproduction/#2),复现步骤如图所示:
121+
122+
![复现步骤](https://paddlescience-docs.readthedocs.io/zh/release-1.2/images/overview/reproduction_process.png)
123+
98124
## 4.1 基于PaddlePaddle复现
125+
99126
根据**参考文献:Physics informed neural operator**,基于Paddle API实现该模型的设计思路与实现步骤如下:
127+
100128
1. 导入依赖
101129
2. 导入数据
102130
3. 构造网络模型
@@ -106,15 +134,16 @@ def FDM_Burgers(u, v, D=1):
106134
8. 实现PINO,进行对比分析
107135
9. 计算误差
108136

109-
110137
完整复现代码见:
111138
[PINO](https://aistudio.baidu.com/projectdetail/6625305)
112139

113140
# 5. 测试和验收的考量
114-
测试与验收参考[PaddleScience模型复现流程及验收标准](https://paddlescience-docs.readthedocs.io/zh/latest/zh/reproduction/)
141+
142+
测试与验收参考[PaddleScience模型复现流程及验收标准](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/reproduction/)
115143

116144
1. 提供完整的基于Paddle API的复现方法
117145
2. 方程求解精度与论文对齐
146+
118147
# 6. 可行性分析和排期规划
119148

120149
## 6.1 可行性分析
@@ -127,4 +156,4 @@ def FDM_Burgers(u, v, D=1):
127156

128157
- 202308 : 调研
129158
- 202309 :基于Paddle API的复现
130-
- 202310 :整理项目产出,撰写案例文档
159+
- 202310 :整理项目产出,撰写案例文档

jointContribution/graphGalerkin/rfcs/graphGalerkin.md

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,79 @@
11
# OSPP2023--飞桨PaddleScience-PDE方程求解模型开发设计文档
2+
23
| API名称 | 新增API名称 |
34
| --- | --- |
45
| 提交作者 | zlynna |
56
| 提交时间 | 2023-10-12 |
67
| 版本号 | V1.0 |
78
| 依赖CINN版本 | PaddlePaddle2.5.0 |
89
| 文件名 | graphGalerin.md |
10+
911
# 1. 概述
12+
1013
## 1.1 相关背景
14+
1115
尽管物理信息神经网络 (PINNs) 在解决正向和反向问题方面具有巨大的潜力,但存在一些技术挑战,阻碍了其在更复杂和现实应用中的应用。首先,大多数现有的PINNs基于点对点的表达方式,使用全连接网络来学习连续函数,但这种方法在可扩展性和硬边界实施方面存在问题。其次,无限的搜索空间使网络训练的非凸优化变得过于复杂。第三,尽管基于卷积神经网络 (CNN) 的离散学习可以显著提高训练效率,但 CNN 难以处理不规则几何形状和无结构网格。
1216

1317
为了妥善解决这些问题,文章提出了一种基于图卷积网络(GCN)和PDE的变分结构的新型离散PINN框架,以统一的方式解决正向和反向偏微分方程(PDE)。使用分段多项式基可以减小搜索空间的维度,有助于训练和收敛。在不需要调整经典PINNs中的损失函数的情况下,所提出的方法可以严格强制边界条件,并在正向和反向设置中加入稀疏数据。GCN的灵活性用于处理不规则的几何形状和无结构的网格。所提出的方法的有效性和优点在各种由线性和非线性PDEs管理的正向和反向计算力学问题上得到了证明。
18+
1419
## 1.2 功能目标
20+
1521
本任务中,作者依据文章[Physics-informed graph neural Galerkin networks: A unified framework for solving PDE-governed forward and inverse problems](https://www.sciencedirect.com/science/article/pii/S0045782521007076),完成以下任务:
22+
1623
- 根据论文代码,基于PaddlePaddle复现论文中相关结果,并与参考结果进行比较。
24+
1725
## 1.3 意义
26+
1827
基于PaddlePaddle实现物理信息嵌入的图神经网络(GNN)求解偏微分方程(PDE),拓展PaddlePaddle科学计算模型。
28+
1929
# 2. 飞桨现状
30+
2031
PaddlePaddle目前无相关模型实现。
32+
2133
# 3. 业内方案调研
34+
2235
## 3.1 解决的问题
36+
2337
本项目基于嵌入物理信息的图神经网络求解偏微分方程,方程主要以以下形式出现:
2438
$$
25-
\nabla \cdot F(u, \nabla u; \boldsymbol\mu) = S(u, \nabla u; \boldsymbol\mu) \: in \: \Omega
39+
\nabla \cdot F(u, \nabla u; \boldsymbol\mu) = S(u, \nabla u; \boldsymbol\mu) \: in \: \Omega
2640
$$
2741
边界条件为:
2842
$$
2943
\mathbf\R_u(U_u(\boldsymbol\mu), U_e;\boldsymbol\mu)=0
3044
$$
45+
3146
## 3.2 解决的方法
47+
3248
| 算法 : 基于图卷积网络求解PDE|
3349
| ------|
3450
|输入: 方程参数 $\overline \mu$ , 节点坐标 $\chi$ 和邻接矩阵 A|
3551
|输出: 解函数 $\hat U$|
52+
3653
1. 在积分点上求解基函数 $\Phi$ 以得到 $\Phi(\widetilde x^v)$, $\Phi(\widetilde x^s)$, $\nabla \Phi(\widetilde x^v)$, $\nabla \Phi(\widetilde x^s)$;
3754
2. 计算残差函数 $R(\widetilde U;\mu)$;
3855
3. 应用静力凝聚法;
3956
4. 分割自由度 $\hat U(\Theta)=(\hat U_u(\Theta)^T,\hat {U_e}^T)^T$ 并对关键条件实施强约束, $\hat U_e=U_e$, 并构建物理信息嵌入的损失函数;
4057
5. 求解该优化问题得到解函数 $\hat U=(\hat U_u(\Theta^*)^T,{U^T}_e)^T$;
58+
4159
## 3.3 复现目标
60+
4261
![result1](https://github.com/zlynna/PaddleScience/blob/develop/jointContribution/graphGalerkin/rfcs/figs/fig1.png)
62+
4363
## 3.4 可能存在的难点
64+
4465
- PaddlePaddle中没有torch_geomitric中有关Chebconv图卷积层的相关API实现
66+
4567
# 4. 设计思路与实现方案
46-
参考参考[PaddleScience复现指南](https://paddlescience-docs.readthedocs.io/zh/latest/zh/reproduction/#2),复现步骤如图所示:
4768

48-
![复现步骤](https://paddlescience-docs.readthedocs.io/zh/latest/images/overview/reproduction_process.png)
69+
参考参考[PaddleScience复现指南](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/reproduction/#2),复现步骤如图所示:
70+
71+
![复现步骤](https://paddlescience-docs.readthedocs.io/zh/release-1.2/images/overview/reproduction_process.png)
72+
4973
## 4.1 基于PaddlePaddle复现
74+
5075
根据**参考文献:graphGalerkin**,基于Paddle API实现该模型的设计思路与实现步骤如下:
76+
5177
1. 导入依赖
5278
2. 生成数据
5379
3. 构造网络模型
@@ -57,15 +83,16 @@ $$
5783
8. 实现graphGalerkin,进行对比分析
5884
9. 绘制结果
5985

60-
6186
完整复现代码见:
6287
[graphGalerkin](https://aistudio.baidu.com/projectdetail/6625305)
6388

6489
# 5. 测试和验收的考量
65-
测试与验收参考[PaddleScience模型复现流程及验收标准](https://paddlescience-docs.readthedocs.io/zh/latest/zh/reproduction/)
90+
91+
测试与验收参考[PaddleScience模型复现流程及验收标准](https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/reproduction/)
6692

6793
1. 提供完整的基于Paddle API的复现方法
6894
2. 方程求解精度与论文对齐
95+
6996
# 6. 可行性分析和排期规划
7097

7198
## 6.1 可行性分析
@@ -78,4 +105,4 @@ $$
78105

79106
- 202307 : 调研
80107
- 202308 :基于Paddle API的复现
81-
- 202309 :整理项目产出,撰写案例文档
108+
- 202309 :整理项目产出,撰写案例文档

ppsci/utils/checker.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,17 +129,17 @@ def run_check_mesh() -> None:
129129
if importlib.util.find_spec("open3d") is None:
130130
raise ModuleNotFoundError(
131131
"Please install open3d first as "
132-
"https://paddlescience-docs.readthedocs.io/zh/latest/zh/install_setup/#143-pip"
132+
"https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/install_setup/#143-pip"
133133
)
134134
if importlib.util.find_spec("pysdf") is None:
135135
raise ModuleNotFoundError(
136136
"Please install pysdf first as "
137-
"https://paddlescience-docs.readthedocs.io/zh/latest/zh/install_setup/#143-pip"
137+
"https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/install_setup/#143-pip"
138138
)
139139
if importlib.util.find_spec("pymesh") is None:
140140
raise ModuleNotFoundError(
141141
"Please install pymesh first as "
142-
"https://paddlescience-docs.readthedocs.io/zh/latest/zh/install_setup/#143-pip"
142+
"https://paddlescience-docs.readthedocs.io/zh/release-1.2/zh/install_setup/#143-pip"
143143
)
144144

145145
import numpy as np

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "paddlesci"
7-
version = "1.0.0"
7+
version = "1.2.0"
88
description = "A library for scientific machine learning"
99
readme = "README.md"
1010
license = {text = "Apache-2.0"}
@@ -59,7 +59,7 @@ dependencies = [
5959
Homepage = "https://github.com/PaddlePaddle/PaddleScience"
6060
"Bug Tracker" = "https://github.com/PaddlePaddle/PaddleScience/issues"
6161
Changelog = "https://github.com/PaddlePaddle/PaddleScience/releases"
62-
Documentation = "https://paddlescience-docs.readthedocs.io/zh/latest/"
62+
Documentation = "https://paddlescience-docs.readthedocs.io/zh/release-1.2/"
6363

6464
[tool.setuptools.packages.find]
6565
where = ["."]

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ def get_requirements() -> list:
2222
if __name__ == "__main__":
2323
setuptools.setup(
2424
name="paddlesci",
25-
version="1.0.0",
25+
version="1.2.0",
2626
author="PaddlePaddle",
2727
url="https://github.com/PaddlePaddle/PaddleScience",
2828
description=(

0 commit comments

Comments
 (0)