基于小波同步压缩变换与集成深度学习的情绪识别

摘要

本研究设计了一种基于小波同步压缩变换(WSST)驱动优化集成深度学习(DL)的自动多类情绪识别(AMER)系统,用于识别样本依赖(subject-dependent)和样本独立(subject-independent)两种模式下的人类情感。使用WSST方法将1-D脑电(EEG)信号转换为2-D时频表征(TFR),然后将其输入到优化集成的卷积神经网络(ECNNs)进行情感分类。将提出的AMER与三种TFRs方法[短时傅里叶变换(STFT)、连续小波变换(CWT)和平滑伪Wigner-Ville分布(SPWVD)]进行比较分析。两种模式的结果相同,WSST的准确率和F1分数最高。此外,WSST驱动的优化ECNN在两种模式中均优于预训练模型VGG16、ResNet50、AlexNet和ViT-B/32。在两个验证数据集SEED和SEED_IV中也观察到了类似的趋势。总之,本研究证明了AMER系统的有效性、通用性和稳健性,可用于情绪识别。

图形摘要

前言

脑电(EEG)信号能够提供有关人类情绪的准确信息,包括多个主观心理状态方面,因此被认为是传达和识别人类情绪的可靠来源。情绪一般可以分为两种类型:1)离散情绪(喜悦、恐惧、悲伤、厌恶和愤怒)和2)多维情绪(唤醒、效价和支配性)。唤醒度显示了情绪的兴奋程度,而效价描述了一种情绪是积极还是消极的。支配性决定了一个人是否感到自己处于控制或无能为力的状态。在这项研究中,唤醒、效价和支配性被用来识别人类情感。

迄今为止,研究人员提出了多种基于机器学习(ML)和深度学习(DL)的方法,用于从EEG信号中识别情绪。Lakhan等人(2019)提取了分频的功率谱密度,并通过支持向量机(SVM)算法将情绪分类为唤醒维度和效价维度。在另一项研究中,Anuragi等人(2022)提出了基于傅里叶-贝赛尔级数展开的经验小波变换方法,并结合多个机器学习分类器进行跨被试情绪识别。Bajaj等人(2018)利用灵活解析小波变换(FAWT)提取了多个特征,并将其应用于K近邻(KNNs)分类器,达到了86.1%的准确率。除此之外,基于机器学习算法进行情绪识别的应用也在其他出版物中有所报道。

这些研究大多采用了传统的基于机器学习的算法,如支持向量机(SVM)或最近邻(KNN),导致情绪识别的准确率较低。为了提高基于机器学习系统的整体情绪识别准确性,Gupta等人(2019)在FAWT分解的脑电信号上应用了一种集成的基于随机森林的机器学习分类器。而Kamble和Sengupta(2022)则从双阶段离散小波变换-经验模态分解(EMD)中提取特征,并将其输入到bagging集成算法中。在另一项研究中,为了对三类情感进行分类,Subasi等人(2021)在SEED数据集上应用了可调Q因子小波变换(TQWT)提取的特征,并采用了旋转森林集成算法。

在情感计算中,需要将原始EEG数据转换为时频表征(TFR),并同时提供时间、频率和振幅信息。多时频(TF)分布技术被用作机器学习(ML)和深度学习(DL)的特征向量,展现了令人满意的结果。Khare和Bajaj(2021)利用元启发式技术增强了脑电信号重建,通过对自建的四类情绪数据集进行优化变分模态分解(VMD),实现了5%的准确率提升。类似地,Kamble等人(2018)应用了非参数优化的有理膨胀小波变换(RDWT)将脑电信号分解为子频带,用于想象语音识别。EMD、VMD、TQWT、FAWT和RDWT等分解技术由于提取特征的能力有限,可能无法揭示具有代表性的特征。手动选择调优参数非常繁琐,即使经过多次尝试调参后,性能也无法得到保证。这是因为脑电信号本质上是复杂、非线性和瞬时的,因此对于情绪识别而言,准确捕捉其TF成分至关重要。

因此,结合深度学习的时频表征(TFR)可以自动从不同时刻的EEG信号中提取高级不变特征,从而简化问题求解。有研究表明,使用卷积神经网络(CNN)的TFR受到了更多关注,其表现优于机器学习模型。当CNN将这些TFR图像作为输入时,它具有出色的分类精度。Gao等人(2021)提出了一种基于连续小波变换(CWT)的TFR驱动的多层CNN模型,该模型集成了差分熵,并报告了91.45%的三分类精度。Lee等人(2018)从短时傅里叶变换(STFT)中检索TFR图像,而Khare和Bajaj(2021)则从平滑伪Wigner-Ville分布(SPWVD)中检索图像,两位研究者将这些TFR图像输入到CNN模型中,分别实现了89%和93.01%的精度。SPWVD也被用于基于EEG的想象语音识别和精神分裂症检测,并且获得了良好的检测结果。

然而,这些TFRs也有一定的局限性:基于傅里叶和小波的TFRs需要根据经验选择窗口和小波类型,而SPWVD则面临频谱和时间分辨率之间的权衡。基于重分配方法的TFR由于能获得比传统变换更清晰的时频估计而广受关注。因此,为了实现TF的精确定位,本研究采用了基于小波的同步压缩变换(WSST),这是一种结合了基于小波分解和基于CWT的重分配方法。WSST通过同步压缩和重新分配TF频谱来提高TFR的性能,克服了STFT、CWT和SPWVD的局限性。该TFR保留了关键的TF信息,揭示了脑电信号中与情绪相关的重要特征。

受集成学习和TFR结果的启发,为了克服手动特征提取和选择的局限性,本研究将WSST-TFR图像与优化后的卷积神经网络(ECNNs)集成方法相结合,设计了基于脑电的自动多类情绪识别(AMER)系统。首先,WSST能够捕获脑电信号的瞬时和非线性特征,这些特征对于情绪识别至关重要。其次,优化后的ECNN模型可以学习特征之间的复杂关系。将优化后的ECNN应用于2-D WSST TFR能够有效地学习转换后脑电的空间和时间模式,使其更加稳健,从而提高情绪识别性能。本研究还对六个脑区的三个ECNN和单个CNN分类器进行了比较分析。此外,将AMER系统与三种著名的传统TFRs方法(如STFT、CWT和SPWVD)以及四个预训练模型(如VGG16、ResNet50、AlexNet和ViT-B/32)进行了比较。最后,在SEED和SEED_IV数据集上验证了AMER系统的有效性。

方法

A.数据集

本研究使用了三个不同的公开情感数据集,分别是DREAMER、SEED和SEED_IV。这些数据集的详细信息见表1。对于DREAMER数据集,在每个影片片段结束时,要求被试在1-5的等级范围内对唤醒、效价和支配性进行评分。得分高于3的样本被标记为具有高唤醒度、高效价或支配性,反之亦然。使用DREAMER数据集对AMER系统的结果进行分析,并且使用SEED和SEED_IV等两个外部数据集进行验证。

表1.本研究使用的数据集详细信息。

B.基于小波的同步压缩变换

同步压缩变换是一种用TFR表示非平稳脑电信号的新方法。Daubechies等人(2011)提出了一种自适应WSST作为信号处理方法。它是CWT的后处理方法。使用ψ(t)作为母小波,c为缩放参数,b为平移参数,对输入EEG信号y(t)进行连续小波变换:

一般来说,WSST可以用脑电信号的小波系数集来概括:

其中,ωn和al分别表示分辨率为△ω的频点和频段小波系数。采用WSST获取脑电信号TFR的过程中,本研究使用了解析Morlet小波,采样频率为fs=128Hz。相邻片段之间的重叠是255。脑电信号的WSST可以通过以下方式重构:

其中,

表示归一化常量,而ψ∗(ζ)表示母小波变换的傅里叶变换。

C.集成CNN

在本研究中,DL模型集合的基本组成部分是CNN算法。因此,本研究训练了十个CNN模型,并将这些模型的预测结果组合形成了ECNN。三种ECNN组合方式分别为:1)模型平均;2)加权平均;3)Polyak平均,用于预测情绪的唤醒、效价和支配性类别。CNN的核心构建模块是多层互连的人工神经元,这些神经元经过大量训练,用于特征提取和分类任务。一般而言,CNN架构中包括输入层、隐藏层和输出层。卷积层、池化层和全连接层组合在一起形成隐藏层。卷积层和池化层从大小为W×H×K的原始输入图像中提取高级特征,其中W,H和K分别表示该层的宽度、高度和通道数。然后,这些自动化生成的高级特征被传送到全连接层进行图像分类。卷积层使用固定大小的核来从图像中提取不同的信息。卷积层产生比原始输入图像尺寸更小的Wnew×Hnew×Knew特征图。Knew个大小为m×m的滤波器生成的特征图可以表示为:

卷积层之后通常是池化层,也称为子采样层。池化操作降低了特征图的维数,同时保留了原始信息,去除了特征图中的噪声,并专注于已识别的模式上。池化层的输出作为全连接层的输入。在全连接层中,2-D特征图被转换为1-D特征图。Sigmoid函数用于分类。

在模型平均集成中,每个模型的预测对最终预测具有相同的权重。在加权集成中,每个模型的性能决定了其对最终预测的贡献权重。利用PSO技术对这些权重进行优化。在Polyak平均集成中,本研究对来自十个CNN模型的指数递减权重进行了平均,衰减常数为2(α=2)。

D.提出的模型

本研究提出的AMER系统的全局视图如图1所示,它遵循以下四个步骤。

图1.AMER系统的全局视图。CNN:卷积神经网络。ECNN:CNN集合。

①EEG预处理:情绪识别的主频率低于60Hz。因此,EEG信号可以通过0.5-60Hz的五阶巴特沃斯滤波器来最小化噪声和伪迹。从原始EEG信号中减去原始EEG信号的均值,得到零均值的EEG信号。

②基于脑区的TFR图像生成:为了研究七对对称EEG电极的影响,研究通过分析六种不同的电极配置来评估性能。配置(C1)涵盖了前额-额叶区域(AF3和AF4,F3和F4,F7和F8,FC5和FC6),配置(C2)-颞叶区域(T7和T8),配置(C3)-顶叶区域(P7和P8),配置(C4)-枕叶区域(O1和O2),配置(C5)-(F3和F4,FC5和FC6,T7和T8,P7和P8,O1和O2),以及配置(C6)-涵盖了所有区域(AF3和AF4,F3和F4,F7和F8,FC5和FC6,T7和T8,P7和P8,O1和O2)。

然后,将每个配置的零均值EEG信号输入TFR图像生成阶段,其中使用WSST将每个通道的1-D EEG信号独立地转换为2-D RGB图像。因此,为每个被试和每部电影生成了按脑区划分的RGB图像。为了在训练CNN分类器时保持一致性,将RGB图像调整为256×256×3的形状。由WSST方法生成的所有三个维度的TFR图像示例如图2所示。

图2.由WSST方法生成的TFR图像示例,分别对应(a)唤醒、(b)效价和(c)支配性类别。

由于DREAMER数据集在高/低唤醒、效价和支配性标签方面存在严重的不平衡,因此采用了数据增强方法生成额外的TFR图像,以防止模型过拟合。通过在0.1范围内缩放图像,改变(0.4-1.5)范围内的亮度水平,引入高斯白噪声(参数σ=0.2,µ=0),使少数类(低)TFR图像总数与主要类(高)TFR图像总数相匹配。最后,利用平衡的数据集构建AMER系统。

③构建最优AMER系统:本研究测试了样本依赖和样本独立的方法,以展示AMER系统的泛化能力。在样本依赖模式中,TFR图像被输入到数据分区块。将图像随机分为两个独立且不重叠的集合,其中70%用于训练,30%用于测试。然后,采用分层十折交叉验证(CV)将训练集划分为新的训练集和验证集。

对于样本独立模式,本研究进行了留一被试交叉验证。在每个交叉验证中,一名被试用于测试,而剩余的被试用于训练。此外,训练集还使用分层十折交叉验证创建新的训练集和验证集。

该系统分别使用两种模式的训练集,并通过一系列卷积和池化操作提取深层特征。然后,将这些特征与真实数值一起输入到单个CNN和三个ECNN模型的全连接层,用于训练基于CNN的算法。测试分类器随后使用这些训练系数将测试特征转换为唤醒、效价和支配性类别。

最近创建的Keras-tuner库用于调整ECNN模型的超参数,因为良好的超参数组合极大地提升了模型的性能。库搜索功能执行迭代循环并评估各种超参数组合。通过使用随机搜索超参数优化器调整,得到了最佳的超参数组合,从而创建了表2中的最优ECNN模型。

表2.四种TFR方法的超参数网格。

④性能评估:预测结果通过三种性能评估指标进行评估,包括F1分数、准确率和曲线下面积(AUC)±3个标准差。这些指标对于单个卷积神经网络(CNN)是在十折上取平均值,而对于集成卷积神经网络(ECNN)是在所有集成模型上取平均值。

E.预训练模型的微调

与Khare等人(2021)的研究类似,本研究使用了包括ViT-B/32在内的预训练模型评估了AMER的性能,如AlexNet、ResNet50和VGG16。在增强阶段,本研究对每个预训练网络的TFR图像进行了重塑,其中AlexNet为227×227,ResNet50、VGG16和ViT-B/32为224×224。预训练模型使用迁移学习原则在WSST-TFR图像上进行训练和评估。将两个输出类添加到每个预训练网络的最终全连接层。

结果

A.CNN与CNN模型

结果证实了基于WSST的TFR与优化后的ECNN对AMER的有效性。表2(样本依赖模式)显示了在DREAMER数据集上针对唤醒、效价和支配性维度对六种脑区配置所计算出的完整平均性能评估指标。覆盖额区的C1配置在所有指标上的表现均优于C2(颞叶)、C3(顶叶)和C4(枕叶)配置。这一发现也与最近一项关于有效情绪识别的研究结果相一致。此外,配置C5显示了与C1相当的结果。在所有配置中,C6的表现突出,在情绪识别中发挥着重要作用。最佳优化后的ECNN相较于CNN在性能评估指标上的改善百分比见表3。

表3.在样本依赖的六种脑区配置下比较CNN和ECNN算法。

B.性能评估

在所有配置中,C6配置报告了优化后的ECNN在唤醒(97.04%)、效价(96.87%)和支配性(96.92%)方面的最高分类精度,分别比单个CNN模型高~3.4%、~3.29%和~3.13%。同样,C6配置在唤醒(86.87%)、效价(86.91%)和支配性(86.74%)方面的最高分类F1分数分别比单个CNN模型高~1.75%、~2.33%和~3.70%。其次是仅使用八个通道的C1配置,唤醒、效价和支配性的精度分别为94.98%、95.94%和94.74%。WSST驱动的ECNN中最佳C6配置的交叉熵损失见图3。此外,对于唤醒、效价和支配性维度,PSO ECNN加权平均在DREAMER数据集上进行情绪识别的效果最优。

图3.脑区配置C6的训练集和验证集的平均损失,分别对应(a)唤醒、(b)效价和(c)支配性维度。

表4显示了WSST驱动的ECNN AMER系统在样本依赖和样本独立两种模式下使用三种经典变换(STFT、CWT和SPWVD)生成TFR图时的性能比较。在所有TFRs中,WSST驱动的优化ECNN模型在所有类别上的分类精度最高。

表4.AMER在不同TFR方法下的比较分析(精度±标准差)(以%表示)。

此外,本研究将WSST驱动的ECNN AMER系统与四个预训练模型(包括VGG16、ResNet50、AlexNet和ViT-B/32)进行了比较。有趣的是,该模型在样本依赖和样本独立模式中都显示出明显高于四个预训练网络的分数。最后,研究结果证明了WSST驱动的ECNN比其他TFRs更有效,并且也优于预训练的网络。

表5.AMER与四个预训练网络的比较分析(精度±标准差)(以%表示)。

C.处理不平衡数据

本研究建议采用数据增强策略,以防止高度不平衡的数据集导致模型过拟合。图4(a)和(b)显示了最优配置C6在使用和不使用数据增强策略的情况下,基于ECNN AMER模型的平均F1分数和AUC的比较。从图4(a)和(b)可以看到,采用数据增强策略处理不平衡数据增强了AMER性能的预测能力。

图4.(a)F1分数和(b)AUC的数据增强(DA)对AMER系统性能的影响。

D.在SEED和SEED_IV数据集上进行验证

使用两个验证数据集对WSST-ECNN算法与CNN算法在三类和四类情绪预测方面的性能进行比较验证,如表6所示。在这两个数据集上,使用PSO-ECNN模型加权平均的数据增强策略报告了最高的性能。在SEED数据集上,三分类预测的F1分数、精度和AUC分别为78.14%、94.67%和0.95;在SEED_IV数据集上,四分类预测的F1分数、精度和AUC分别为70.17%、89.37%和0.94。

表6.CNN和ECNN算法在SEED和SEED_IV验证数据集上的比较。

结论

本研究提出了一种使用ECNN从脑电信号中提取情绪特征的方法。研究结果表明,WSST是最佳的TFR,WSST驱动的优化ECNN在两种模式中均优于四个预训练的网络(即VGG16、ResNet50、AlexNet和ViT-B/32),且可训练参数更少。总之,本研究证实了WSST与ECNN结合是一种有效计算任务的方法。在三种ECNN方法中,采用PSO算法进行加权平均的方法表现最佳,唤醒、效价和支配性精度分别为97.04%、96.87%和96.92%。AMER系统在两个外部数据集上的验证结果也证实了WSST驱动的优化ECNN算法在情绪识别中的有效性、通用性和稳健性。

参考文献:K. S. Kamble and J. Sengupta, Emotion Recognition Using Wavelet Synchrosqueezing Transform Integrated With Ensemble Deep Learning, IEEE Sensors Journal, vol. 24, no. 1, pp. 607-614, 1 Jan.1, 2024, doi: 10.1109/JSEN.2023.3335229.

小伙伴们关注茗创科技,将第一时间收到精彩内容推送哦~

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年6月总结及随笔之打卡网红点

1. 回头看 日更坚持了547天。 读《人工智能时代与人类未来》更新完成读《AI未来进行式》开更并更新完成读《AI新生:破解人机共存密码》开更并持续更新 2023年至2024年6月底累计码字1267912字,累计日均码字2317字。 2024年6月码字90659字,…

hadoop分布式云笔记系统-计算机毕业设计源码15725

摘 要 随着信息技术的飞速发展,人们对于数据的存储、管理和共享需求日益增长。传统的集中式存储系统在处理大规模数据时面临着性能瓶颈和扩展性问题。而 Hadoop 作为一种分布式计算框架,为解决这些问题提供了有效的解决方案。 本研究旨在设计并实现一种…

昇思25天学习打卡营第6天|关于函数与神经网络梯度相关技术探讨

目录 Python 库及 MindSpore 相关模块和类的导入 函数与计算图 微分函数与梯度计算 Stop Gradient Auxiliary data 神经网络梯度计算 Python 库及 MindSpore 相关模块和类的导入 Python 中的 numpy 库被成功导入,并简称为 np。numpy 在科学计算领域应用广泛&#x…

2、SSD基本技术

发展史 上文中说SSD是以闪存为介质的存储设备,这只能算是现代SSD的特点,而不能算是定义。 HDD是磁存储,SSD是电存储;HDD的特点导致寻址到不同扇区其性能存在明显差异,比如寻址下个扇区和上个扇区;而SSD寻…

SpringBoot学习06-[SpringBoot与AOP、SpringBoot自定义starter]

SpringBoot自定义starter SpringBoot与AOP SpringBoot与AOP 使用AOP实现用户接口访问日志功能 添加AOP场景启动器 <!--添加AOP场景启动器--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</…

第十四届蓝桥杯省赛C++A组F题【买瓜】题解(AC)

70pts 题目要求我们在给定的瓜中选择一些瓜&#xff0c;可以选择将瓜劈成两半&#xff0c;使得最后的总重量恰好等于 m m m。我们的目标是求出至少需要劈多少个瓜。 首先&#xff0c;我们注意到每个瓜的重量最多为 1 0 9 10^9 109&#xff0c;而求和的重量 m m m 也最多为…

3.2ui功能讲解之graph页面

本节重点介绍 : graph页面target页面flags页面status页面tsdb-status页面 访问地址 $ip:9090 graph页面 autocomplete 可以补全metrics tag信息或者 内置的关键字 &#xff0c;如sum聚合函数table查询 instante查询&#xff0c; 一个点的查询graph查询调整分辨率 resolutio…

中原汉族与北方游牧民族舞蹈文化在这段剧中表现得淋漓尽致,且看!

中原汉族与北方游牧民族舞蹈文化在这段剧中表现得淋漓尽致&#xff0c;且看&#xff01; 《神探狄仁杰》之使团喋血记是一部深入人心的历史侦探剧&#xff0c;不仅以其曲折离奇的案情和狄仁杰的睿智形象吸引观众&#xff0c;更以其对唐代文化的精准再现而备受赞誉。#李秘书讲写…

云计算【第一阶段(23)】Linux系统安全及应用

一、账号安全控制 1.1、账号安全基本措施 1.1.1、系统账号清理 将非登录用户的shell设为/sbin/nologin锁定长期不使用的账号删除无用的账号 1.1.1.1、实验1 用于匹配以/sbin/nologin结尾的字符串&#xff0c;$ 表示行的末尾。 &#xff08;一般是程序用户改为nologin&…

JavaScript——对象的创建

目录 任务描述 相关知识 对象的定义 对象字面量 通过关键字new创建对象 通过工厂方法创建对象 使用构造函数创建对象 使用原型(prototype)创建对象 编程要求 任务描述 本关任务&#xff1a;创建你的第一个 JavaScript 对象。 相关知识 JavaScript 是一种基于对象&a…

Spring Boot配置文件properties/yml/yaml

一、Spring Boot配置文件简介 &#xff08;1&#xff09;名字必须为application,否则无法识别。后缀有三种文件类型&#xff1a; properties/yml/yaml&#xff0c;但是yml和yaml使用方法相同 &#xff08;2&#xff09; Spring Boot 项⽬默认的配置文件为 properties &#xff…

kafka线上问题:rebalance

我是小米,一个喜欢分享技术的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货! 大家好,我是小米。今天,我们来聊聊一个在大数据处理领域常见但又令人头疼的问题——Kafka消费组内的重平衡(rebalance)。这可是阿里巴巴面试中的经…

惠海 H6912 升压恒流芯片IC 支持2.6-40V升12V24V36V48V60V100V 10A 摄影灯 太阳能灯 UV灯 杀菌灯

1.产品描述 H6912是一款外围电路简洁的宽调光比升压调光LED恒流驱动器&#xff0c;可适用于2.6-40V输入 电压范围的LED恒流照明领域。H6912可以实现高精度的恒流效果&#xff0c;输出电流恒流精度≤士3%&#xff0c;电压工作范围为2.6-40V.可以轻松满足锂电池及中低压的应用需…

第十四届蓝桥杯省赛C++B组D题【飞机降落】题解(AC)

解题思路 这道题目要求我们判断给定的飞机是否都能在它们的油料耗尽之前降落。为了寻找是否存在合法的降落序列&#xff0c;我们可以使用深度优先搜索&#xff08;DFS&#xff09;的方法&#xff0c;尝试所有可能的降落顺序。 首先&#xff0c;我们需要理解题目中的条件。每架…

R语言学习笔记1-介绍与安装

R语言学习笔记1-介绍与安装 简介应用领域R语言优势安装步骤&#xff08;linux版本&#xff09;在R脚本中绘制简单的条形图示例 简介 R语言是一种非常强大和流行的据分析和统计建模工具。它是一种开源的编程语言和环境&#xff0c;专门设计用于数据处理、统计分析和可视化。 应…

PHP贵州非遗推广小程序-计算机毕业设计源码14362

摘 要 本文设计并实现了一个基于贵州非遗推广的小程序&#xff0c;旨在通过小程序平台推广和展示贵州省非物质文化遗产。该小程序提供了非遗项目介绍、相关活动展示、购买非遗产品等功能。 首先&#xff0c;我们收集了贵州省各个非遗项目的资料和相关信息&#xff0c;并将其整理…

vue3中使用弹幕组件vue-danmaku

1、最开始使用的是vue3-marquee&#xff0c;后面发现一直有一个bug无法解决&#xff0c;就是鼠标hover到第一个弹幕上字体就会变粗&#xff0c;已经提了issue给作者&#xff0c;但是目前还未答复&#xff0c;所以就换了方案。 地址如下&#xff1a; https://github.com/megasa…

同时安装JDK8和JDK17+环境变量默认无法修改

一、问题描述 当在windows系统中&#xff0c;同时安装JDK8和JDK17&#xff0c;环境变量默认就为jdk17&#xff0c;且从jdk17切换为jdk8后不生效&#xff0c;使用"java -version"命令查看后还是17版本。 解决方法 首先&#xff0c;产生的原因是&#xff0c;在安装…

【高性能服务器】多进程并发模型

&#x1f525;博客主页&#xff1a; 我要成为C领域大神&#x1f3a5;系列专栏&#xff1a;【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 对于常见的C/S模型…

MySQL 9.0创新版发布!功能又进化了!

作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验&#xff0c; Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复&#xff0c; 安装迁移&#xff0c;性能优化、故障…