飞桨全量支持业内AI科学计算工具——DeepXDE!
AI技术在跨学科融合创新方面扮演着日益重要的角色,特别是在Al for Science领域,AI技术的发展为跨学科、跨领域的融合创新带来了巨大的机会。AI已成为一个关键的研究工具,改变了基础科学的研究范式。依托AI技术开发的科学计算工具,如DeepXDE、SciML等,正在解决传统科学计算过于复杂且难以理解的问题。未来将会有更多功能强大的科学计算工具出现,从而推动AI技术成为重要的科研辅助工具,在数学、物理、化学、生物、地理等基础科学以及材料、电子、医疗、制药等应用领域发挥独特价值[^1]

飞桨PaddlePaddle目前是国内市场综合份额第一的深度学习平台,且一直在为科学研究者提供优秀的AI技术支持。在AI for Science方面,飞桨已经发布了针对流体、结构、电磁等学科的工具组件——赛桨PaddleScience V1.0 Beta。同时,为了更好地支持AI for Science在科研领域的深入探索,飞桨也在同步拓展和支持一系列业内主流科学计算工具。本期我们将重点介绍飞桨全量支持的深度学习科学计算工具DeepXDE,从全量算例及模型支持、高性能的训推环境以及典型工程实践等方面进行说明。
科学计算工具-DeepXDE
DeepXDE是一款开源且高度模块化的科学计算工具,以深度学习为核心,提供多种数据、物理机理及数理融合的模型,如PINN、DeepONet、MFNN等,同时支持多种类型微分方程,如常微分方程、偏微分方程的定义及求解,可有效解决复杂科学计算问题。
基于所提供的深度学习求解模型,DeepXDE具备以下典型的功能特点:
高度模块化:DeepXDE提供多种支持调用、组合的模块,如计算域、边界条件、微分方程、神经网络、训练及预测等,方便用户组合构建物理系统;
多类微分方程:支持自定义常微分方程、偏微分方程、积分微分方程等来描述具体问题;
可扩展性:支持用户结合自身需求添加自定义的数值算法、模型或其他功能;
可视化:提供一系列丰富的可视化工具,可以帮助用户直观地理解计算结果。
在科学计算领域,DeepXDE的强大功能与高精度求解能力,使其成为国内外知名的科学计算工具之一。截止目前,DeepXDE的下载量已超过40万次,并被全球70多所知名大学、科研机构和企业采用,比如MIT、Stanford、美国西北太平洋国家实验室、通用汽车等。在实际应用中,DeepXDE正在帮助用户快速解决复杂的科学计算问题,为各领域科学研究的进展作出了重要贡献。

飞桨全量支持DeepXDE
全量支持DeepXDE方法与算例
飞桨完全支持DeepXDE工具中提供的PINN、DeepONet等方法,并对工具中提供的各类算例进行了全面的精度对齐。采用PINN方法运行的42个算例涵盖多种方程和初值/边界条件,飞桨支撑情况如下表所示,相比PyTorch目前支持的算例(31个)多了11个。

飞桨科学计算支持能力
在支持科学计算方面,飞桨从神经网络、高阶微分、动转静技术等进行了全面改进,不仅能够全面支持DeepXDE提供的算例,也能够支持用户自定义的科学计算问题分析。
完备的训练网络
飞桨目前提供可覆盖PINN方法以及数据驱动方法的常用网络,如全连接网络、多尺度傅里叶特征网络及DeepONet、DeepONetCartesianProd等网络。
完整的微分方程体系
飞桨目前可支持多种类型微分方程的定义,如常微分方程、偏微分方程、积分微分方程、分数阶偏微分方程等。
动态图模式及“一键动转静”方案
飞桨支持用户基于动态图编码,同时支持一键动转静,可以使用户使用简单的转换语句同时享有动态图和静态图优势。
完善的科学计算常用高阶算子
为了实现科学计算问题中控制方程的高阶表达,飞桨框架完善了如下算子及功能:
- 提供部分算子的三阶计算,如全连接网络算子(matmul、add),激活函数(tanh, sin, cos等);
- 提供标量与tensor的加减乘除幂运算;
- 常用算子如assign、concat、cumsum、expand_v2、reverse、squeeze、unsqueeze、scale、tile、transpose、sign、sum、mean、flip、cast、slice等无限阶计算。
多优化器选择
飞桨提供如ADAM、L-BFGS等优化器,可覆盖广泛的科学计算应用,且针对DeepXDE中提供的科学计算算例,飞桨提供的L-BFGS 优化器可以达到更高精度的收敛效果。
此外,飞桨对DeepXDE部分算例已经实现了分布式并行,扩展数据集大小后可获得更高的性能提升。
飞桨性能优势
基于DeepXDE所提供算例的默认配置,在表2所示的测试环境中对其中20个算例进行了端到端的性能测试,结果如图3所示。左图表示飞桨(蓝色)与PyTorch(橙色)的算例对齐情况,其中横坐标为工具中的不同算例,纵坐标为算例达到收敛目标所需的训练时间,右图则直观的表示飞桨相比于PyTorch在不同算例对齐过程中的加速情况。可以看出,在所测试的75%个算例中,飞桨的性能均领先PyTorch,最高提速达25%,这说明飞桨可以作为DeepXDE全量算例的Backend,支持开发者进行科学计算分析。


飞桨DeepXDE开发验证学习文档
针对DeepXDE中提供的算例及相关模型,飞桨完成了大量精度对齐、验证工作,积累并形成了丰富的开发和验证经验,可以为用户提供应用指导,帮助用户正确使用DeepXDE工具进行新算例的开发和验证。
用户可以访问DeepXDE官方代码仓库体验飞桨对DeepXDE中全量算例及模型的支持,在完成DeepXDE的安装后,用户仅需设置DDE_BACKEND环境变量,即可执行相应的算例代码($ DDE_BACKEND=paddle; python pde.py)。
- DeepXDE官方代码仓库网址
[https://github.com/lululxvi/deepxde]
另外,在飞桨AI Studio-人工智能学习与实训社区提供的NoteBook环境下,用户仅需定义环境变量DDE_BACKEND=paddle,即可实现代码块的独立测试、执行。
围绕飞桨+DeepXDE算例的开发验证过程,主要包含如下算例验证标准、算例验证流程、模型对齐问题排查流程等工作:
算例验证标准
结合科学计算的正问题与逆问题,可以从单框架测试、多框架测试等途径进行网络参数、目标解、Loss的计算比对,且验证的优先级为:网络参数>目标解>Loss。
算例验证流程
算例验证流程主要分为算例实现和验证两个阶段。下图给出了PINN方法的完整训练过程,其中蓝色部分为每个阶段需要对齐的数据,黄色部分为算例实现的逻辑。对于算例的验证,主要从飞桨框架自测、多框架对比验证进行分阶段实现。

模型对齐问题排查流程
围绕算例及模型对齐过程中出现的问题,我们也形成了一些可供用户参考的经验,如可以对比其他框架,进行前向和反向的逐步对齐验证,并逐次打印对齐流程中的中间结果。此外,也需要进行如“随机种子”、“数据类型”、“初始化参数”、“控制合理误差”等设置,从而降低对齐难度。
此部分内容会在下一期的AI for Science专题“飞桨DeepXDE算例及模型精度对齐学习”中进行详细展开说明,期待广大用户阅读、指正。
案例实践
问题定义
随着通过缩小电路线宽提高集成度的“微细化”速度放缓,三维(3D)堆叠技术将承担半导体持续提高性能的作用。在芯片国产自主的背景下,3D堆叠技术也成为缓解国外技术制裁的重要方式。热挑战是3D堆叠技术的主要障碍之一,复杂的架构和高度集成的器件增加了芯片功耗和热密度。基于AI的传热模型不仅可以评估3D堆叠芯片的散热性能,而且为芯片散热结构设计的自动优化提供了广泛的潜力。本节主要介绍采用飞桨+DeepXDE进行芯片散热分析的相关案例实践,如图5所示。

针对图5-(a)所示的简化3D芯片结构,其散热过程可由如下热自然对流控制方程来描述:
质量守恒

动量守恒

能量守恒

式中,𝑢、𝑣、𝑤分别为𝑥、𝑦、𝑧方向的速度分量(m⋅s-1),𝑝为压力(𝑃𝑎),𝑇为温度(℃),𝑡为时间(s);𝜇为动力粘度(𝑃𝑎⋅𝑠),𝜌为密度(𝑘𝑔⋅m-3),𝑐p为比热容(𝐽⋅𝑘𝑔-1⋅℃-1),𝜆为导热系数(𝑊⋅𝑚-1⋅℃-1)),𝑔为重力加速度(通常取9.8m⋅s-1),𝛽为热膨胀系数(1⋅℃-1),Tref为参考温度(℃);𝑄为体积热源项(𝑊⋅m-3),与芯片的热功耗有关。
针对实际芯片散热问题,通常假定温度为常温、周围空气静止,只要给定特定的边界条件就可以采用AI模型进行求解。其中,速度场通常采用无滑移边界条件,而温度场的边界条件则可描述如下:
Dirichlet条件

Neumann条件

Robin条件

案例建设及分析
基于DeepXDE的PINN方法,构建相应的芯片散热案例,如图6所示。其原理简要介绍如下,首先,针对待求解的时间(t)和实际的空间(x, y, z),采用合适的采样方法获得模型训练所需的时空离散点,这些点数据将作为AI网络模型的输入,并输出相应的流场和温度信息(u, v, w, p, T);然后,计算约束方程所需的流场和温度结果的时空导数,并获得对应于约束方程和初边值条件的Loss。

针对5层芯片结构的散热案例,构建相应热自然对流控制方程的无量纲化形式,以提高模型训练的稳定性和精度。结合给定的计算域,采用NVIDIA V100-16G单卡训练约4小时,预测的无量纲时间为1s时的结果如图7所示。3D整体和2D中间截面的温度分布均表明,芯片内部的温度远高于周围空气的温度。这说明单纯靠空气热自然对流来将存在明显的热限制,从材料和散热结构等方面提升散热性能非常必要,此部分工作成果会在之后的专题中向大家呈现。

总结
飞桨PaddlePaddle目前已经全面支持科学计算工具DeepXDE,对DeepXDE中提供的模型、算例等进行了多框架精度对齐以及性能调优。目前飞桨提供了完备的科学计算算子以及相关的网络模型、优化器、分布式并行等能力,可为广大用户使用飞桨+DeepXDE解决科学问题提供更多的可能。
下一期我们会对飞桨+DeepXDE算例及模型精度对齐的详细实现过程进行经验介绍,敬请期待。
引用
[1] 百度研究院2023科技趋势发布:AI向实而生,智能技术构筑科技变革主线
https://baijiahao.baidu.com/s?id=1754188096379901355&wfr=spider&for=pc。
[2] DeepXDE介绍文档
https://deepxde.readthedocs.io/en/latest/
[3] 飞桨动态图转静态图实现流程
https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/jit/basic_usage_cn.html
[4] 飞桨L-BFGS优化器定义
https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/incubate/optimizer/LBFGS_cn.html
拓展阅读
[1] 【PaddlePaddle Hackathon 第四期】—飞桨科学计算 PaddleScience
https://github.com/PaddlePaddle/Paddle/issues/50629
[2] 飞桨AI for Science流体力学公开课第一期
https://aistudio.baidu.com/aistudio/course/introduce/27926
[3] AI+Science系列(三):赛桨PaddleScience底层核心框架技术创新详解
[4] 飞桨科学计算实训示例
https://aistudio.baidu.com/aistudio/projectoverview/public?topic=15
相关地址
[1] 飞桨AI for Science共创计划
https://www.paddlepaddle.org.cn/science
[2] 飞桨PPISG-Science小组
https://www.paddlepaddle.org.cn/specialgroupdetail?id=9
相关文章:
飞桨全量支持业内AI科学计算工具——DeepXDE!
AI技术在跨学科融合创新方面扮演着日益重要的角色,特别是在Al for Science领域,AI技术的发展为跨学科、跨领域的融合创新带来了巨大的机会。AI已成为一个关键的研究工具,改变了基础科学的研究范式。依托AI技术开发的科学计算工具,…...
【c++基础】
C基础入门统一初始化输入输出输入输出符输入字符串const与指针c和c中const的区别const与指针的关系常变量与指针同类型指针赋值的兼容规则引用引用的特点const引用作为形参替换指针其他引用形式引用和指针的区别inline函数缺省参数函数重载判断函数重载的规则名字粉碎C编译时函…...
语音识别技术对比分析
文章目录一、语音识别产品对比二、百度语音识别产品1、套餐及价格:2、官网3、调研结果三、华为语音识别产品四、阿里云语音识别产品1、套餐及价格:2、官网地址3、调研结果五、科大讯飞语音识别产品1、套餐及价格:2、官网3、调研结果六、有道语…...
Idea git 回滚远程仓库版本
目标 回滚远程仓库到特定版本。 将【添加test03】版本回滚到【行为型模式】版本。 回滚前的效果图 步骤 ①复制需要回滚到的版本的版本号 ②右键项目,选择Git-Repository-Reset Head ③Reset Type选择Hard;To Commit填入步骤①复制的版本号ÿ…...
vscode C++配置
program:调试入口文件的地址cwd:程序启动调试的目录miDebuggerPath:调试器的路径launch.json// { // // Use IntelliSense to learn about possible attributes. // // Hover to view descriptions of existing attributes. // /…...
【微电网_储能】基于启发式状态机策略和线性程序策略优化方法的微电网中的储能研究【给定系统约束和定价的情况下】(Matlab代码实现)
👨🎓个人主页:研学社的博客💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密…...
rk3288-android8-IR-mouse
IR问题: mouse按键使用不了 然后排查: 1.排查上报 ir_key6{ rockchip,usercode <0xbf00>;rockchip,key_table <0xff KEY_POWER>,<0xfe KEY_MUTE>, <0xfd KEY_1>, <0xfc KEY_2>, <0xfb KEY_3>, <0xfa KEY_4>, <0xf9 KEY_5>…...
2023-03-01干活小计
昨天组会,元气大伤,拖更直接。今天继续,三月加油! python魔术方法: __repr__:print()时候调用,注意函数返回值就是打印值。 __len__:len()时候调用 __call__:实例()时候调用 __getitem__:self[i]时候调…...
客户服务软件推荐榜:28款!
在这个竞争激烈的时代,做到服务对企业的存亡有着深刻的意义。改善客户服务,做好客户服务工作,是关键,因为客户服务团队代表着企业的形象,面孔,客户有可能 不大会记得企业的某个东西,但是他们将会…...
Spring注入和注解实现IOC
标题注入依赖注入的方式通过Set方法注入通过构造方法注入自动注入依赖注入的数据类型注入Bean对象注入基本数据类型和字符串注入List注入Set注入Map注入Properties注解实现IOCComponentRepository、Service、Controller注入 依赖注入的方式 在使用依赖注入时,如果…...
Python统计Labelme标注文件信息并绘制散点图
Python统计Labelme标注文件信息并绘制散点图前言前提条件相关介绍实验环境Python统计Labelme标注文件信息并绘制散点图前言 本文是个人使用Python处理文件的电子笔记,由于水平有限,难免出现错漏,敬请批评改正。更多精彩内容,可点击…...
远程接入方案 OpenText Exceed TurboX(ETX) 客户案例——ET Innovations
远程接入方案 OpenText Exceed TurboX(ETX) 客户案例——ET Innovations ET Innovations GmbH 助力奥地利各地的医疗保健专业人员提升患者体验 医疗保健信息系统开发商利用 OpenText™ Exceed™ TurboX 将远程访问其软件的稳定性提高了 95% 公司:ET I…...
Django4.1.7通过djongo1.3.6链接mongoDB6.0.4
网上中文版的djongo链接mongoDB基本都是抄袭州的先生大哥的文章。 文章成文比较久,至少是2019年成文的了,有一些情况发生了变化,今天就自己测试的情况做一些记录。 本文成文日期为:2023年3月2日,请注意参考 废话不多说…...
如何使用FindFunc在IDA Pro中寻找包含指定代码模式的函数代码
关于FindFunc FindFunc是一款功能强大的IDA Pro插件,可以帮助广大研究人员轻松查找包含了特定程序集、代码字节模式、特定命名、字符串或符合其他各种约束条件的代码函数。简而言之,FindFunc的主要目的就是在二进制文件中寻找已知函数。 使用规则过滤 …...
【C++】讲的最通透最易懂的关于结构体内存对齐的问题
目录1. 内存对齐规则2. 简单易懂的内存对齐示例2.1 简单结构体2.2 含位域的结构体2.3 空类的大小2.4 嵌套结构体3. 为什么需要内存对齐?4. 类型在不同系统下所占字节数1. 内存对齐规则 第一个成员在与结构体变量偏移量为0的位置处。其他成员变量要对齐到某个数字&a…...
Stochastic Approximation 随机近似方法的详解之(一)
随机近似的定义:它指的是一大类随机迭代算法,用于求根或者优化问题。 Stochastic approximation refers to a broad class of stochastic iterative algorithms solving root finding or optimization problems. temporal-difference algorithms是随机近…...
软件自动化测试工程师面试题集锦
以下是部分面试题目和我的个人回答,回答比较简略,仅供参考。不对之处请指出 1.自我介绍 答:姓名,学历专业,技能,近期工作经历等,可以引导到最擅长的点,比如说代码或者项目 参考&a…...
智合同丨教你做一个懂AI的法律人
作为一名法律人,合同审核工作是日常工作中最基本也是必不可少的一项事务。我们知道,一般在企业,合同审批会涉及到众多部门和职务角色,最关键的一环其实在法务或者律师建议,其他部门给出的审批意见基本上都是基于自己部…...
如何判断自己使用的IP是独享还是共享?
在互联网上,我们常常听到独享IP和共享IP这两个概念。独享IP指的是一个IP地址只被一个用户或一个网站所使用,而共享IP则是多个用户或多个网站共用一个IP地址。那么,如何分辨IP是不是独享呢?接下来,我们将从几个方面来看。在这之前…...
跳石头
题目描述 一年一度的"跳石头"比赛又要开始了! 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有 N 块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳…...
python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
ZYNQ学习记录FPGA(一)ZYNQ简介
一、知识准备 1.一些术语,缩写和概念: 1)ZYNQ全称:ZYNQ7000 All Pgrammable SoC 2)SoC:system on chips(片上系统),对比集成电路的SoB(system on board) 3)ARM:处理器…...
使用SSE解决获取状态不一致问题
使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件,这个上传文件是整体功能的一部分,文件在上传的过程中…...
企业大模型服务合规指南:深度解析备案与登记制度
伴随AI技术的爆炸式发展,尤其是大模型(LLM)在各行各业的深度应用和整合,企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者,还是积极拥抱AI转型的传统企业,在面向公众…...
前端开发者常用网站
Can I use网站:一个查询网页技术兼容性的网站 一个查询网页技术兼容性的网站Can I use:Can I use... Support tables for HTML5, CSS3, etc (查询浏览器对HTML5的支持情况) 权威网站:MDN JavaScript权威网站:JavaScript | MDN...
pgsql:还原数据库后出现重复序列导致“more than one owned sequence found“报错问题的解决
问题: pgsql数据库通过备份数据库文件进行还原时,如果表中有自增序列,还原后可能会出现重复的序列,此时若向表中插入新行时会出现“more than one owned sequence found”的报错提示。 点击菜单“其它”-》“序列”,…...
相关类相关的可视化图像总结
目录 一、散点图 二、气泡图 三、相关图 四、热力图 五、二维密度图 六、多模态二维密度图 七、雷达图 八、桑基图 九、总结 一、散点图 特点 通过点的位置展示两个连续变量之间的关系,可直观判断线性相关、非线性相关或无相关关系,点的分布密…...
