33
33
PaddleScience 是一个基于深度学习框架 PaddlePaddle 开发的科学计算套件,利用深度神经网络的学习能力和 PaddlePaddle 框架的自动(高阶)微分机制,解决物理、化学、气象等领域的问题。支持物理机理驱动、数据驱动、数理融合三种求解方式,并提供了基础 API 和详尽文档供用户使用与二次开发。
34
34
<!-- --8<-- [end:description] -->
35
35
36
+ <!-- --8<-- [start:feature] -->
37
+ ## ✨特性
38
+
39
+ - 支持 ** [ 实验源码跟踪] ( https://paddlescience-docs.readthedocs.io/zh-cn/latest/zh/user_guide/#112 ) ,[ 一键启动并行实验] ( https://paddlescience-docs.readthedocs.io/zh-cn/latest/zh/user_guide/#114 ) ** ,提高科研效率。
40
+ - 支持简单几何和复杂 STL 几何的采样与布尔运算。
41
+ - 支持包括 Dirichlet、Neumann、Robin 以及自定义边界条件。
42
+ - 支持物理机理驱动、数据驱动、数理融合三种问题求解方式。涵盖流体、结构、气象等领域 20+ 案例。
43
+ - 支持结果可视化输出与日志结构化保存。
44
+ - 完善的 type hints,用户使用和代码贡献全流程文档,经典案例 AI studio 快速体验,降低使用门槛,提高开发效率。
45
+ - 支持基于 sympy 符号计算库的方程表示与联立方程组计算。
46
+ - 更多特性正在开发中...
47
+ <!-- --8<-- [end:feature] -->
48
+
36
49
## 📝案例列表
37
50
38
- <p align =" center " ><b >数学(AI for Math)</b ></p >
51
+ <details >
52
+ <summary ><b >数学</b ></summary >
39
53
40
54
| 问题类型 | 案例名称 | 优化算法 | 模型类型 | 训练方式 | 数据集 | 参考资料 |
41
55
| -----| ---------| -----| ---------| ----| ---------| ---------|
@@ -56,9 +70,10 @@ PaddleScience 是一个基于深度学习框架 PaddlePaddle 开发的科学计
56
70
| 布鲁塞尔扩散系统 | [ 3D-Brusselator] ( https://paddlescience-docs.readthedocs.io/zh-cn/latest/zh/examples/brusselator3d ) | 数据驱动 | LNO | 监督学习 | - | [ Paper] ( https://arxiv.org/abs/2303.10528 ) |
57
71
| 符号回归 | [ Transformer4SR] ( https://paddlescience-docs.readthedocs.io/zh-cn/latest/zh/examples/transformer4sr.md ) | 数据驱动 | Transformer | 监督学习 | - | [ Paper] ( https://arxiv.org/abs/2312.04070 ) |
58
72
| 算子学习 | [ 隐空间神经算子LNO] ( https://github.com/L-I-M-I-T/LatentNeuralOperator ) | 数据驱动 | Transformer | 监督学习 | - | [ Paper] ( https://arxiv.org/abs/2406.03923 ) |
73
+ </details >
59
74
60
- <br >
61
- <p align = " center " ><b >技术科学(AI for Technology) </b ></p >
75
+ <details >
76
+ <summary ><b >技术科学</b ></summary >
62
77
63
78
| 问题类型 | 案例名称 | 优化算法 | 模型类型 | 训练方式 | 数据集 | 参考资料 |
64
79
| -----| ---------| -----| ---------| ----| ---------| ---------|
@@ -98,9 +113,10 @@ PaddleScience 是一个基于深度学习框架 PaddlePaddle 开发的科学计
98
113
| 热仿真 | [ 1D 换热器热仿真] ( https://paddlescience-docs.readthedocs.io/zh-cn/latest/zh/examples/heat_exchanger ) | 机理驱动 | PI-DeepONet | 无监督学习 | - | - |
99
114
| 热仿真 | [ 2D 热仿真] ( https://paddlescience-docs.readthedocs.io/zh-cn/latest/zh/examples/heat_pinn ) | 机理驱动 | PINN | 无监督学习 | - | [ Paper] ( https://arxiv.org/abs/1711.10561 ) |
100
115
| 热仿真 | [ 2D 芯片热仿真] ( https://paddlescience-docs.readthedocs.io/zh-cn/latest/zh/examples/chip_heat ) | 机理驱动 | PI-DeepONet | 无监督学习 | - | [ Paper] ( https://doi.org/10.1063/5.0194245 ) |
116
+ </details >
101
117
102
- <br >
103
- <p align = " center " ><b >材料科学(AI for Material) </b ></p >
118
+ <details >
119
+ <summary ><b >材料科学</b ></summary >
104
120
105
121
| 问题类型 | 案例名称 | 优化算法 | 模型类型 | 训练方式 | 数据集 | 参考资料 |
106
122
| -----| ---------| -----| ---------| ----| ---------| ---------|
@@ -109,9 +125,10 @@ PaddleScience 是一个基于深度学习框架 PaddlePaddle 开发的科学计
109
125
| 分子生成 | [ MoFlow] ( https://paddlescience-docs.readthedocs.io/zh-cn/latest/zh/examples/moflow/ ) | 数据驱动 | Flow Model | 监督学习 | [ qm9/ zink250k] ( https://aistudio.baidu.com/datasetdetail/282687 ) | [ Paper] ( https://arxiv.org/abs/2006.10137v1 ) |
110
126
| 分子属性预测 | [ IFM] ( https://paddlescience-docs.readthedocs.io/zh-cn/latest/zh/examples/ifm/ ) | 数据驱动 | MLP | 监督学习 | [ tox21/sider/hiv/bace/bbbp] ( https://paddlescience-docs.readthedocs.io/zh-cn/latest/zh/examples/ifm/#:~:text=molecules%20%E6%95%B0%E6%8D%AE%E9%9B%86-,dataset.zip,-%EF%BC%8C%E6%88%96Google%20Drive ) | [ Paper] ( https://openreview.net/pdf?id=NLFqlDeuzt ) |
111
127
| 二维材料生成与数据库 | [ ML2DDB] ( ./en/examples/ml2ddb.md ) | 数据驱动 | GNN/Diffusion | 监督学习 | Coming Soon | [ Paper] ( https://arxiv.org/pdf/2507.00584 ) |
128
+ </details >
112
129
113
- <br >
114
- <p align = " center " ><b >地球科学(AI for Earth Science) </b ></p >
130
+ <details >
131
+ <summary ><b >地球科学</b ></summary >
115
132
116
133
| 问题类型 | 案例名称 | 优化算法 | 模型类型 | 训练方式 | 数据集 | 参考资料 |
117
134
| -----| ---------| -----| ---------| ----| ---------| ---------|
@@ -129,10 +146,14 @@ PaddleScience 是一个基于深度学习框架 PaddlePaddle 开发的科学计
129
146
| 地震波形反演 | [ VelocityGAN 地震波形反演] ( https://paddlescience-docs.readthedocs.io/zh-cn/latest/zh/examples/velocity_gan.md ) | 数据驱动 | VelocityGAN | 监督学习 | [ OpenFWI] ( https://openfwi-lanl.github.io/docs/data.html#vel ) | [ Paper] ( https://arxiv.org/abs/1809.10262v6 ) |
130
147
| 交通预测 | [ TGCN 交通流量预测] ( https://paddlescience-docs.readthedocs.io/zh-cn/latest/zh/examples/tgcn.md ) | 数据驱动 | GCN & CNN | 监督学习 | [ PEMSD4 & PEMSD8] ( https://paddle-org.bj.bcebos.com/paddlescience/datasets/tgcn/tgcn_data.zip ) | - |
131
148
| 生成模型| [ 图像生成中的梯度惩罚应用] ( ./zh/examples/wgan_gp.md ) | 数据驱动| WGAN GP| 监督学习| [ Data1] ( https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz ) <br >[ Data2] ( http://www.iro.umontreal.ca/~lisa/deep/data/mnist/mnist.pkl.gz ) | [ Paper] ( https://github.com/igul222/improved_wgan_training ) |
149
+ </details >
132
150
133
- <!-- --8<-- [start:update] -->
134
151
## 🕘最近更新
135
152
153
+ <details >
154
+ <summary ><b >点击展开</b ></summary >
155
+
156
+ <!-- --8<-- [start:update] -->
136
157
- [ 沐曦MetaX] ( https://www.metax-tech.com/ ) 和 [ 太初元碁Tecorigin] ( http://www.tecorigin.com/cn/index.html ) 完成与 PaddleScience 的第一阶段适配工作,详见:[ 多硬件支持] ( https://paddlescience-docs.readthedocs.io/zh-cn/latest/zh/multi_device/ ) 。
137
158
- 基于 PaddleScience 的 ADR 方程求解方法 [ Physics-informed neural networks for advection–diffusion–Langmuir adsorption processes] ( https://doi.org/10.1063/5.0221924 ) 被 Physics of Fluids 2024 接受。
138
159
- 添加 [ IJCAI 2024: 任意三维几何外形车辆的风阻快速预测竞赛] ( https://competition.atomgit.com/competitionInfo?id=7f3f276465e9e845fd3a811d2d6925b5 ) ,track A, B, C 的 paddle/pytorch 代码链接。
@@ -147,19 +168,7 @@ PaddleScience 是一个基于深度学习框架 PaddlePaddle 开发的科学计
147
168
- ` Geometry ` 模块和 ` InteriorConstraint ` 、` InitialConstraint ` 支持计算 SDF 微分功能([ #539 ] ( https://github.com/PaddlePaddle/PaddleScience/pull/539 ) )。
148
169
- 添加 ** M** ulti** T** ask** L** earning(` ppsci.loss.mtl ` ) 多任务学习模块,针对多任务优化(如 PINN 方法)进一步提升性能,使用方式:[ 多任务学习指南] ( https://paddlescience-docs.readthedocs.io/zh-cn/latest/zh/user_guide/#24 ) ([ #493 ] ( https://github.com/PaddlePaddle/PaddleScience/pull/505 ) 、[ #492 ] ( https://github.com/PaddlePaddle/PaddleScience/pull/505 ) )。
149
170
<!-- --8<-- [end:update] -->
150
-
151
- <!-- --8<-- [start:feature] -->
152
- ## ✨特性
153
-
154
- - 支持 ** [ 实验源码跟踪] ( https://paddlescience-docs.readthedocs.io/zh-cn/latest/zh/user_guide/#112 ) ,[ 一键启动并行实验] ( https://paddlescience-docs.readthedocs.io/zh-cn/latest/zh/user_guide/#114 ) ** ,提高科研效率。
155
- - 支持简单几何和复杂 STL 几何的采样与布尔运算。
156
- - 支持包括 Dirichlet、Neumann、Robin 以及自定义边界条件。
157
- - 支持物理机理驱动、数据驱动、数理融合三种问题求解方式。涵盖流体、结构、气象等领域 20+ 案例。
158
- - 支持结果可视化输出与日志结构化保存。
159
- - 完善的 type hints,用户使用和代码贡献全流程文档,经典案例 AI studio 快速体验,降低使用门槛,提高开发效率。
160
- - 支持基于 sympy 符号计算库的方程表示与联立方程组计算。
161
- - 更多特性正在开发中...
162
- <!-- --8<-- [end:feature] -->
171
+ </details >
163
172
164
173
## 🚀安装使用
165
174
@@ -183,23 +192,26 @@ python -c "import paddle; paddle.utils.run_check()"
183
192
184
193
** 从以下四种安装方式中,任选一种均可安装。**
185
194
186
- - git 源码安装[ ** 推荐** ]
195
+ - <details open >
196
+ <summary >git 源码安装<strong >[推荐]</strong ></summary >
187
197
188
- 执行以下命令,从 github 上 clone PaddleScience 源代码,并以 editable 的方式安装 PaddleScience。
189
- <!-- --8<-- [start:git_install] -->
190
- ``` shell
191
- git clone -b develop https://github.com/PaddlePaddle/PaddleScience.git
192
- # 若 github clone 速度比较慢,可以使用 gitee clone
193
- # git clone -b develop https://gitee.com/paddlepaddle/PaddleScience.git
198
+ 执行以下命令,从 github 上 clone PaddleScience 源代码,并以 editable 的方式安装 PaddleScience。
199
+ <!-- --8<-- [start:git_install] -->
200
+ ``` shell
201
+ git clone -b develop https://github.com/PaddlePaddle/PaddleScience.git
202
+ # 若 github clone 速度比较慢,可以使用 gitee clone
203
+ # git clone -b develop https://gitee.com/paddlepaddle/PaddleScience.git
194
204
195
- cd PaddleScience
205
+ cd PaddleScience
196
206
197
- # install paddlesci with editable mode
198
- python -m pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple
199
- ```
207
+ # install paddlesci with editable mode
208
+ python -m pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple
209
+ ```
200
210
< ! -- --8< -- [end:git_install] -->
211
+ < /details>
201
212
202
- - pip 安装
213
+ - < details>
214
+ < summary> pip 安装< /summary>
203
215
204
216
执行以下命令以 pip 的方式安装 release / nightly build 版本的 PaddleScience。
205
217
< ! -- --8< -- [start:pip_install] -->
@@ -210,8 +222,10 @@ python -c "import paddle; paddle.utils.run_check()"
210
222
# python -m pip install https://paddle-qa.bj.bcebos.com/PaddleScience/whl/latest/dist/paddlesci-0.0.0-py3-none-any.whl -i https://pypi.tuna.tsinghua.edu.cn/simple
211
223
` ` `
212
224
< ! -- --8< -- [end:pip_install] -->
225
+ < /details>
213
226
214
- - conda 安装
227
+ - < details>
228
+ < summary> conda 安装< /summary>
215
229
216
230
执行以下命令以 conda 的方式安装 release / nightly build 版本的 PaddleScience。
217
231
< ! -- --8< -- [start:conda_install] -->
@@ -222,8 +236,10 @@ python -c "import paddle; paddle.utils.run_check()"
222
236
# conda install paddlescience::paddlescience=1.3.0 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle -c conda-forge
223
237
` ` `
224
238
< ! -- --8< -- [end:conda_install] -->
239
+ < /details>
225
240
226
- - 设置 PYTHONPATH 并手动安装 requirements
241
+ - < details>
242
+ < summary> 设置 PYTHONPATH 并手动安装 requirements< /summary>
227
243
228
244
如果在您的环境中,上述两种方式都无法正常安装,则可以选择本方式,在终端内临时将环境变量 ` PYTHONPATH` 设置为 PaddleScience 的** 绝对路径** ,如下所示。
229
245
@@ -235,6 +251,7 @@ python -c "import paddle; paddle.utils.run_check()"
235
251
` ` `
236
252
237
253
注:上述方式的优点是步骤简单无需安装,缺点是当环境变量生效的终端被关闭后,需要重新执行上述命令设置 ` PYTHONPATH` 才能再次使用 PaddleScience,较为繁琐。
254
+ < /details>
238
255
239
256
2. 验证安装
240
257
@@ -290,10 +307,6 @@ PaddleScience 项目欢迎并依赖开发人员和开源社区中的用户,会
290
307
291
308
> 在开源活动中如需使用 PaddleScience 进行开发,可参考 [** PaddleScience 开发与贡献指南** ](https://paddlescience-docs.readthedocs.io/zh-cn/latest/zh/development/) 以提升开发效率和质量。
292
309
293
- - 🔥第七期黑客松
294
-
295
- 面向全球开发者的深度学习领域编程活动,鼓励开发者了解与参与飞桨深度学习开源项目。活动进行中:[PaddlePaddle Hackathon 7th 开源贡献个人挑战赛](https://github.com/PaddlePaddle/Paddle/issues/67603)
296
-
297
310
- 🎁快乐开源
298
311
299
312
旨在鼓励更多的开发者参与到飞桨科学计算社区的开源建设中,帮助社区修复 bug 或贡献 feature,加入开源、共建飞桨。了解编程基本知识的入门用户即可参与,活动进行中:
0 commit comments