Skip to content

Commit 83f6739

Browse files
authored
Modify the document of heat_pinn (#1001)
1 parent 820d794 commit 83f6739

File tree

1 file changed

+20
-26
lines changed

1 file changed

+20
-26
lines changed

docs/zh/examples/heat_pinn.md

+20-26
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,9 @@ $$
7373

7474
上式中 $f$ 即为 MLP 模型本身,用 PaddleScience 代码表示如下
7575

76-
``` py linenums="34"
76+
``` py linenums="102"
7777
--8<--
78-
examples/heat_pinn/heat_pinn.py:34:35
78+
examples/heat_pinn/heat_pinn.py:102:103
7979
--8<--
8080
```
8181

@@ -87,9 +87,9 @@ examples/heat_pinn/heat_pinn.py:34:35
8787

8888
由于二维热传导方程使用的是 Laplace 方程的 2 维形式,因此可以直接使用 PaddleScience 内置的 `Laplace`,指定该类的参数 `dim` 为 2。
8989

90-
``` py linenums="37"
90+
``` py linenums="105"
9191
--8<--
92-
examples/heat_pinn/heat_pinn.py:37:38
92+
examples/heat_pinn/heat_pinn.py:105:106
9393
--8<--
9494
```
9595

@@ -98,9 +98,9 @@ examples/heat_pinn/heat_pinn.py:37:38
9898
本文中二维热传导问题作用在以 (-1.0, -1.0), (1.0, 1.0) 为对角线的二维矩形区域,
9999
因此可以直接使用 PaddleScience 内置的空间几何 `Rectangle` 作为计算域。
100100

101-
``` py linenums="40"
101+
``` py linenums="108"
102102
--8<--
103-
examples/heat_pinn/heat_pinn.py:40:41
103+
examples/heat_pinn/heat_pinn.py:108:109
104104
--8<--
105105
```
106106

@@ -110,19 +110,19 @@ examples/heat_pinn/heat_pinn.py:40:41
110110

111111
在定义约束之前,需要给每一种约束指定采样点个数,表示每一种约束在其对应计算域内采样数据的数量,以及通用的采样配置。
112112

113-
``` py linenums="49"
113+
``` py linenums="117"
114114
--8<--
115-
examples/heat_pinn/heat_pinn.py:49:54
115+
examples/heat_pinn/heat_pinn.py:117:122
116116
--8<--
117117
```
118118

119119
#### 3.4.1 内部点约束
120120

121121
以作用在内部点上的 `InteriorConstraint` 为例,代码如下:
122122

123-
``` py linenums="55"
123+
``` py linenums="123"
124124
--8<--
125-
examples/heat_pinn/heat_pinn.py:55:63
125+
examples/heat_pinn/heat_pinn.py:123:131
126126
--8<--
127127
```
128128

@@ -146,9 +146,9 @@ examples/heat_pinn/heat_pinn.py:55:63
146146

147147
同理,我们还需要构建矩形的四个边界的约束。但与构建 `InteriorConstraint` 约束不同的是,由于作用区域是边界,因此我们使用 `BoundaryConstraint` 类,代码如下:
148148

149-
``` py linenums="64"
149+
``` py linenums="132"
150150
--8<--
151-
examples/heat_pinn/heat_pinn.py:64:103
151+
examples/heat_pinn/heat_pinn.py:132:171
152152
--8<--
153153
```
154154

@@ -160,35 +160,29 @@ examples/heat_pinn/heat_pinn.py:64:103
160160

161161
在微分方程约束和边界约束构建完毕之后,以我们刚才的命名为关键字,封装到一个字典中,方便后续访问。
162162

163-
``` py linenums="104"
163+
``` py linenums="172"
164164
--8<--
165-
examples/heat_pinn/heat_pinn.py:104:111
165+
examples/heat_pinn/heat_pinn.py:172:179
166166
--8<--
167167
```
168168

169169
### 3.5 优化器构建
170170

171171
训练过程会调用优化器来更新模型参数,此处选择较为常用的 `Adam` 优化器,并设置学习率为 0.0005。
172172

173-
``` yaml linenums="36"
173+
``` py linenums="181"
174174
--8<--
175-
examples/heat_pinn/conf/heat_pinn.yaml:36:41
176-
--8<--
177-
```
178-
179-
``` py linenums="113"
180-
--8<--
181-
examples/heat_pinn/heat_pinn.py:113:114
175+
examples/heat_pinn/heat_pinn.py:181:182
182176
--8<--
183177
```
184178

185179
### 3.6 模型训练
186180

187181
完成上述设置之后,只需要将所有上述实例化的对象按顺序传递给 `ppsci.solver.Solver`,然后启动训练。
188182

189-
``` py linenums="116"
183+
``` py linenums="184"
190184
--8<--
191-
examples/heat_pinn/heat_pinn.py:116:133
185+
examples/heat_pinn/heat_pinn.py:184:201
192186
--8<--
193187
```
194188

@@ -197,9 +191,9 @@ examples/heat_pinn/heat_pinn.py:116:133
197191
模型训练完成之后就需要进行与正式 FDM 方法计算出来的结果进行对比,这里我们使用了 `geom["rect"].sample_interior` 采样出测试所需要的坐标数据。
198192
然后,再将采样出来的坐标数据输入到模型中,得到模型的预测结果,最后将预测结果与 FDM 结果进行对比,得到模型的误差。
199193

200-
``` py linenums="135"
194+
``` py linenums="203"
201195
--8<--
202-
examples/heat_pinn/heat_pinn.py:135:209
196+
examples/heat_pinn/heat_pinn.py:203:212
203197
--8<--
204198
```
205199

0 commit comments

Comments
 (0)