物理启发的水文建模中的AI技术:PyTorch自动微分与数值优化
1. 引言
自动微分和优化的结合为构建模型提供了基础工具,它将特定领域的常微分方程求解与简单的神经网络相结合。首先通过一个简单的非线性水库模型和合成数据来演示原理,帮助理解各部分如何协同工作。最后构建一个概念性水文模型的变体,用PyTorch参数进行参数化,并像训练神经网络一样训练该模型,考察其性能,探索中间过程如蒸散和土壤蓄水,以更好地理解训练后的模型在做什么。
1.1 软件版本说明
本教程设计为可作为交互式Jupyter笔记本运行,提供了conda环境和运行所需的所有必要数据。建议在过程中尝试修改特定数字和各部分内容,观察其效果。若仅阅读文本,使用的代码库版本如下:
| 库名 | 版本号 |
| ---- | ---- |
| matplotlib | 3.2.2 |
| numpy | 1.21.5 |
| xarray | 2022.3.0 |
| tqdm | 4.62.3 |
| torch | 1.10.1 |
| torchdiffeq | 0.2.2 |
2. PyTorch与自动微分
2.1 PyTorch入门
使用PyTorch作为机器学习框架,它是最流行的机器学习框架之一,常用于构建神经网络和开发新架构组件。以下是构建、训练和评估模型所需的PyTorch模块:
- torch :PyTorch的基础模块,提供对 torch.tensor 等基本组件的访问,可将张量视为数组。
超级会员免费看
订阅专栏 解锁全文
1059

被折叠的 条评论
为什么被折叠?



