1.一种基于MPI并行的三维神经网络的强对流天气预测方法,其特征在于,包括以下步骤:
A:从原始多普勒天气雷达中读取雷达回波数据,生成三维神经网络训练数据集,并将三维神经网络训练数据集划分为多组输入数据;
B:建立基于python的三维神经网络模型,三维神经网络包含子网络a和子网络b;
子网络a的结构从上至下依次为:子网络a第一循环数据特征提取层、子网络a第一最大池化层、子网络a第二循环数据特征提取层、子网络a第二最大池化层、子网络a第三循环数据特征提取层、子网络a第三最大池化层、子网络a第四循环数据特征提取层、子网络a第四最大池化层、子网络a第五循环数据特征提取层和Dropout层;
子网络b的结构从上至下依次为:子网络b第一单次数据特征提取层,子网络b第一数据特征平均融合层,子网络b第一循环数据特征提取层,子网络b第二数据单次特征提取层,子网络b第二数据特征平均融合层,子网络b第二循环数据特征提取层,子网络b第三单次数据特征提取层,子网络b第三数据特征平均融合层,子网络b第三循环数据特征提取层,子网络b第四单次数据特征提取层,子网络b第四数据特征平均融合层和子网络b第四循环数据特征提取层和子网络b第五单次数据特征提取层;
C:将建立的基于python的三维神经网络模型,转换成基于C++语言的三维神经网络;
D:利用MPI实现基于C++语言的三维神经网络的数据并行设计;
E:利用步骤A中生成的训练数据集,对步骤D中得到的基于MPI并行的三维神经网络进行训练,最终得到训练后的三维神经网络;
F:将最新的N个预处理后的多普勒雷达回波数据,输入至训练后的三维神经网络内进行强对流天气预测。
2.根据权利要求1所述的基于MPI并行的三维神经网络的强对流天气预测方法,其特征在于,所述的步骤A包括以下具体步骤:A1:对多个原始多普勒雷达数据中的雷达回波数据依次进行采集,采集时将雷达回波数据中的高度、距离和方位角分别作为一个维度存入三维矩阵中,然后按照采集顺序分别将三维矩阵以对应的原始多普勒雷达数据的名称存储为txt文本,作为预处理后的多普勒雷达回波数据;每个原始多普勒雷达数据的名称均包含雷达回波的记录时间;
A2:依据名称中存储的雷达回波的记录时间,分别计算预处理后的多普勒雷达回波数据中相邻两个多普勒雷达回波数据的时间差,若相邻两个多普勒雷达回波数据的时间差大于设定的时间差阈值T,则判定这两个相邻的多普勒雷达回波数据中存在多普勒雷达回波数据缺失,然后按照均值填补的方法对缺失的多普勒雷达回波数据进行填补,最终得到三维神经网络的训练数据集;
A3:将步骤A2中得到的三维神经网络的训练数据集中,以相邻的N个多普勒雷达回波数据作为一组输入数据,将三维神经网络的训练数据集划分为多组训练输入数据。
3.根据权利要求1所述的基于MPI并行的三维神经网络的强对流天气预测方法,其特征在于,所述的步骤B中:
子网络a和子网络b中的单次数据特征提取层,均以待进行单次特征提取的输入数据作为输入,利用数据特征提取模块对多普勒雷达回波数据进行单次特征提取,然后将提取得到的经单次特征提取后的特征矩阵进行输出;
单次特征提取时数据特征提取模块的输入输出关系为:其中,Input1n表示待进行单次特征提取的三维神经网络的训练数据集中的第n组训练输入数据,Output1n表示经单次特征提取后的特征矩阵中的第n组输出数据,kernel表示卷积核大小,padding表示填充值,step表示卷积运算的步长;n为自然数;
循环数据特征提取层,首先以待进行循环特征提取的输入数据作为输入,利用数据特征提取模块对多普勒雷达回波数据进行一次特征提取,然后将经一次特征提取后得到的特征矩阵进行输出;然后再以经一次特征提取后得到的特征矩阵作为输入,再次利用数据特征提取模块对多普勒雷达回波数据进行二次特征提取,最终将经循环特征提取后得到的特征矩阵进行输出;
一次特征提取时数据特征提取模块的输入输出关系为:二次特征提取时数据特征提取模块的输入输出关系为:其中,Input2n表示待进行循环特征提取的三维神经网络的训练数据集中的第n组训练输入数据,Output2n表示经一次特征提取后的特征矩阵中的第n组输出数据,Output3n表示经循环特征提取后的特征矩阵中的第n组输出数据;
数据特征平均融合层,将子网络a和子网络b中对应层特征进行覆盖融合;即将子网络b中每一层单次数据特征提取层提取后的特征矩阵与a网络中对应的循环数据特征提取层提取后的特征矩阵相融合,再输入子网络b中相同层的循环数据特征提取层。
4.根据权利要求3所述的基于MPI并行的三维神经网络的强对流天气预测方法,其特征在于:所述的数据特征提取模块,从上至下依次为三维卷积操作、三维批归一化操作和Relu激活函数。
5.根据权利要求1所述的基于MPI并行的三维神经网络的强对流天气预测方法,其特征在于:
子网络a第一循环数据特征提取层至子网络a第五循环数据特征提取层的卷积核大小均为3,卷积步长均为1,卷积核通道数依次为64、128、256、512和1024;
子网络b第一单次数据特征提取层至子网络b第五单次数据特征提取层的卷积核大小均为3,卷积步长均为1,卷积核通道数依次为1024、512、256、128、64;子网络b第一循环数据特征提取层至子网络b第四循环数据特征提取层的卷积核大小均为3,卷积步长均为1,卷积核通道数依次为1024、512、256、128。
6.根据权利要求3所述的基于MPI并行的三维神经网络的强对流天气预测方法,其特征在于:在使用子网络b中的数据特征平均融合层对两个待融合的特征矩阵进行融合时:首先,对两个待融合的特征矩阵进行处理,将两个特征矩阵中特征值小于零的特征点的特征值全部替换为零;
然后,若两个特征矩阵的相应位置的特征值均为零,则融合后的上采样矩阵该位置的特征值还为零;
若两个特征矩阵的相应位置的特征值中,一个特征矩阵的特征值是零,另一个特征矩阵的特征值非零,则融合后的上采样矩阵的该位置的特征值采用对应的非零特征值;
若两个特征矩阵的相应位置的特征值都是非零,则融合之后的上采样矩阵的特征值为两个非零特征值的平均数。
7.根据权利要求1所述的基于MPI并行的三维神经网络的强对流天气预测方法,其特征在于,所述的步骤C包括以下步骤:
C1:使用TorchScript的方式,将基于python构建的三维神经网络转化成可序列化模型;
C2:在C++中导入序列化后的三维神经网络模型,用PyTorch读取序列化之后的三维神经网络模型并进行编译部署,生成可执行程序。
8.根据权利要求1所述的基于MPI并行的三维神经网络的强对流天气预测方法,其特征在于,所述的步骤D包括以下步骤:
D1:用命令行输入进入三维神经网络模型生成的可执行程序的所在目录;
D2:用命令行调用MPI实现三维神经网络模型生成的可执行程序的数据并行,并设置并行核数。
9.根据权利要求1所述的基于MPI并行的三维神经网络的强对流天气预测方法,其特征在于,所述的步骤E中,在对基于MPI并行的三维神经网络进行训练时:首先,子网络a第一循环数据特征提取层,对所输入的数据进行循环特征提取得到特征矩阵a1,并将输出的特征矩阵a1输入至子网络a第一最大池化层中;然后由子网络a第一最大池化层对特征矩阵a1进行降维操作以减少特征矩阵中特征值为零或小于零的特征点个数,并将得到的降维后的特征矩阵a2输入至子网络a第二循环数据特征提取层;
然后,按照子网络a第一循环数据特征提取层和子网络a第一最大池化层的相同操作,由子网络a逐层对上一层得到的特征矩阵进行特征提取和降维操作,最后由子网络a第五循环数据特征提取层将经过五次特征提取后的特征数据输入至Dropout层,由Dropout层进行正则化操作;最终,将由Dropout层输出的特征矩阵a10输入至子网络b第一单次数据特征提取层;
随后,子网络b第一单次数据特征提取层对输入的特征矩阵a10进行单次特征提取,然后将输出的特征矩阵b1输入至子网络b第一数据特征平均融合层;子网络b第一数据特征平均融合层将子网络b第一单次数据特征提取层输出的特征矩阵b1和子网络a第一循环数据特征提取层输出的特征矩阵a1进行融合,并将融合后的特征矩阵b2输入至子网络b的第一循环特征提取层,子网络b的第一循环特征提取层对融合后的特征矩阵进行循环特征提取后输出特征矩阵b3,然后将特征矩阵b3输入至子网络b的第二数据单次特征提取层;再由子网络b的第二数据单次特征提取层对对输入的特征矩阵b3进行单次特征提取,然后将输出的特征矩阵b4输入至子网络b第二数据单次特征提取层;
最后,按照子网络b第一单次数据特征提取层、子网络b第一数据特征平均融合层和子网络b第一循环数据特征提取层的相同操作,逐层对输入的特征矩阵进行特征提取,最后由第五单次数据特征提取层输出最终生成的特征矩阵;
按照上述方法对基于MPI并行的三维神经网络进行训练,最终得到训练后的三维神经网络。
10.根据权利要求1所述的基于MPI并行的三维神经网络的强对流天气预测方法,其特征在于:所述的步骤F中,根据待预测时间范围M,计算得出所输入的多普勒雷达回波数据的个数N,然后将最新的N个预处理后的多普勒雷达回波数据,输入至训练后的三维神经网络内进行强对流天气预测;
其中, T表示三维神经网络的训练数据集划分为多组训练输入数据时选用的时间差阈值。