Skip to content

PaddleScience is SDK and library for developing AI-driven scientific computing applications based on PaddlePaddle.

License

Notifications You must be signed in to change notification settings

xusJs/PaddleScience

Repository files navigation

PaddleScience

paddlescience_icon

Developed with PaddlePaddle

VersionCondaPython VersionDocCode StyleHydraLicenseUpdate

📘 使用文档 | 🛠️ 安装使用 | 📘 快速开始 | 👀 案例列表 | 🆕 最近更新 | 🤔 问题反馈

🔥 飞桨AI for Science共创计划2期,免费提供海量算力等资源,欢迎报名。

🔥 飞桨AI for Science前沿讲座系列课程 & 代码入门与实操课程进行中,清华、北大、中科院等高校机构知名学者分享前沿研究成果,火热报名中。

👀简介

PaddleScience 是一个基于深度学习框架 PaddlePaddle 开发的科学计算套件,利用深度神经网络的学习能力和 PaddlePaddle 框架的自动(高阶)微分机制,解决物理、化学、气象等领域的问题。支持物理机理驱动、数据驱动、数理融合三种求解方式,并提供了基础 API 和详尽文档供用户使用与二次开发。

✨特性

  • 支持 实验源码跟踪一键启动并行实验,提高科研效率。
  • 支持简单几何和复杂 STL 几何的采样与布尔运算。
  • 支持包括 Dirichlet、Neumann、Robin 以及自定义边界条件。
  • 支持物理机理驱动、数据驱动、数理融合三种问题求解方式。涵盖流体、结构、气象等领域 20+ 案例。
  • 支持结果可视化输出与日志结构化保存。
  • 完善的 type hints,用户使用和代码贡献全流程文档,经典案例 AI studio 快速体验,降低使用门槛,提高开发效率。
  • 支持基于 sympy 符号计算库的方程表示与联立方程组计算。
  • 更多特性正在开发中...

📝案例列表

数学
问题类型案例名称优化算法模型类型训练方式数据集参考资料
亥姆霍兹方程SPINN(Helmholtz3D)机理驱动SPINN无监督学习-Paper
相场方程Allen-Cahn机理驱动MLP无监督学习DataPaper
微分方程拉普拉斯方程机理驱动MLP无监督学习--
微分方程伯格斯方程机理驱动MLP无监督学习DataPaper
微分方程非线性偏微分方程机理驱动PIRBN无监督学习-Paper
微分方程洛伦兹方程数据驱动Transformer-Physx监督学习DataPaper
微分方程若斯叻方程数据驱动Transformer-Physx监督学习DataPaper
算子学习DeepONet数据驱动MLP监督学习DataPaper
微分方程梯度增强的物理知识融合 PDE 求解机理驱动gPINN无监督学习-Paper
积分方程沃尔泰拉积分方程机理驱动MLP无监督学习-Project
微分方程分数阶微分方程机理驱动MLP无监督学习--
光孤子Optical soliton机理驱动MLP无监督学习-Paper
光纤怪波Optical rogue wave机理驱动MLP无监督学习-Paper
域分解XPINN机理驱动MLP无监督学习-Paper
布鲁塞尔扩散系统3D-Brusselator数据驱动LNO监督学习-Paper
符号回归Transformer4SR数据驱动Transformer监督学习-Paper
算子学习隐空间神经算子LNO数据驱动Transformer监督学习-Paper
技术科学
问题类型案例名称优化算法模型类型训练方式数据集参考资料
汽车表面阻力预测DrivAerNet数据驱动RegDGCNN监督学习DataPaper
一维线性对流问题1D 线性对流数据驱动ViT监督学习DataPaper
非定常不可压流体2D 方腔浮力驱动流数据驱动ViT监督学习DataPaper
定常不可压流体Re3200 2D 定常方腔流机理驱动MLP无监督学习-
定常不可压流体2D 达西流机理驱动MLP无监督学习-
定常不可压流体2D 管道流机理驱动MLP无监督学习-Paper
定常不可压流体3D 颅内动脉瘤机理驱动MLP无监督学习DataProject
定常不可压流体任意 2D 几何体绕流数据驱动DeepCFD监督学习-Paper
非定常不可压流体2D 非定常方腔流机理驱动MLP无监督学习--
非定常不可压流体Re100 2D 圆柱绕流机理驱动MLP半监督学习DataPaper
非定常不可压流体Re100~750 2D 圆柱绕流数据驱动Transformer-Physx监督学习DataPaper
可压缩流体2D 空气激波机理驱动PINN-WE无监督学习-Paper
飞行器设计MeshGraphNets数据驱动GNN监督学习DataPaper
飞行器设计火箭发动机真空羽流数据驱动CNN监督学习Data-
飞行器设计Deep-Flow-Prediction数据驱动TurbNetG监督学习DataPaper
通用流场模拟气动外形设计数据驱动AMGNet监督学习DataPaper
流固耦合涡激振动机理驱动MLP半监督学习DataPaper
多相流气液两相流机理驱动BubbleNet半监督学习DataPaper
多相流twophasePINN机理驱动MLP无监督学习-Paper
流场高分辨率重构2D 湍流流场重构数据驱动tempoGAN监督学习Train Data
Eval Data
Paper
流场高分辨率重构2D 湍流流场重构数据驱动cycleGAN监督学习Train Data
Eval Data
Paper
流场高分辨率重构基于Voronoi嵌入辅助深度学习的稀疏传感器全局场重建数据驱动CNN监督学习Data1
Data2
Data3
Paper
流场预测Catheter数据驱动FNO监督学习DataPaper
求解器耦合CFD-GCN数据驱动GCN监督学习Data
Mesh
Paper
受力分析1D 欧拉梁变形机理驱动MLP无监督学习--
受力分析2D 平板变形机理驱动MLP无监督学习-Paper
受力分析3D 连接件变形机理驱动MLP无监督学习DataTutorial
受力分析结构震动模拟机理驱动PhyLSTM监督学习DataPaper
受力分析2D 弹塑性结构机理驱动EPNN无监督学习Train Data
Eval Data
Paper
受力分析和逆问题3D 汽车控制臂变形机理驱动MLP无监督学习--
受力分析和逆问题3D 心脏仿真数理融合PINN监督学习--
拓扑优化2D 拓扑优化数据驱动TopOptNN监督学习DataPaper
拓扑优化2/3D 拓扑优化机理驱动DenseSIRENModel无监督学习-Paper
热仿真1D 换热器热仿真机理驱动PI-DeepONet无监督学习--
热仿真2D 热仿真机理驱动PINN无监督学习-Paper
热仿真2D 芯片热仿真机理驱动PI-DeepONet无监督学习-Paper
材料科学
问题类型案例名称优化算法模型类型训练方式数据集参考资料
材料设计散射板设计(反问题)数理融合数据驱动监督学习Train Data
Eval Data
Paper
晶体材料属性预测CGCNN数据驱动GNN监督学习MP / Perovskite / C2DB / testPaper
分子生成MoFlow数据驱动Flow Model监督学习qm9/ zink250kPaper
分子属性预测IFM数据驱动MLP监督学习tox21/sider/hiv/bace/bbbpPaper
二维材料生成与数据库ML2DDB数据驱动GNN/Diffusion监督学习Coming SoonPaper
地球科学
问题类型案例名称优化算法模型类型训练方式数据集参考资料
天气预报Extformer-MoE 气象预报数据驱动Transformer监督学习enso-
天气预报FourCastNet 气象预报数据驱动AFNO监督学习ERA5Paper
天气预报NowCastNet 气象预报数据驱动GAN监督学习MRMSPaper
天气预报GraphCast 气象预报数据驱动GNN监督学习-Paper
天气预报GenCast 气象预报数据驱动Diffusion+Graph transformer监督学习GencastPaper
天气预报Fuxi 气象预报数据驱动Transformer监督学习-Paper
天气预报FengWu 气象预报数据驱动Transformer监督学习-Paper
天气预报Pangu-Weather 气象预报数据驱动Transformer监督学习-Paper
大气污染物UNet 污染物扩散数据驱动UNet监督学习Data-
大气污染物STAFNet 污染物浓度预测数据驱动STAFNet监督学习DataPaper
天气预报DGMR 气象预报数据驱动GAN监督学习UK datasetPaper
地震波形反演VelocityGAN 地震波形反演数据驱动VelocityGAN监督学习OpenFWIPaper
交通预测TGCN 交通流量预测数据驱动GCN & CNN监督学习PEMSD4 & PEMSD8-
遥感图像分割UNetFormer 遥感图像分割数据驱动UNetFormer监督学习VaihingenPaper
生成模型图像生成中的梯度惩罚应用数据驱动WGAN GP监督学习Data1
Data2
Paper
遥感图像分割UTAE 遥感时序语义/全景分割数据驱动UTAE监督学习PASTISPaper
化学科学
问题类型案例名称优化算法模型类型训练方式数据集参考资料
产率预测Suzuki-Miyaura 交叉偶联反应产率预测数据驱动MLP监督学习data_set.xlsxPaper
分子图生成MoFlow数据驱动WGAN GP监督学习QM9数据集和ZINC数据集Paper
分子特性预测IFM-MLP数据驱动MLP监督学习IFMPaper

🕘最近更新

点击展开

🚀安装使用

安装 PaddlePaddle

请根据您的运行环境,访问 PaddlePaddle 官网,建议安装 PaddlePaddle 3.0 以上稳定版,或最新的 develop 开发版

安装完毕之后,运行以下命令,验证 Paddle 是否安装成功。

python -c "import paddle; paddle.utils.run_check()"

如果出现 PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now. 信息,说明您已成功安装,可以继续安装 PaddleScience。

安装 PaddleScience

  1. 基础功能安装

    从以下四种安装方式中,任选一种均可安装。

    • git 源码安装[推荐]

      执行以下命令,从 github 上 clone PaddleScience 源代码,并以 editable 的方式安装 PaddleScience。

      git clone -b develop https://github.com/PaddlePaddle/PaddleScience.git # 若 github clone 速度比较慢,可以使用 gitee clone# git clone -b develop https://gitee.com/paddlepaddle/PaddleScience.gitcd PaddleScience # install paddlesci with editable mode python -m pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple
    • pip 安装

      执行以下命令以 pip 的方式安装 release / nightly build 版本的 PaddleScience。

      # release python -m pip install -U paddlesci -i https://pypi.tuna.tsinghua.edu.cn/simple # nightly build# 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
    • conda 安装

      执行以下命令以 conda 的方式安装 release / nightly build 版本的 PaddleScience。

      # nightly build conda install paddlescience::paddlesci -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle -c conda-forge # release# conda install paddlescience::paddlescience=1.3.0 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle -c conda-forge
    • 设置 PYTHONPATH 并手动安装 requirements

      如果在您的环境中,上述两种方式都无法正常安装,则可以选择本方式,在终端内临时将环境变量 PYTHONPATH 设置为 PaddleScience 的绝对路径,如下所示。

      cd PaddleScience export PYTHONPATH=$PYTHONPATH:$PWD# for linuxset PYTHONPATH=%cd% # for windows python -m pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple # manually install requirements

      注:上述方式的优点是步骤简单无需安装,缺点是当环境变量生效的终端被关闭后,需要重新执行上述命令设置 PYTHONPATH 才能再次使用 PaddleScience,较为繁琐。

  2. 验证安装

    python-c"import ppsci; ppsci.utils.run_check()"
  3. 开始使用

    importppsci# write your code here...

如需基于复杂几何文件(*.stl, *.mesh, *.obj)文件进行训练、测试等流程,请参考完整安装流程:安装与使用

⚡️快速开始

请参考 快速开始

🎈生态工具

除 PaddleScience 外,Paddle 框架同时支持了科学计算领域相关的研发套件和基础工具:

工具简介支持情况
DeepXDE方程求解套件全量支持
DeepMD-kit分子动力学套件部分支持
Modulus-symAI仿真套件全量支持
NVIDIA/warp基于 Python 的 GPU 高性能仿真和图形库全量支持
tensorly张量运算库全量支持
Open3D三维图形库全量支持
neuraloperator神经算子库全量支持
paddle_scatter张量稀疏聚合库全量支持
paddle_sparse张量稀疏计算库全量支持
paddle_harmonics球面谐波变换库全量支持
deepali图像、点云配准库全量支持
DLPACK(v0.8)跨框架张量内存共享协议全量支持

💬支持与建议

如在使用过程中遇到问题或想提出开发建议,欢迎在 Discussion 中提出,或者在 Issue 页面新建 issue,会有专业的研发人员进行解答。

👫开源共建

PaddleScience 项目欢迎并依赖开发人员和开源社区中的用户,会不定期推出开源活动。

在开源活动中如需使用 PaddleScience 进行开发,可参考 PaddleScience 开发与贡献指南 以提升开发效率和质量。

  • 🎁快乐开源

    旨在鼓励更多的开发者参与到飞桨科学计算社区的开源建设中,帮助社区修复 bug 或贡献 feature,加入开源、共建飞桨。了解编程基本知识的入门用户即可参与,活动进行中: PaddleScience 快乐开源活动表单

🎯共创计划

PaddleScience 作为一个开源项目,欢迎来各行各业的伙伴携手共建基于飞桨的 AI for Science 领域顶尖开源项目, 打造活跃的前瞻性的 AI for Science 开源社区,建立产学研闭环,推动科研创新与产业赋能。点击了解 飞桨AI for Science共创计划

❤️致谢

🤝合作单位

cooperation

📜开源协议

Apache License 2.0

About

PaddleScience is SDK and library for developing AI-driven scientific computing applications based on PaddlePaddle.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python87.7%
  • Jupyter Notebook9.7%
  • Cuda1.4%
  • Shell0.6%
  • C0.4%
  • Dockerfile0.1%
  • Cython0.1%