第四十七周:文献阅读+AGCN+Wavenet network

news2024/11/27 3:47:30

目录

摘要

Abstract

文献阅读:结合自适应图卷积和CNN-LSTM的多站点水质预测模型

现有问题

提出方法

方法论

Adaptive graph convolution network(自适应图卷积网络)

WaveNet network(WaveNet网络)

CNN-LSTM混合模型

论文方法

时空网络融合策略

W-WaveNet模型

研究实验

数据集

基线模型

相关性分析

评估指标

实验结果

总结


摘要

本周阅读的文献《W-WaveNet: A multi-site water quality prediction model incorporating adaptive graph convolution and CNN-LSTM》中,提出了一个由WaveNet网络、LSTM网络和自适应图卷积网络相结合的多站点水污染预测方法W-WaveNet。其中自适应图卷积模型用于自动学习各站点之间的相关性,WaveNet网络用于提取局部特征,LSTM网络用于建模数据特征依赖关系。问题难点在于多站点情况中,如果直接对节点特征进行图卷积运算就会忽略了这种空间相关性的非对齐,通过理论证明了时空网络融合策略能够解决空间相关性的不对准问题。因此,该网络不仅可以处理复杂的时间依赖关系,还可以处理不同时间跨度的非对齐空间相关性,适用于水质数据处理。

Abstract

The literature "W-WaveNet: A multi-site water quality prediction model incorporating adaptive
graph convolution and CNN-LSTM" read this week, proposes a multi-site water pollution prediction method W-WaveNet, which combines WaveNet network, LSTM network, and adaptive graph convolutional network. The adaptive graph convolutional model is used to automatically learn the correlation between different sites, the WaveNet network is used to extract local features, and the LSTM network is used to model the dependency relationship of data features. The difficulty lies in the multi site situation, where directly performing graph convolution on node features will ignore the misalignment of spatial correlation. It has been theoretically proven that the spatiotemporal network fusion strategy can solve the problem of spatial correlation misalignment. Therefore, this network can not only handle complex temporal dependencies, but also handle non aligned spatial correlations across different time spans, making it suitable for water quality data processing.

文献阅读:结合自适应图卷积和CNN-LSTM的多站点水质预测模型

W-WaveNet: A multi-site water quality prediction model incorporating adaptive graph convolution and CNN-LSTMicon-default.png?t=N7T8https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0276155

2024 

现有问题

  1. 目前基于深度学习的水污染分析模型主要集中在将LSTM模型与其他机器学习方法相结合。这些模型存在并行计算困难、训练和评价时间长、梯度爆炸和梯度消失等问题。
  2. 现有的大多数用于水质预测的深度学习模型都是针对单站点数据的,只考虑了水质数据的时间依赖性,而忽略了多站点之间的空间相关性。CNN-LSTM混合模型近年来在水质分析领域得到了广泛的应用并取得了优异的性能,但这些模型在多站点的情况下没有考虑空间相关性。

提出方法

时空图卷积模型兼顾了时间和空间的相关性,在很多领域都取得了很好的效果。为了同时处理水质污染数据的时间依赖性和空间依赖性,因此,本研究将CNN-LSTM模型融合到时空图模型中,提出了一种集成自适应图卷积和卷积神经网络长短期记忆(CNN-LSTM)的多站点水污染预测方法W-WaveNet,它通过交错叠加将时间和空间模型集成在一起,应用于多站点水质预测领域。

创新点

  1. 本文首先定义并分析了多站点水质数据中存在的非对齐空间相关性,然后利用一维和图卷积公式推导出本文所描述的时空块的输入输出相关性。理论分析表明,时空块可以处理水质数据中的非对齐空间依赖性,并可用于各种长度的时间跨度。
  2. 提出了一种多站点水污染预测方法W-WaveNet,通过多个WaveNet和自适应图卷积网络的交错堆叠,然后连接LSTM,将这三个网络融合在一起。其中WaveNet网络用于提取局部特征,LSTM网络用于建模数据特征依赖关系,自适应图卷积网络用于建模空间关联关系。

方法论

Adaptive graph convolution network(自适应图卷积网络)

GCN(图卷积神经网络)

GCN实际上跟CNN的作用一样,就是一个特征提取器,只不过它的对象是图数据。GCN精妙地设计了一种从图数据中提取特征的方法,从而让我们可以使用这些特征去对图数据进行节点分类(node classification)、图分类(graph classification)、边预测(link prediction),还可以顺便得到图的嵌入表示(graph embedding)。初期研究者为了从数学上严谨的推导GCN公式是有效的,所以会涉及到诸如傅里叶变换,拉普拉

相比于ChebNet而言,GCN的卷积核更小,参数量也更少,计算复杂度也随之变小了,可以说是将chebnet进行了简化,它等价于最简的一阶切比雪夫卷积。

GCN公式推导:

7f0cc7f1e5154be0b8a01259ed946fa6.png

假设有一个图数据,一共有N个节点(node),每个节点都有自己的特征,我们设这些节点的特征组成一个N×D维的矩阵X,然后各个节点之间的关系也会形成一个N×N维的矩阵A,也称为邻接矩阵(adjacency matrix)。X和A便是我们模型的输入。

f72af24cee824dc09149d85e1493cc3d.png

​ 下图就是GCN网络层的基础公式,这个式子的意思就是,先把node feature(x)mm经过一个transform,把所有的邻居节点以及它自己本身加起来取平均值,再加一个b经过一个activation之后就会得到最后的eq?h_%7Bv%7D

0adcb8527a4c4cbdb0b3d37b6fffc43a.png

通过一个例子对公式原理进行分析

2b187abeabe14b67afc3b97983005e60.png

下一层某一节点的向量表示就是当前层节点向量表示的和,这其实是一个消息传递的过程,经这样消息传递的操作后,下一层的节点就聚集了它一阶邻居与自身的信息。这就很有效的保留了图结构给我们承载的信息。因此eq?%5Cwidetilde%7BA%7DH%5E%7BI%7D的含义即聚合周围节点的信息,来更新自己。

而简单的聚合却不太合理,因为不同的节点重要性不一样,如果一个节点的「度」非常大,即与他相邻的节点非常多,那么它传递的消息,权重就应该小一点。对于度矩阵D,其数值就是代表一个节点的邻居节点数量,所以乘以度矩阵的逆也就是稀释掉度很大的节点的重要度。

b85a5d9e6c7141138e6070c6350ce8ef.png


GCN也是一个神经网络层,这里的权重是所有节点共享的,类比于CNN中的参数共享;另外可以将节点的邻居节点看成感受野,随着网络层数的增加,感受野越来越大,即节点的特征融合了更多节点的信息。直观的图卷积示意图如下::

aba47bd08a8c448b8c9824514a9acf95.png

每一层GCN的输入都是邻接矩阵A和node的特征H,再乘一个参数矩阵W,然后激活一下,这就相当于一个简单的神经网络层,但是这种做法存在局限性。

时空图卷积

时空图卷积是一种图形神经网络,用于解决涉及动态图的问题。将多个水质监测点组成一个图,利用图中节点之间的关系来表示水质监测点之间的空间关系。时空图卷积利用图卷积来捕获空间相关性,而时间相关性以各种方式处理。基于处理时间相关性的方式,时空卷积可以分为两个方向:基于RNN和基于CNN。GCN从空间的角度对节点的邻域信息进行聚合和处理,从而平滑节点的信号。这种方法的优点是它的过滤器作为一个合成层定位在空间中,并且它允许多维输入。本文使用的GCN可以简单地用方程描述: 

Z=AXW (A\in \mathbb{R}^{n\times n},W\in \mathbb{R}^{n\times n},X\in \mathbb{R}^{n\times f\times s})

其中A表示邻接矩阵,W为模型参数,X为模型输入,n为图中节点数,S表示水污染数据的输入序列长度。 

模块的整体架构如图所示,黄块表示可学习的参数。 其中X_{in}X_{out}分别表示输入和输出数据,W是图形卷积参数,A_{\alpha }B_{\alpha }C_{\alpha }是自适应模块的三部分,表达式如下:

X_{out}=(A_{\alpha }+B_{\alpha }+C_{\alpha })X_{in}W

A_{\alpha }表示原始邻接矩阵即节点的地理信息,由于测量误差、计算公式等原因,通常不能很好地描述节点之间的关系。当节点关系难以度量时,甚至可以直接去除A_{\alpha }B_{\alpha }是在训练之前随机初始化的网络参数,完全从数据中学习,这意味着它不会受到任何限制,可以在节点之间生成连接,此功能增强了自适应模块的灵活性。C_{\alpha }表示通过数据学习获得的节点的嵌入表示,表达式如下:

C_{\alpha }=SoftMax(ReLU(E_{1}E_{2}^{T}))      

其中E_{1}E_{2}是随机初始化矩阵,分别表示源节点和目标节点的节点嵌入。源节点和目的地节点之间的空间相关性权重可以通过将E_{1}E_{2}相乘来计算,使用ReLU激活功能消除低相关性的连接。然后,使用softmax函数对自适应邻接矩阵进行归一化。

WaveNet network(WaveNet网络)

原论文:https://arxiv.org/abs/1609.03499

 WaveNet是一种用于创建原始音频波形的深度神经网络,最近已被用于多项时间序列分析研究,并取得了可喜的成果。WaveNet网络由几个相同的块组成,每个块都有一个扩张的因果卷积,图中的TCN表示扩张的因果卷积。又因怕引起梯度消失,所以引入了一个门控卷积网络和一个残差连接。结构如下图所示。

WaveNet的主要思想是利用前t-1个样本点,预测第t个样本点。WaveNet的基本构建模块是膨胀卷积,它取代了RNN获取上下文信息的功能

因果卷积

下图具有三个隐藏层,这些隐藏层使用上一层的信息。第一层输入通过一维卷积层以生成第二层的数据。卷积可以并行完成,这与RNN的场景不同。在 RNN中,每个数据点都需要前一个输人依次传入。为了收集更多上下文,我们可以增加层数。对于三层隐藏,层位于第五层的输出将从输入层的五个节点获取上下文信息。因此,每多一层隐藏层将增加1个输入节点到上下文中。如果要实现上下文容纳能力为50~100的实际限制,网络需要有98层,这在计算上是很昂贵的。

扩张的因果卷积(膨胀卷积)

下图展示了WaveNet中使用的膨胀卷积,其中每层膨胀系数不同,最后输出的黄色点1,由16个蓝色输入点决定,再把黄点1作为输入,与后面的15个蓝色点拼接,也是16点作为新的输入,预测黄点2,以此类推。基于膨胀卷积和3个隐藏层,先前的实现覆盖了16个输人节点,而没有膨胀卷积的实现仅覆盖了5个输入节点。

WaveNet的主要成分为扩展因果卷积,与基于RNN的方法不同,扩张因果卷积可以以非递归的方式处理大型时间序列,使并行计算更容易,并缓解梯度爆炸问题。

每个层都有一个分支的输出,最后会合并到一起,再经过下面的Relu等。 

CNN-LSTM混合模型

卷积神经网络利用局部相关性和数据权重共享的概念,大大减少了网络中的参数数量,同时还允许并行性和快速训练速度。LSTM是一种升级的RNN模型,旨在克服长序列数据训练过程中的梯度消失和梯度爆炸问题,LSTM可以在更长的序列中具有更好的性能。近年来将CNN和LSTM结合起来,以结合两种模型的优点。模型的CNN组件用于提取局部趋势元素以及存在于时间序列中不同间隔的共同特征。然后,LSTM通过捕获短期和长期依赖关系来学习顺序关系。理论和实践表明,以合理的方式组合CNN和LSTM模型可以产生比单独使用它们更好的结果。混合模型结构如图所示,输入数据通过1×1卷积来增加维度,然后依次通过许多CNN网络,其结果插入LSTM网络,最后通过线性网络输出结果。

论文方法

时空网络融合策略

为了形成时空图卷积模型,需要将时间网络与空间网络融合。融合方法如图所示,数据首先在时间维度上通过一维卷积,然后每个输出通道的数据在空间维度上通过GCN网络。这个过程重复多次,最后通过LSTM网络。

将GCN模块放置在卷积之后就能够解决允许模型处理数据的非对齐相关性,理论证明如下:

单个卷积和单个GCN的组合可以处理多达k个时间步长的数据相关。为了处理更长的数据关联,有两种方法:一种是增加k的值,另一种是堆叠多个模块。堆叠多个模块不仅可以处理较长的数据关联,还可以增强模型的表达能力。这就是为什么模型可以处理的序列长度会随着堆栈的数量线性增长。

最重要的是,上述分析是在普通卷积的背景下进行的,而本方法使用的是扩张卷积,因此可以处理的序列的长度随着堆栈的数量呈指数增长。

W-WaveNet模型

在现实中,多个水质监测站点往往放置在一个河段上,这些站点之间存在很强的相关性,我们称之为空间相关性。一个理想的模型应该能够估计当上游突然污染时下游数据将如何受到影响。这只能通过考虑空间相关性的模型来实现。空间相关性和时间相关性一样复杂。流速、环境、季节等因素都会影响水质数据的空间相关性,使水质数据具有非线性和不稳定性。

本文首次提出了一种基于图时空的水质数据空间相关性处理模型,模型W-WaveNet通过上述融合策略融合了WaveNet网络、自适应图卷积网络(AGCN)网络和CNN-LSTM网络,并添加了剩余连接和跳过连接。

  1. 首先将WaveNet网络连接到AGCN网络;
  2. 然后将TCN的输出作为跳跃连接引出;
  3. 最后将AGCN网络的输入和输出用剩余连接连接在一起。

AGCN上的剩余连接使得在训练网络时更容易将梯度传递回TCN网络,这样组成的网络可以处理时间依赖性以及空间依赖性,因此被称为时空网络,其结构如图所示,称为ST-Block。 一个单一的时空网络(ST块)的框架,通过组合先前描述的WaveNet网络和自适应图形卷积网络来创建时空块,并在AGCN中添加了剩余网络。 

W-WaveNet框架将每个时空块的跳过结果与堆叠输出相结合,并最终通过LSTM网络计算结果(所有的时空块通过跳跃连接彼此连接)。 整体框架如下图所示。

研究实验

在实验部分,本研究在两个真实的水质断面上验证了模型的性能,每个数据集使用平均关联站点数来衡量空间关联度。使用各种测量因子将模型的实验结果与SVR、RF、CNN-LSTM和STGCN的结果进行比较。结果表明,在这项研究中提出的模型可以大大提高预测的情况下,网站之间的相关性确实存在。

数据集

本文所用数据来自福建省某流域的两个断面(A和B),由水质在线监测设备自动采集数据,再通过网络上传到云平台。这两段位于同一条河流的不同支流上,A段共设10个监测站,部分通过河流连接,部分通过地下管网连接。选择2020年1月1日至2020年10月31日的每小时数据。数据点总数约为24000个,每个数据点包含6个水质因子:pH值、总氮(TN)、总磷(TP)、氨氮(NH3)、溶解氧(DO)和高锰酸盐指数(CODmn)。数据间隔为4小时。采用相同的方法对B段中的数据进行滤波。最后选取了2019年10月1日至2021年9月30日的数据。数据总量约为30.000。数据间隔也是4小时。本研究将上述处理后的数据按7:1:2的比例分为训练集、验证集和测试

基线模型

  1. 随机森林(RF)和支持向量回归(SVR)两种浅层机器学习模型
  2. 将多个WaveNet单元堆叠起来,构建一个深度学习模型,其中每个WaveNet单元的内部参数都不同。
  3. 在WaveNet模型的基础上,增加LSTM模块,构建WaveNet-LSTM模型。
  4. 添加MGCN模块以构建WaveNet-MGCN模型。
  5. 添加LSTM模块和MGCN模块被称为W-WaveNet模型。

此外,为了验证本文提出的模型在汇聚台站信息方面具有更好的性能,将模型的预测结果与STGCN [23]的结果进行了比较。STGCN也是一种时空图神经网络模型,它使用两个卷积层和一个图卷积来形成时空块,并将这些时空块堆叠起来以构建深度学习网络。

相关性分析

本文提出的模型将多个站点的数据聚合在一起进行计算,因此站点之间的相关性会对模型的性能产生影响。如果站点之间不相关或相关性很小,则模型将退化为单站点水质预测模型。为了测量数据的相关程度,我们计算了相关站点的平均数量。当两个站点之间的相关系数大于0.25时,我们认为两个站点之间存在相关性,反之亦然,我们认为站点之间不存在相关性。计算与每个位点相关的位点数,最后取平均值,以获得数据集的平均相关位点数。

评估指标

选取了水质模拟中平均绝对误差(MAE)、平均绝对百分比误差(MAPE)、均方根误差(RMSE)、均方根百分比误差(RMSPE)、决定系数(r2)、皮尔逊相关系数(r),常用的6个测量因子对模型的性能进行了评价。

实验结果

1、验证各模型的总体性能

计算了模型在所有站点、所有污染因子和3个时间步长下各测量指标的平均值。A和B部分中模型的总体性能如表所示。 本文提出的W-WaveNet模型在各方面指标都是最好的,此外可以发现除了本文提出的模型外,最好的模型是STGCN,它们的共同点是考虑了空间相关性,这表明对空间关系建模可以提高模型性能。

2、直观地显示不同模型之间的预测效果差异

为了直观地显示不同模型之间的预测效果差异,我们用直方图来显示每个模型的MAPE和RMSPE结果,如图12所示。限于篇幅,本文仅给出A节的模型直方图结果。从图中可以看出,W-WaveNet模型的预测效果非常好,尤其是在TN、DO、NH3三种情况下,远优于其他模型。考虑到MAPE和RMSPE独立于数据测量,可以进行横向因子比较。pH值的预测性能最好,DO的预测性能最差,这与数据本身的特性有关。通过所有因子数据,该图表明W-WaveNet产生最佳结果或接近最佳结果的结果。

3、通过散点图可视化预测值和观测值之间的线性关系

W-WaveNet模型的散点图更集中,包含的偏离直线的点更少。这意味着W-WaveNet模型更好地描述了多站点水质数据之间的相关性。图13显示了在预测测试集A段TN时,每个模型的预测值和观测值的散点图。SVR、RF和CNN-LSTM模型都有更分散的散点图,表明预测效果较差。与前三个模型相比,STGCN模型的散点图更加集中,表明STGCN模型有效地结合了跨站点的数据。与STGCN模型相比,W-WaveNet模型的散点图更集中,包含的偏离直线的点更少。这意味着W-WaveNet模型更好地描述了多站点水质数据之间的相关性。W-WaveNet模型的斜率为0.956,截距为0.284,显然比其他模型更接近y = x线,并且最适合数据。

4、验证W-WaveNet模型是否在各个因素下达到了较好的预测效果

表列出了A节中所有污染因素下六个模型的MAE、RMSE和R2,MAE或RMSE值越小,预测性能越好,而R2值越大,预测效果越好。从表中可以看出,W-WaveNet模型对pH值、NH3、TP的预测效果最好。由于TP的平均站点关联数很低,所以预测并不是最优的,但它与最佳模型相似。我们还在DO和CODMN数据上对该模型进行了评估,W-WaveNet也取得了最好的结果,但由于篇幅的原因,没有给出详细的结果。

与RF模型相比,8.8%。本文提出的W-WaveNet模型具有最好的预测性能,与RF模型相比,预测误差降低了41.7%。在预测第二个时间步时,各模型的MAE分别为0.361、0.360、0.438、0.262和0.175。与RF模型相比,W-WaveNet模型的结果在该时间步长处降低了51.2%。各模型对第三时间步的MAE分别为0.384、0.382、0.449、0.287、0.187。在该时间步长,与RF模型相比,W-WaveNet模型减少了51.3%。这表明W-WaveNet模型具有很好的稳定性。当预测较长的时间步长时,误差增长并不严重。pH、TP和TN相似,不再重复。

总结

这周学习了一种新提出的组合方法W-WaveNet,将CNN-LSTM模型融合到时空图模型中,将多个水质监测点组成一个图,利用图中节点之间的关系来表示水质监测点之间的空间关系。然后通过时空图卷积利用图卷积来捕获空间相关性。通过交错叠加将时间和空间模型集成在一起,能够应用于多站点水质预测领域。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1578284.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文搞懂从爬楼梯到最小花费(力扣70,746)

文章目录 题目前知动态规划简介动态规划模版 爬楼梯一、思路二、解题方法三、Code 使用最小花费爬楼梯一、思路二、解题方法三、Code 总结 在计算机科学中,动态规划是一种强大的算法范例,用于解决多种优化问题。本文将介绍动态规划的核心思想&#xff0c…

HarmonyOS 应用开发之@Concurrent装饰器:@Sendable装饰器:声明并校验Sendable类

简介 在使用 TaskPool 时,执行的并发函数若需要传输类对象且使用该类的内部方法,该类需要使用此装饰器修饰,否则无法使用此对象内的方法。SendableClass有以下两种行为: 支持SendableClass序列化。对象分配在各自的虚拟机内存空间…

axios是什么?axios使用axios和ajax

Axios 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 Node.js 环境。它是由 GitHub 用户 mzabriskie 开发的,并且得到了广泛的社区支持。Axios 的设计目标是提供一种简洁、易用且功能强大的 HTTP 请求方式,以替代传统的 Ajax(A…

very_easy_sql-攻防世界

题目 抓包发现use.php文件 页面说"you are not an inner user, so we can not let you have identify~",就是说只能内部访问登录。这里抓包还看到返回包里有个set-cookie,说明是ssrf造成的sql注入 SSRF(Server-Side Request Forgery:服务器端请求伪造) 是…

docker 搭建多个Linux系统环境 安装多个不同语言的项目

docker 搭建多个Linux系统环境 安装多个不同语言的项目 宝塔dockers可视化界面 https://blog.51cto.com/u_16213709/9473968

stack和queue的使用

前言 前面我们对string、vector、list做了介绍并对底层进行了实现!本期我们继续来介绍STL容器,stack和queue! 本期内容介绍 stack 常用接口的介绍 queue 常用接口的介绍 什么是stack? 这里的栈和我们C语言实现的数据结构的那个栈功能是一样…

3d建图与定位(4)_lio sam代码阅读

一.概述: 1.lio sam 是一个imu与lidar的紧耦合框架 2.前端:imu主要用来预计分,对后端里程计进行位姿推测得到先验位姿 ,对雷达进行畸变校正,特征点提取得到cloudinfo 3.后端主要有两个模块:模块一通过前端位姿初值进行scan->map的匹配 通过lm算法计算更新后端位姿,将后端odo…

景芯2.5GHz A72训练营dummy添加(一)

景芯A72做完布局布线之后导出GDS,然后进行GDS merge,然后用Calibre对Layout添加Dummy。在28nm以及之前的工艺中,Dummy metal对Timing的影响不是很大,当然Star RC也提供了相应的解决方案,可以考虑Dummy metal来抽取RC。…

[StartingPoint][Tier2]Archetype

Task 1 Which TCP port is hosting a database server? (哪个端口开放了数据库服务) $ nmap 10.129.95.187 -sC --min-rate 1000 1433 Task 2 What is the name of the non-Administrative share available over SMB? (哪个非管理共享提供了SMB?) $ smbclient -N -L 1…

Deformable Convolutional Networks论文阅读

Deformable Convolutional Networks论文阅读 Abstract1. Introduction2. Deformable Convolutional Networks2.1. Deformable Convolution2.2. Deformable RoI Pooling 总结 文章信息: 原文链接:https://arxiv.org/abs/1703.06211 源代码:htt…

2024.4.8-day12-CSS 常用样式属性和字体图标

个人主页:学习前端的小z 个人专栏:HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 作业2024.4.8-学习笔记盒子阴影文本阴影透明的vertical-align字体使用 作业 &…

谷歌浏览器插件开发速成指南:弹窗

诸神缄默不语-个人CSDN博文目录 本文介绍谷歌浏览器插件开发的入门教程,阅读完本文后应该就能开发一个简单的“hello world”插件,效果是出现写有“Hello Extensions”的弹窗。 作为系列文章的第一篇,本文还希望读者阅读后能够简要了解在此基…

SQL执行流程图文分析:从连接到执行的全貌

SQL执行总流程 下面就是 MySQL 执行一条 SQL 查询语句的流程,也从图中可以看到 MySQL 内部架构里的各个功能模块。 MySQL 的架构共分为两层:Server 层和存储引擎层, Server 层负责建立连接、分析和执行 SQL。MySQL 大多数的核心功能模块都在…

LwIP TCP/IP

LWIP 架构 LwIP 符合 TCP/IP 模型架构,规定了数据的格式、传输、路由和接收,以实现端到端的通信。 此模型包括四个抽象层,用于根据涉及的网络范围,对所有相关协议排序(参见图 2)。这几层从低到高依次为&am…

962: 括号匹配问题

【学习版】 【C语言】 【C】 #include<iostream>class MyStack { public:struct Node {char val;Node* prev;Node* next;Node(char x) :val(x), prev(NULL),next(NULL) {};};MyStack() {base new Node(0);top base;}bool empty() {return top base;}void push(int …

什么是并行通信、串行通信?什么是全双工、半双工、单工? 什么是异步通信、同步通信? 什么是RS232、RS485?什么是pwm?

这篇文章主要讲一下单片机中的通信相关的内容 主要讲一下以下5个问题&#xff1a; 1.什么是并行通信、串行通信&#xff1f; 2.什么是全双工、半双工、单工&#xff1f; 3.什么是异步通信、同步通信&#xff1f; 4.什么是RS232、RS485&#xff1f; 5.什么是pwm&#xff1f;什…

C语言从入门到实战————编译和链接

目录 前言 1. 翻译环境和运行环境 2. 翻译环境 2.1 预处理&#xff08;预编译&#xff09; 2.2 编译 2.2.1 词法分析&#xff1a; 2.2.2 语法分析 2.2.3 语义分析 2.3 汇编 2.4 链接 3. 运行环境 前言 编译和链接是将C语言源代码转换成可执行文件的必经过程&a…

OpenStack云计算(六)——OpenStack身份管理

项目实训一 【实训题目】 通过图形界面管理项目、用户和角色 【实训目的】 掌握图形界面的身份管理基本操作。 【实训准备】 &#xff08;1&#xff09;复习Keystone身份服务体系相关知识。 &#xff08;2&#xff09;了解项目、用户和角色之前的关系。 【实训内容】 …

界面控件Kendo UI for jQuery 2024 Q1亮点 - 新的ToggleButton组件

Telerik & Kendo UI 2024 Q1 版本于2024年初发布&#xff0c;在此版本中将AI集成到了UI组件中&#xff0c;在整个产品组合中引入AI Prompt组件以及10多个新的UI控件、支持Angular 17、多个数据可视化功能增强等。 P.S&#xff1a;Kendo UI for jQuery提供了在短时间内构建…

UE4_动画基础_角色的缩放

以第三人称模板进行制作。 一、首先为角色缩放新建粒子效果 1、新建niagara system&#xff0c;重命名为NS_Shrink。 2、双击打开设置参数&#xff1a; 发射器重命名&#xff1a; Emitter State&#xff1a; 发射器一次喷发数量&#xff1a; 粒子初始大小&#xff0c;生命周…