CN113568068B - 一种基于mpi并行的三维神经网络的强对流天气预测方法 - Google Patents
一种基于mpi并行的三维神经网络的强对流天气预测方法 Download PDFInfo
- Publication number
- CN113568068B CN113568068B CN202110832813.7A CN202110832813A CN113568068B CN 113568068 B CN113568068 B CN 113568068B CN 202110832813 A CN202110832813 A CN 202110832813A CN 113568068 B CN113568068 B CN 113568068B
- Authority
- CN
- China
- Prior art keywords
- data
- network
- feature extraction
- sub
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 97
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012549 training Methods 0.000 claims abstract description 64
- 238000003062 neural network model Methods 0.000 claims abstract description 25
- 238000013461 design Methods 0.000 claims abstract description 4
- 238000000605 extraction Methods 0.000 claims description 221
- 239000011159 matrix material Substances 0.000 claims description 109
- 125000004122 cyclic group Chemical group 0.000 claims description 65
- 230000004927 fusion Effects 0.000 claims description 36
- 238000011176 pooling Methods 0.000 claims description 21
- 238000005070 sampling Methods 0.000 claims description 11
- 230000009467 reduction Effects 0.000 claims description 9
- 230000004913 activation Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims description 3
- 230000008569 process Effects 0.000 description 12
- 230000015654 memory Effects 0.000 description 4
- 238000007499 fusion processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000178 monomer Substances 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01W—METEOROLOGY
- G01W1/00—Meteorology
- G01W1/10—Devices for predicting weather conditions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本发明公开了一种基于MPI并行的三维神经网络的强对流天气预测方法,包括以下步骤:A:从原始多普勒天气雷达中读取雷达回波数据,生成三维神经网络训练数据集;B:建立基于python的三维神经网络模型;C:将三维神经网络模型转换成基于C++语言的三维神经网络;D:利用MPI实现三维神经网络的数据并行设计;E:训练后的三维神经网络;F:将最新的N个预处理后的多普勒雷达回波数据,输入至训练后的三维神经网络内进行强对流天气预测。本发明的目的是提供一种基于MPI并行的三维神经网络的强对流天气预测方法,能够在提升强对流天气预测准确度的同时,有效实现预测程序的负载平衡。本发明的目的是提供一种基于MPI并行的三维神经网络的强对流天气预测方法,能够在提升强对流天气预测准确度的同时,有效实现预测程序的负载平衡。
Description
技术领域
本发明涉及一种强对流天气预测方法,尤其涉及一种基于MPI并行的三维神经网络的强对流天气预测方法。
背景技术
强对流天气是在春末夏初之际对我国北方地区造成严重气象灾难的灾害性天气之一,并且具有突然性、迅速性和破坏性极大的特点,对人们的生产、生活甚至财产安全和人身安全都会造成极大的影响。由于强对流天气发生时尺度小、变化快,使用常规时空分辨率较低的仪器很难对其进行有效观测。多普勒天气雷达是可以对强对流天气进行长时间持续采样的设备之一,对于恶劣天气的探测和预报起着极其重要的作用。
近年来不少学者开发了利用多普勒天气雷达资料预测强对流天气的算法,我国也已经建立了多种天气预报服务系统,对强对流天气的预测能力达到了一定的高度。传统的强对流天气预测方法主要有风暴跟踪信息产品算法(STI)和风暴单体的识别和跟踪算法(SCIT)等。但由于传统的预测方法依赖于物理假设,这些物理假设只能反映一部分大气状态,不能完全反映大气的真实状态,对预测准确度会造成影响。机器学习的方法可以在不依赖物理假设的情况下从雷达数据中提取特征。但是这种浅层机器学习方法也存在一定的缺陷,需要人工来构建数据特征,这种人工特征工程十分耗费时间,并且依赖于专家的指导。
随着深度学习方法的兴起,许多科研工作者致力于研究利用深度学习方法进行强对流天气预测的算法研究,但是以往的天气雷达回波研究主要停留在二维雷达数据回波图,或者直接利用原始三维多普勒雷达数据进行预测,二维数据回波图只能片面的给出某一角度或者高度的雷达回波情况,不能很好的表达出不同大气状态下的形态特点,而直接用原始三维多普勒天气雷达数据进行预测虽然能够得到更多的雷达回波信息,但是三维神经网络相比二维神经网络模型参数更多,需要的算力也更高,即使是一般的GPU运行起来也存在一定的困难,可能会出现内存溢出或是程序运行异常慢的问题。
发明内容
本发明的目的是提供一种基于MPI并行的三维神经网络的强对流天气预测方法,能够在提升强对流天气预测准确度的同时,有效实现预测程序的负载平衡。
本发明采用下述技术方案:
一种基于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个预处理后的多普勒雷达回波数据,输入至训练后的三维神经网络内进行强对流天气预测。
所述的步骤A包括以下具体步骤:
A1:对多个原始多普勒雷达数据中的雷达回波数据依次进行采集,采集时将雷达回波数据中的高度、距离和方位角分别作为一个维度存入三维矩阵中,然后按照采集顺序分别将三维矩阵以对应的原始多普勒雷达数据的名称存储为txt文本,作为预处理后的多普勒雷达回波数据;每个原始多普勒雷达数据的名称均包含雷达回波的记录时间;
A2:依据名称中存储的雷达回波的记录时间,分别计算预处理后的多普勒雷达回波数据中相邻两个多普勒雷达回波数据的时间差,若相邻两个多普勒雷达回波数据的时间差大于设定的时间差阈值T,则判定这两个相邻的多普勒雷达回波数据中存在多普勒雷达回波数据缺失,然后按照均值填补的方法对缺失的多普勒雷达回波数据进行填补,最终得到三维神经网络的训练数据集;
A3:将步骤A2中得到的三维神经网络的训练数据集中,以相邻的N个多普勒雷达回波数据作为一组输入数据,将三维神经网络的训练数据集划分为多组训练输入数据。
所述的步骤B中:
子网络a和子网络b中的单次数据特征提取层,均以待进行单次特征提取的输入数据作为输入,利用数据特征提取模块对多普勒雷达回波数据进行单次特征提取,然后将提取得到的经单次特征提取后的特征矩阵进行输出;
单次特征提取时数据特征提取模块的输入输出关系为:
其中,Input1n表示待进行单次特征提取的三维神经网络的训练数据集中的第n组训练输入数据,Output1n表示经单次特征提取后的特征矩阵中的第n组输出数据,kernel表示卷积核大小,padding表示填充值,step表示卷积运算的步长;n为自然数;
循环数据特征提取层,首先以待进行循环特征提取的输入数据作为输入,利用数据特征提取模块对多普勒雷达回波数据进行一次特征提取,然后将经一次特征提取后得到的特征矩阵进行输出;然后再以经一次特征提取后得到的特征矩阵作为输入,再次利用数据特征提取模块对多普勒雷达回波数据进行二次特征提取,最终将经循环特征提取后得到的特征矩阵进行输出;
一次特征提取时数据特征提取模块的输入输出关系为:
二次特征提取时数据特征提取模块的输入输出关系为:
其中,Input2n表示待进行循环特征提取的三维神经网络的训练数据集中的第n组训练输入数据,Output2n表示经一次特征提取后的特征矩阵中的第n组输出数据,Output3n表示经循环特征提取后的特征矩阵中的第n组输出数据;
数据特征平均融合层,将子网络a和子网络b中对应层特征进行覆盖融合;即将子网络b中每一层单次数据特征提取层提取后的特征矩阵与a网络中对应的循环数据特征提取层提取后的特征矩阵相融合,再输入子网络b中相同层的循环数据特征提取层。
所述的数据特征提取模块,从上至下依次为三维卷积操作、三维批归一化操作和Relu激活函数。
子网络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。
在使用子网络b中的数据特征平均融合层对两个待融合的特征矩阵进行融合时:
首先,对两个待融合的特征矩阵进行处理,将两个特征矩阵中特征值小于零的特征点的特征值全部替换为零;
然后,若两个特征矩阵的相应位置的特征值均为零,则融合后的上采样矩阵该位置的特征值还为零;
若两个特征矩阵的相应位置的特征值中,一个特征矩阵的特征值是零,另一个特征矩阵的特征值非零,则融合后的上采样矩阵的该位置的特征值采用对应的非零特征值;
若两个特征矩阵的相应位置的特征值都是非零,则融合之后的上采样矩阵的特征值为两个非零特征值的平均数。
所述的步骤C包括以下步骤:
C1:使用TorchScript的方式,将基于python构建的三维神经网络转化成可序列化模型;
C2:在C++中导入序列化后的三维神经网络模型,用PyTorch读取序列化之后的三维神经网络模型并进行编译部署,生成可执行程序。
所述的步骤D包括以下步骤:
D1:用命令行输入进入三维神经网络模型生成的可执行程序的所在目录;
D2:用命令行调用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并行的三维神经网络进行训练,最终得到训练后的三维神经网络。
所述的步骤F中,根据待预测时间范围M,计算得出所输入的多普勒雷达回波数据的个数N,然后将最新的N个预处理后的多普勒雷达回波数据,输入至训练后的三维神经网络内进行强对流天气预测;
本发明通过对原始多普勒雷达数据中的雷达回波数据进行预处理和缺失文件填补,以得到准确的三维神经网络的训练数据集,为三维神经网络的训练提供准确的数据基础。
本发明通过建立包含子网络a和子网络b且基于python的三维神经网络模型,利用数据特征提取模块提取输入数据中的特征,以解决训练过程中的梯度耗散问题,加快训练速度,并使每次提取的特征更具有代表性,增强三维神经网络模型的泛化性,使训练结果更稳定;同时还通过循环特征提取的方法对历史数据进行拟合,以提高预测准确度,并避免长短时记忆网络等循环神经网络在训练过程中的不稳定性。
本发明还通过构建数据特征平均融合模块,将子网络a和子网络b中对应层特征进行覆盖融合,在融合过程中特征矩阵的通道数不变,只改变特征矩阵相应位置的值,这样既能防止神经网络训练过程中对内存的过度消耗,又能保证训练过程中特征矩阵含有更多的特征参数,改善上采样时信息不足的问题。
本发明还通过将基于python的三维神经网络模型转换成基于C++语言的三维神经网络,并在训练时利用MPI来实现神经网络的数据并行,采用消息传递的方式实现并行程序之间的通信,以实现程序负载平衡,在极大地减少运行时间的同时又提高了程序的性能。
附图说明
图1为本发明的流程示意图。
具体实施方式
以下结合附图和实施例对本发明作以详细的描述:
如图1所示,本发明所述的一种基于MPI并行的三维神经网络的强对流天气预测方法,包括以下步骤:
A:从原始多普勒天气雷达中读取雷达回波数据,生成三维神经网络训练数据集,并将三维神经网络训练数据集划分为多组输入数据;
所述的步骤A包括以下具体步骤:
A1:对多个原始多普勒雷达数据中的雷达回波数据依次进行采集,采集时将雷达回波数据中的高度、距离和方位角分别作为一个维度存入三维矩阵中,然后按照采集顺序分别将三维矩阵以对应的原始多普勒雷达数据的名称存储为txt文本,作为预处理后的多普勒雷达回波数据;每个原始多普勒雷达数据的名称均包含雷达回波的记录时间。
本申请中,每个原始多普勒雷达数据均包含记录时间点的雷达扫描范围内的雷达回波数据情况,每个雷达回波数据均是以雷达为中心且以高度、方位角和距离为参数的极坐标数据。每个原始多普勒雷达数据的名称中均包含雷达参数、站点代号和记录时间,因此各个原始多普勒雷达数据的名称不同。
A2:依据名称中存储的雷达回波的记录时间,分别计算预处理后的多普勒雷达回波数据中相邻两个多普勒雷达回波数据的时间差,若相邻两个多普勒雷达回波数据的时间差大于设定的时间差阈值T,则判定这两个相邻的多普勒雷达回波数据中存在多普勒雷达回波数据缺失,然后按照均值填补的方法对缺失的多普勒雷达回波数据进行填补,最终得到三维神经网络的训练数据集;
本发明中,可以从多普勒雷达回波数据的名称中,获取每个多普勒雷达回波数据中雷达回波的记录时间Ct与前一个多普勒雷达回波数据中雷达回波的记录时间Ct-1,然后计算相邻两个多普勒雷达回波数据的时间差若时间差大于设定的时间差阈值T,则按照均值填补的方法计算出缺失的多普勒雷达数据并进行填补。均值填补法为本领域常规技术,在此不再赘述。时间差阈值T可设定为六分钟。经过填补后的按顺序排列的所有多普勒雷达回波数据,构成三维神经网络的训练数据集。
A3:将步骤A2中得到的三维神经网络的训练数据集划分为多组训练输入数据;
本发明中,以相邻的N个多普勒雷达回波数据作为一组输入数据,将三维神经网络的训练数据集划分为多组训练输入数据。每组训练输入数据中所包含的多普勒雷达回波数据的个数N,与时间差阈值T相乘后可确定所预测的强对流天气的时间范围M,M=N×T,即本申请可预测M分钟内是否会出现强对流天气。
本实施例中,可以以第1个至第N个多普勒雷达回波数据作为第一组输入数据,将第2个至第1+N个多普勒雷达回波数据作为第二组输入数据,将第n个至第n-1+N个多普勒雷达回波数据作为第n组输入数据,依此类推,n为自然数。
B:建立基于python的三维神经网络模型,三维神经网络包含子网络a和子网络b;
其中,子网络a的结构从上至下依次为:子网络a第一循环数据特征提取层、子网络a第一最大池化层、子网络a第二循环数据特征提取层、子网络a第二最大池化层、子网络a第三循环数据特征提取层、子网络a第三最大池化层、子网络a第四循环数据特征提取层、子网络a第四最大池化层、子网络a第五循环数据特征提取层和Dropout层;
子网络a第一循环数据特征提取层至子网络a第五循环数据特征提取层的卷积核大小均为3,卷积步长均为1,卷积核通道数依次为64、128、256、512和1024。
子网络b的结构从上至下依次为:子网络b第一单次数据特征提取层,子网络b第一数据特征平均融合层,子网络b第一循环数据特征提取层,子网络b第二数据单次特征提取层,子网络b第二数据特征平均融合层,子网络b第二循环数据特征提取层,子网络b第三单次数据特征提取层,子网络b第三数据特征平均融合层,子网络b第三循环数据特征提取层,子网络b第四单次数据特征提取层,子网络b第四数据特征平均融合层和子网络b第四循环数据特征提取层和子网络b第五单次数据特征提取层;
子网络b第一单次数据特征提取层至子网络b第五单次数据特征提取层的卷积核大小均为3,卷积步长均为1,卷积核通道数依次为1024、512、256、128、64;子网络b第一循环数据特征提取层至子网络b第四循环数据特征提取层的卷积核大小均为3,卷积步长均为1,卷积核通道数依次为1024、512、256、128。
本发明中,子网络a和子网络b中的单次数据特征提取层,均以待进行单次特征提取的输入数据作为输入,利用数据特征提取模块对多普勒雷达回波数据进行单次特征提取,然后将提取得到的经单次特征提取后的特征矩阵进行输出;
单次特征提取时数据特征提取模块的输入输出关系为:
其中,Input1n表示待进行单次特征提取的三维神经网络的训练数据集中的第n组训练输入数据,Output1n表示经单次特征提取后的特征矩阵中的第n组输出数据,kernel表示卷积核大小,padding表示填充值,step表示卷积运算的步长;n为自然数;
由于多普勒雷达回波数据的时间相关性和空间相关性都比较高,仅简单的对数据进行单次特征提取还不足以对其进行准确预测。因此,本发明中还增设有循环特征提取步骤,不仅可以对其历史数据进行拟合,提高预测准确度,还能避免长短时记忆网络等循环神经网络在训练过程中的不稳定性。
循环数据特征提取层,首先以待进行循环特征提取的输入数据作为输入,利用数据特征提取模块对多普勒雷达回波数据进行一次特征提取,然后将经一次特征提取后得到的特征矩阵进行输出;然后再以经一次特征提取后得到的特征矩阵作为输入,再次利用数据特征提取模块对多普勒雷达回波数据进行二次特征提取,最终将经循环特征提取后得到的特征矩阵进行输出;
一次特征提取时数据特征提取模块的输入输出关系为:
二次特征提取时数据特征提取模块的输入输出关系为:
其中,Input2n表示待进行循环特征提取的三维神经网络的训练数据集中的第n组训练输入数据,Output2n表示经一次特征提取后的特征矩阵中的第n组输出数据,Output3n表示经循环特征提取后的特征矩阵中的第n组输出数据;
本实施例中,数据特征提取模块从上至下依次为三维卷积操作、三维批归一化操作和Relu激活函数。数据特征提取模块用于提取输入数据中的特征,不仅可以解决训练过程中的梯度耗散问题,加快训练速度,还能使得每次提取的特征更具有代表性,增强了三维神经网络模型的泛化性,使训练结果更稳定。
本发明中,子网络a在训练时,对输入数据进行降采样,使输入数据中的特征矩阵大小逐步减小;子网络b在训练时,对输入数据进行上采样,使输入数据中的特征矩阵大小逐步增大至与输入数据相同大小。由于在降采样的过程中,数据的参数是逐步减少且不会随着上采样的过程而增加,为了保证神经网络学到更多的特征参数,改善上采样时信息不足的问题,本发明中增设有数据特征平均融合模块,在融合过程中特征矩阵的通道数不变,只改变矩阵的值,这样既不会增加神经网络训练过程中对内存的消耗,又能保证神经网络学到更多的特征参数。通过构建数据特征平均融合模块将子网络a和子网络b中对应层特征进行覆盖融合;即将子网络b中每一层单次数据特征提取层提取后的特征矩阵与a网络中对应的循环数据特征提取层提取后的特征矩阵相融合,再输入子网络b中相同层的循环数据特征提取层。
在使用子网络b中的数据特征平均融合层对两个待融合的特征矩阵进行融合时:
首先,对两个待融合的特征矩阵进行处理,将两个特征矩阵中特征值小于零的特征点的特征值全部替换为零,以简化融合过程中的计算步骤,提高神经网络的运行速度。
然后,若两个特征矩阵的相应位置的特征值均为零,则融合后的上采样矩阵该位置的特征值还为零;
若两个特征矩阵的相应位置的特征值中,一个特征矩阵的特征值是零,另一个特征矩阵的特征值非零,则融合后的上采样矩阵的该位置的特征值采用对应的非零特征值;
若两个特征矩阵的相应位置的特征值都是非零,则融合之后的上采样矩阵的特征值为两个非零特征值的平均数;
本实施例中,设矩阵a和矩阵b分别代表子网络a输出的降采样特征矩阵和子网络b输出的上采样特征矩阵,a[i,j,k]表示在矩阵a中坐标为(i,j,k)的点,b[i,j,k]表示在矩阵b中坐标为(i,j,k)的点,在将矩阵a融合到矩阵b中时:
若a[i,j,k]位置的数据为0,b[i,j,k]位置的数据为0,则融合之后的b[i,j,k]位置的数据为0;
若a[i,j,k]位置的数据为X1,b[i,j,k]位置的数据为0,则融合之后的b[i,j,k]位置的数据为X1;
若a[i,j,k]位置的数据为0,b[i,j,k]位置的数据为X1,则融合之后的b[i,j,k]位置的数据为X1;
C:将建立的基于python的三维神经网络模型,转换成基于C++语言的三维神经网络;
所述步骤C包括以下步骤:
C1:使用TorchScript的方式,将基于python构建的三维神经网络转化成可序列化模型;
TorchScript是一种从PyTorch代码创建可序列化模型的方法。任何TorchScript程序都可以从Python进程中保存,并加载到没有Python依赖的进程中。
C2:在C++中导入序列化后的三维神经网络模型,用PyTorch读取序列化之后的三维神经网络模型并进行编译部署,生成可执行文件。
本发明中,由于MPI并行语言主要是C、C++等语言,而直接用C或C++语言来构建神经网络十分繁琐,相对于用python语言来构建神经网络难度较大,所以在步骤B中基于python构建三维神经网络,再利用TorchScript方式将其转化成可序列化的模型,并通过C++生成可执行程序,以.exe文件方式存储。
D:利用MPI实现基于C++语言的三维神经网络的数据并行设计,提高神经网络训练速度,实现程序的负载均衡。
所述步骤D包括以下步骤:
D1:用命令行输入进入三维神经网络模型生成的可执行程序的所在目录;
D2:用命令行调用MPI实现三维神经网络模型生成的可执行程序的数据并行,并设置并行核数。
E:利用步骤A中生成的训练数据集,对步骤D中得到的基于MPI并行的三维神经网络进行训练,最终得到训练后的三维神经网络。
MPI是现有集群系统中最重要的并行编程工具,它采用消息传递的方式实现并行程序之间的通信,对于程序实现负载平衡有着重要的意义。
本发明中,在对基于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并行的三维神经网络进行训练,最终得到训练后的三维神经网络;
F:根据待预测时间范围M,计算得出所输入的多普勒雷达回波数据的个数N,然后将最新的N个预处理后的多普勒雷达回波数据,输入至训练后的三维神经网络内进行强对流天气预测;
Claims (10)
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并行的三维神经网络进行训练,最终得到训练后的三维神经网络。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110832813.7A CN113568068B (zh) | 2021-07-22 | 2021-07-22 | 一种基于mpi并行的三维神经网络的强对流天气预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110832813.7A CN113568068B (zh) | 2021-07-22 | 2021-07-22 | 一种基于mpi并行的三维神经网络的强对流天气预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113568068A CN113568068A (zh) | 2021-10-29 |
CN113568068B true CN113568068B (zh) | 2022-03-29 |
Family
ID=78166428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110832813.7A Active CN113568068B (zh) | 2021-07-22 | 2021-07-22 | 一种基于mpi并行的三维神经网络的强对流天气预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113568068B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114509825B (zh) * | 2021-12-31 | 2022-11-08 | 河南大学 | 基于混合进化算法改进三维对抗生成神经网络的强对流天气预测方法及系统 |
CN115755227B (zh) * | 2023-01-10 | 2023-04-14 | 南京信大气象科学技术研究院有限公司 | 一种基于深度神经网络模型的三维雷达外推方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102469103A (zh) * | 2011-07-01 | 2012-05-23 | 中国人民解放军国防科学技术大学 | 基于bp神经网络的木马事件预测方法 |
CN107633296A (zh) * | 2017-10-16 | 2018-01-26 | 中国电子科技集团公司第五十四研究所 | 一种卷积神经网络构建方法 |
CN108140141A (zh) * | 2015-08-15 | 2018-06-08 | 易享信息技术有限公司 | 采用3d批归一化的三维(3d)卷积 |
CN110929543A (zh) * | 2018-08-30 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 一种气象数据处理方法及装置 |
CN111220958A (zh) * | 2019-12-10 | 2020-06-02 | 西安宁远电子电工技术有限公司 | 基于一维卷积神经网络的雷达目标多普勒像分类识别方法 |
CN112699786A (zh) * | 2020-12-29 | 2021-04-23 | 华南理工大学 | 一种基于空间增强模块的视频行为识别方法及系统 |
CN112949934A (zh) * | 2021-03-25 | 2021-06-11 | 浙江万里学院 | 基于深度学习的短时强降雨预测方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200372337A1 (en) * | 2019-05-21 | 2020-11-26 | Nvidia Corporation | Parallelization strategies for training a neural network |
EP3767332B1 (en) * | 2019-07-18 | 2023-12-13 | Aptiv Technologies Limited | Methods and systems for radar object detection |
-
2021
- 2021-07-22 CN CN202110832813.7A patent/CN113568068B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102469103A (zh) * | 2011-07-01 | 2012-05-23 | 中国人民解放军国防科学技术大学 | 基于bp神经网络的木马事件预测方法 |
CN108140141A (zh) * | 2015-08-15 | 2018-06-08 | 易享信息技术有限公司 | 采用3d批归一化的三维(3d)卷积 |
CN107633296A (zh) * | 2017-10-16 | 2018-01-26 | 中国电子科技集团公司第五十四研究所 | 一种卷积神经网络构建方法 |
CN110929543A (zh) * | 2018-08-30 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 一种气象数据处理方法及装置 |
CN111220958A (zh) * | 2019-12-10 | 2020-06-02 | 西安宁远电子电工技术有限公司 | 基于一维卷积神经网络的雷达目标多普勒像分类识别方法 |
CN112699786A (zh) * | 2020-12-29 | 2021-04-23 | 华南理工大学 | 一种基于空间增强模块的视频行为识别方法及系统 |
CN112949934A (zh) * | 2021-03-25 | 2021-06-11 | 浙江万里学院 | 基于深度学习的短时强降雨预测方法 |
Non-Patent Citations (6)
Title |
---|
A Comparison of Neural-Network and Surrogate-Severe Probabilistic Convective Hazard Guidance Derived from a Convection-Allowing Model;Ryan A. Sobash;《Weather and forecasting》;20201231;全文 * |
Modeling and Prediction of Near-Earth Plasma Sheet Parameters Using the Rice Convection Model and the Recurrent Neural Network;Shishir Priyadarshi;《Frontiers in Astronomy and Space Sciences》;20210609;全文 * |
人工神经网络方法在利用天气雷达识别强对流天气中的应用研究;蒋义芳;《2002年全国重大灾害性天气过程总结和预报技术经验交流会》;20021231;全文 * |
基于BP神经网络并行算法的研究;李会娜,周根宝;《内蒙古农业大学学报(自然科学版)》;20120627;全文 * |
基于深度神经网络与MPI并行计算的人脸识别算法研究;柏涛涛;《西安文理学院学报(自然科学版)》;20200610;全文 * |
基于深度神经网络的强对流天气识别算法;王兴;《科学技术与工程》;20210511;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113568068A (zh) | 2021-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109902885B (zh) | 基于深度学习混合cnn-lstm模型的台风预测方法 | |
CN113568068B (zh) | 一种基于mpi并行的三维神经网络的强对流天气预测方法 | |
US20230186056A1 (en) | Grabbing detection method based on rp-resnet | |
CN111985369A (zh) | 基于跨模态注意力卷积神经网络的课程领域多模态文档分类方法 | |
CN111507521A (zh) | 台区电力负荷预测方法及预测装置 | |
CN111767827A (zh) | 一种基于深度学习的中尺度涡旋识别方法 | |
CN110599502A (zh) | 一种基于深度学习的皮肤病变分割方法 | |
CN112949821B (zh) | 基于双重注意力机制的网络安全态势感知方法 | |
CN111242351A (zh) | 基于自编码器和gru神经网络的热带气旋轨迹预测方法 | |
US20210182357A1 (en) | System and method for model parameter optimization | |
CN114283120B (zh) | 一种基于领域自适应的端到端多源异质遥感影像变化检测方法 | |
CN109766481A (zh) | 基于协同矩阵分解的在线哈希跨模态信息检索方法 | |
CN115497002A (zh) | 一种多尺度特征融合的激光雷达遥感分类方法 | |
CN114998373A (zh) | 基于多尺度损失函数的改进型U-Net云图分割方法 | |
CN113269182A (zh) | 一种基于变体transformer对小区域敏感的目标果实检测方法及系统 | |
CN116863347A (zh) | 一种高效率和精度的遥感图像语义分割方法及应用 | |
CN115082778B (zh) | 一种基于多分支学习的宅基地识别方法及系统 | |
CN115170807B (zh) | 一种图像分割、模型训练方法、装置、设备及介质 | |
CN116311349A (zh) | 一种基于轻量神经网络的人体关键点检测方法 | |
CN115527113A (zh) | 一种遥感图像裸土地分类方法及装置 | |
CN115205884A (zh) | 票据信息提取方法及其装置、设备、介质、产品 | |
CN114742177A (zh) | 基于AGA-XGBoost和GWO-SVM的气象数据分类方法 | |
CN113344205A (zh) | 一种基于蒸馏关系的抽取加速方法及装置 | |
CN112560719A (zh) | 基于多尺度卷积-多核池化的高分辨率影像水体提取方法 | |
CN113537573A (zh) | 基于双重时空特征提取的风电功率运行趋势预测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240111 Address after: No. 37, 8th Floor, Building 14, Century Harbor, No. 65 Fengqing Road, Jinshui District, Zhengzhou City, Henan Province, 450002 Patentee after: Henan Xilin Culture and Technology Development Co.,Ltd. Address before: 475001 No.85, Minglun street, Shunhe Hui District, Kaifeng City, Henan Province Patentee before: Henan University |