使用CAMELS数据集构建基于LSTM的降雨径流模型#

通过前面的介绍,大家应该已经了解了深度学习在水文建模方面的研究应用概况,也掌握了Python编程的一些基础,知道了常用的工具包,包括PyTorch这个深度学习研究中最常用的工具之一。

那么接下来,本章通过一个难度不高的实例来全面回顾之前提到的一系列基本概念,使用之前尝试过的一系列工具,起到为以后实际科研中的编程工作示范的效果。

该实例主要参考了Kratzert等的论文 [KKB+18],尽管这篇论文已经有几年时间了,其研究结果也已被其作者在后续研究中更新了,但因为它关于LSTM建模方面的内容相对简单,所以比较适合我们拿来做示例。

我们首先在平台Jupyter上运行相关代码,全面回顾之前的内容;

然后我们选择VSCode作为我们日常编程IDE(Integrated development environment),以标准代码仓的形式组织代码,执行同样的运算。Jupyter更适合我们学习使用别人的代码,编写不必为他人调用的代码,做数据分析得到计算机及时的结果反馈等。但如果我们也想开发一些科研工具,作为自己研究成果的一部分,并提供给他人使用,那么用VSCode等IDE组织编写代码更合适。

最后,因为前面内容还是比较多,更适合完全编程新手的同学,为了帮助有一定基础的同志快速地接入平台,我们还增加了一个全面的回顾环节,这个环节里会从零开始,记录一些和接入平台最直接相关的内容,相对会比较精简,其中详细内容会以链接的形式给出。