pytorch预测模型_(强对流天气临近预报)时空序列预测模型—PredRNN(Pytorch)

这篇博客介绍了如何基于PyTorch实现PredRNN,一个用于强对流天气临近预报的时空序列预测模型。作者参考ConvLSTM2D的开源代码简化了PredRNN的实现,并提供了模型结构、训练与测试的详细说明。结果显示,该模型在预测雷达回波图方面优于ConvLSTM2D。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

南京信息工程大学60周年校庆活动暨2020年科技活动月——“高影响天气精细化预报”学术研讨会

报告题目: 张小玲—AI技术在强对流天气预报中的应用

PredRNN++是目前国家气象中心报告题目中提及的用于短临预报的标配模型。但很多朋友普遍反馈PredRNN系列论文的官配完全体代码比较复杂。因此我参考ConvLSTM2D的开源代码,写了一个比较基础简单容易看懂的的PredRNN主干代码供大家参考交流,同时欢迎指出其中可能存在的错误。PredRNN++后续开源,目前测试效果并没有比PredRNN好太多,还在检查阶段。

ConvLSTM2D->ConvLSTM3D->PredRNN->PredNet-> PredRNN++->Memoryin Memory->E3D-LSTM是我暂定的一个复现路线.下面是经过自己理解,ConLSTM2D开源代码的基础上复现的一个简易版PredRNN.主要的代码解释已经标注在代码中.主要Debug点是Cell中的卷积,欢迎大家指正.

雷达回波数据使用的是厦门,杭州,宁波的雷达拼图, 6min/次滚动更新,由于资料的保密性,因此个人没有公开.

模型设置:

Layer数为2

隐藏层hidden_dim7,1

Layer方向上时间状态M由于当前层输入和输出维度的一致性,因此统一hidden_dim_m7.

采用Seq2seq的教师强制训练train模式,test采用t-1时刻的Output作为t时刻的Input,去预测t时刻的雷达回波特征Prediction.

模型Train时使用的是(0-9预测1-10)(0-54min预测6-60min))时刻的雷达回波图,

模型Test时使用的是10-16(60-96min)时刻的雷达回波图。

结果是任何指标上都要明显好于pytorchtensorflow版的ConvLSTM2D(即使ConvLSTM2D在模型深度的设置上要更占优势).

由于本机配置实在很低,所以将原始雷达回波图压缩成(C,H,W)=(1,100,100).时间关系后续再放上其它几类模型的对比结果吧.下面是雷达回波的外推结果:

ba1b1587af1dd79b2497eb2acaafe630.gif←实况     预测→ ccb02712426316a8e23a78db4228d46f.gif

代码分为3文件:

PredRNN_Cell.py #细胞单元

PredRNN_Model.py #细胞单元堆叠而成的主干模型

PredRNN_Main_Seq2seq_test.py #用于外推的Seq2seq//// 编码解码

# PredRNN_Cellimport torch.nn as nn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值