harmonic-oscillator-pinn实战教程:如何用PyTorch自动微分求解微分方程的一阶与二阶导数?
harmonic-oscillator-pinn实战教程如何用PyTorch自动微分求解微分方程的一阶与二阶导数【免费下载链接】harmonic-oscillator-pinnCode accompanying my blog post: So, what is a physics-informed neural network?项目地址: https://gitcode.com/gh_mirrors/ha/harmonic-oscillator-pinnharmonic-oscillator-pinn 是一个基于 PyTorch 的物理信息神经网络PINN开源实战项目。它围绕一维阻尼谐波振荡器微分方程手把手演示了如何利用 PyTorch 自动微分求解网络输出的一阶导数与二阶导数并把微分方程残差作为物理损失融入训练让神经网络学会完整解。 本文将从零讲清 PINN 的核心原理与关键代码非常适合刚接触用深度学习求解微分方程的初学者。什么是物理信息神经网络PINN先看一个直观比喻传统神经网络像背书只会记住训练数据附近的答案而物理信息神经网络PINN像学会了物理定律即使没见过某段数据也能根据方程外推出正确答案。本项目要求解的是物理中非常经典的一维阻尼谐波振荡器方程m·d²x/dt² μ·dx/dt kx 0这是一条随时间衰减的正弦曲线项目中取 δ2、ω₀20 生成精确解并把求解域设定为 x∈[0,1]。上图是 PINN 的训练过程动画绿色点代表物理损失采样位置神经网络蓝色曲线在这些位置被强制满足微分方程。因此即使训练数据橙色点只有左侧一小段蓝色预测曲线最终也能与灰色精确解高度重合。普通神经网络与PINN对比为什么需要物理约束先看普通神经网络的表现它的训练代码在项目核心文件 Harmonic oscillator PINN.ipynb 中普通神经网络只用均方误差MSE拟合 10 个橙色训练点训练到第 1000 步时蓝色预测曲线依然只能在数据附近正确远离数据的区域完全跑偏。这就是纯数据驱动的局限——数据稀疏时模型没有能力推理出物理规律。而 PINN 在数据损失之外额外引入物理损失本质是把微分方程本身变成监督信号让网络在没有数据的位置也遵守物理定律。✨ 两张动图对比物理约束的价值一目了然。快速上手conda 一键搭建 PINN 运行环境想复现项目非常简单先获取仓库git clone https://gitcode.com/gh_mirrors/ha/harmonic-oscillator-pinn环境搭建只需四行命令conda create -n pinn python3 conda activate pinn conda install jupyter numpy matplotlib conda install pytorch torchvision torchaudio -c pytorch装好后启动 Jupyter打开Harmonic oscillator PINN.ipynb按顺序运行所有单元格即可复现文中全部动图与训练结果。PyTorch自动微分实战求解一阶导数与二阶导数的核心代码这是本文的重点。PINN 之所以能检查神经网络是否满足微分方程全靠 PyTorch 自动微分autograd。微分方程里出现了 d²x/dt² 和 dx/dt分别对应神经网络输出的二阶导数与一阶导数求解只需两个torch.autograd.grad调用x_physics torch.linspace(0,1,30).view(-1,1).requires_grad_(True) yhp model(x_physics) dx torch.autograd.grad(yhp, x_physics, torch.ones_like(yhp), create_graphTrue)[0] # 一阶导数 dy/dx dx2 torch.autograd.grad(dx, x_physics, torch.ones_like(dx), create_graphTrue)[0] # 二阶导数 d²y/dx²三个要点帮你彻底理解这段 PyTorch 自动微分代码requires_grad_(True)让输入张量 x_physics 进入计算图这是求导的前提grad 的返回值torch.autograd.grad返回梯度元组[0]取出第一个元素即我们需要的导数create_graphTrue最关键表示为这次求导过程再建一张计算图这样一阶导数 dx 仍保留在计算图中二阶导数 dx2 才能继续对 dx 求导实现导数套导数。如果去掉它dx 会与计算图断开二阶导数将无法计算。30 个物理采样点均匀分布在求解域 [0,1] 上正好覆盖数据缺失的右半段区域。PINN损失函数设计把微分方程写进训练目标有了导数就可以计算微分方程残差residual并把它变成损失physics dx2 mu*dx k*yhp # 微分方程残差理想情况下应为 0 loss2 (1e-4)*torch.mean(physics**2) # 物理损失 loss loss1 loss2 # 数据损失 物理损失loss1数据损失均方误差约束网络在 10 个观测点附近与真实解一致loss2物理损失让网络在 30 个物理采样点上满足 m·d²x/dt² μ·dx/dt kx 0系数 1e-4 用于平衡两类损失的尺度。反向传播时loss.backward()会把两类误差信号同时传回网络训练 20000 步后PINN 就外推出了完整的衰减振荡解——这正是物理信息神经网络最迷人的地方用物理定律弥补数据的不足。实战总结与进阶建议对比维度普通神经网络PINN训练数据10 个点10 个点额外约束无微分方程残差解的覆盖范围仅数据附近整个求解域训练步数100020000总结harmonic-oscillator-pinn 用最简代码展示了 PINN 的核心链路——PyTorch自动微分求一阶导数与二阶导数 → 计算微分方程残差 → 物理损失与数据损失联合训练。掌握了torch.autograd.grad与create_graphTrue的用法你就能把整套方法迁移到更复杂的偏微分方程PDE求解场景。想深入理解原理强烈建议亲自跑一遍 Harmonic oscillator PINN.ipynb把 δ、ω₀、采样点数、损失权重等参数改一改观察训练动画的变化。动手调参是理解物理信息神经网络最快的方式。【免费下载链接】harmonic-oscillator-pinnCode accompanying my blog post: So, what is a physics-informed neural network?项目地址: https://gitcode.com/gh_mirrors/ha/harmonic-oscillator-pinn创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

百度网盘秒传链接快速转存完整指南:免费网页工具在线生成与格式转换全平台可用

百度网盘秒传链接快速转存完整指南:免费网页工具在线生成与格式转换全平台可用

百度网盘秒传链接快速转存完整指南:免费网页工具在线生成与格式转换全平台可用 【免费下载链接】baidupan-rapidupload 百度网盘秒传链接转存/生成/转换 网页工具 (全平台可用) 项目地址: https://gitcode.com/gh_mirrors/bai/baidupan-rapidupload 百度网盘…

2026/8/16 18:55:52 阅读更多 →
Node.js内存溢出:从V8堆限制到内存泄漏排查实战

Node.js内存溢出:从V8堆限制到内存泄漏排查实战

1. 问题现象与本质剖析“FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory”,这个错误信息对于任何使用 Node.js 进行开发或部署的开发者来说,都像是一个熟悉的“老朋友”,只不过每次见面都伴随着应用的崩…

2026/8/16 18:55:52 阅读更多 →
UE5 Niagara覆盖材质实战:实现粒子级动态材质参数控制

UE5 Niagara覆盖材质实战:实现粒子级动态材质参数控制

1. 先搞清楚“覆盖材质”在Niagara里到底怎么用 UE5的Niagara特效系统功能很强,但很多刚接触的朋友,一看到“覆盖材质”这个概念就容易懵。它解决的其实是一个很具体的问题: 如何让粒子系统里的每一个粒子,都使用一套独立的、动态…

2026/8/16 18:54:52 阅读更多 →

最新新闻

HttpServerErrorException深度解析:5xx状态码排查与微服务容错实战

HttpServerErrorException深度解析:5xx状态码排查与微服务容错实战

1. 从一次深夜告警说起:HttpServerErrorException 到底是什么?凌晨两点,手机突然震动,告警平台推送了一条消息:“生产环境订单服务大面积报错:HttpServerErrorException: 500 Internal Server Error”。相信…

2026/8/16 19:42:06 阅读更多 →
图片一放大就糊成马赛克?免费开源的AI图像放大工具Upscayl从入门到精通

图片一放大就糊成马赛克?免费开源的AI图像放大工具Upscayl从入门到精通

图片一放大就糊成马赛克?免费开源的AI图像放大工具Upscayl从入门到精通 【免费下载链接】upscayl 🆙 Upscayl - #1 Free and Open Source AI Image Upscaler for Linux, MacOS and Windows. 项目地址: https://gitcode.com/GitHub_Trending/up/upscayl…

2026/8/16 19:42:06 阅读更多 →
端口占用排查全攻略:从netstat到lsof,多系统定位服务进程

端口占用排查全攻略:从netstat到lsof,多系统定位服务进程

1. 端口与服务:网络世界的“门牌号”与“住户” 当你尝试启动一个应用,却弹出“端口已被占用”的提示;或者服务器上某个服务突然无法访问,你怀疑是端口没开;又或者出于安全考虑,你需要排查一台机器上到底开…

2026/8/16 19:42:06 阅读更多 →
Ventoy在Windows安装失败?从权限到兼容性的完整解决方案

Ventoy在Windows安装失败?从权限到兼容性的完整解决方案

1. 从一次失败的尝试说起:为什么Ventoy在Windows上会“罢工”?如果你正在尝试用Ventoy这个神器来制作一个“一盘在手,系统我有”的万能启动U盘,却在Windows系统上卡在了安装这一步,相信我,你绝对不是一个人…

2026/8/16 19:42:06 阅读更多 →
无需VR头盔也能看VR视频:用MPV插件把3D视频转2D播放的完整上手指南

无需VR头盔也能看VR视频:用MPV插件把3D视频转2D播放的完整上手指南

无需VR头盔也能看VR视频:用MPV插件把3D视频转2D播放的完整上手指南 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://gitco…

2026/8/16 19:42:06 阅读更多 →
微信语音在电脑上打不开?silk-v3-decoder 把 Silk v3 音频快速转成 MP3

微信语音在电脑上打不开?silk-v3-decoder 把 Silk v3 音频快速转成 MP3

微信语音在电脑上打不开?silk-v3-decoder 把 Silk v3 音频快速转成 MP3 【免费下载链接】silk-v3-decoder [Skype Silk Codec SDK]Decode silk v3 audio files (like wechat amr, aud files, qq slk files) and convert to other format (like mp3). Batch conversi…

2026/8/16 19:41:06 阅读更多 →

日新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/16 6:00:23 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/16 6:00:24 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/16 6:00:27 阅读更多 →