当前位置: 首页 > news >正文

故障识别 | 基于改进螂优化算法(MSADBO)优化变分模态提取(VME)结合稀疏最大谐波噪声比解卷积(SMHD)进行故障诊断识别,matlab代码

基于改进螂优化算法(MSADBO)优化变分模态提取(VME)结合稀疏最大谐波噪声比解卷积(SMHD)进行故障诊断识别

在这里插入图片描述

一、引言
1.1 机械故障诊断的背景和意义

在工业生产的宏大画卷中,机械设备的稳定运行是推动生产顺利进行、保障企业效益的关键要素。然而,机械故障如同潜伏的阴影,时刻威胁着工业生产的正常秩序。

从工业生产的角度来看,机械故障会带来生产效率的骤降和生产成本的激增。一旦关键设备出现故障,整条生产线可能被迫停工,导致产品产量减少,交货期延误,严重影响企业的市场信誉和经济效益。对于流程制造工厂而言,避免停机是巨大的挑战,设备故障作为意外停机的主要原因,会严重影响企业的生产力、盈利能力和声誉。

从设备安全的层面来说,机械故障可能引发严重的安全事故。在一些高风险行业,如化工厂、钢铁厂等,设备故障不仅会导致生产中断,还可能引发火灾、爆炸等灾难性事故,造成人员伤亡和巨大的财产损失。

正因如此,机械故障诊断显得尤为重要且必要。通过先进的故障诊断技术,可以实时监测设备的运行状态,及时发现潜在的故障隐患,实现设备的预知性维修,降低故障发生的概率,减少维修成本,提高设备的可靠性和安全性,为工业生产的稳定进行保驾护航。

1.2 故障诊断领域的研究现状

当前,故障诊断领域的方法多样,各有特点,但也存在不少问题。

直观检查法依靠操作人员的经验和感官,通过观察设备的外观、声音、气味、温度等判断设备是否异常。这种方法简单直接,对于明显故障效果显著,但受操作人员主观因素影响大,且难以发现隐蔽故障。

参数测量法通过测量设备的电压、电流、温度、压力等参数来诊断故障,能提供较为精确的数据支持,但需要专业的测量设备和操作人员,且对于复杂设备的多参数综合分析存在困难。

油液分析法通过对设备润滑油中的磨损颗粒、污染物等进行分析来判断设备的磨损状况和故障原因,适用于以润滑为主的机械设备,但分析过程较为复杂,成本较高,且难以实现实时监测。

频谱分析法利用傅里叶变换等技术将时域信号转换为频域信号,通过分析频谱特征来识别故障,在旋转机械故障诊断中应用广泛,但对于非平稳信号的处理效果不佳。

传统故障诊断方法普遍存在依赖人工经验、实时性差、诊断准确性有限等问题,难以满足现代工业生产对设备高效、稳定运行的需求。随着人工智能、大数据等新兴技术的发展,基于智能诊断技术的方法逐渐兴起,为故障诊断领域带来了新的机遇和挑战。

1.3 本文的研究内容和结构安排

本文针对传统故障诊断方法存在的局限性,提出一种基于改进螂优化算法(MSADBO)优化变分模态提取(VME)结合稀疏最大谐波噪声比解卷积(SMHD)的新型故障诊断方法。

首先阐述机械故障诊断的背景和意义,明确故障诊断的重要性和必要性。接着综述故障诊断领域的研究现状,分析传统方法的局限。然后详细介绍改进螂优化算法、变分模态提取和稀疏最大谐波噪声比解卷积的基本原理和优势,以及三者结合进行故障诊断的实现过程。随后利用西储大学轴承故障数据进行实验验证,从原始信号分析、MSADBO-VME识别分析、MSADBO-VME-SMHD识别分析三个方面进行对比,验证所提方法的有效性。最后总结全文,指出研究的创新点和局限性,展望未来的研究方向,为机械故障诊断领域提供新的思路和方法。

二、理论基础
2.1 改进螂优化算法(MSADBO)

改进螂优化算法(MSADBO)是一种模拟自然界螳螂捕猎行为的新型优化算法。它通过精准模拟螳螂的感知和决策机制来提升算法性能。在感知方面,算法能敏锐捕捉到搜索空间中的关键信息,如同螳螂感知猎物位置一般迅速准确。在决策上,模仿螳螂捕猎时的策略调整,使算法在搜索过程中能灵活平衡全局探索与局部开发。相较于传统算法,MSADBO收敛速度更快,搜索能力更强,在面对复杂优化问题时,能更高效地找到最优解,避免陷入局部最优,为优化变分模态提取参数提供有力支持。

2.2 变分模态提取(VME)

变分模态提取(VME)是一种强大的信号处理方法。其基本原理是将复杂信号分解为多个本征模态函数(IMF)。假设输入信号可分解为期望模态和残余信号,期望模态需紧密围绕其中心频率,且与残余信号的频谱重叠要尽可能小。通过构建变分框架,将信号分解问题转化为变分问题求解。VME能高效地从复杂信号中提取出关键特征,将原本混杂的信号分解为多个具有物理意义的独立分量,为后续故障诊断提供清晰的数据基础,便于从分解后的本征模态函数中准确识别故障特征。

2.3 稀疏最大谐波噪声比解卷积(SMHD)

稀疏最大谐波噪声比解卷积(SMHD)算法充分利用信号的稀疏性来提高信噪比。在实际信号中,故障特征往往以稀疏的谐波形式存在。SMHD算法通过优化滤波器,将信号中的稀疏谐波成分从强噪声背景中分离并增强。它能在没有先验周期的情况下,有效提取信号中的周期性脉冲故障分量。通过对信号进行解卷积处理,使得原本被噪声掩盖的故障特征得以凸显,为故障诊断提供更清晰、更准确的信号特征信息,便于后续进行故障识别与分析。

三、MSADBO优化VME参数的实现
3.1 VME参数优化的重要性

在机械故障诊断中,VME作为关键信号处理方法,其参数设置直接影响着故障特征提取的效果。VME的模态数K和惩罚系数α等参数,若设置不当,便会导致模态混叠或模态丢失等问题。

模态数K的确定尤为关键。若K设置过小,可能会出现模态混叠现象,使得多个本征模态函数(IMF)包含同一频率成分,导致故障特征无法准确分离;反之,若K设置过大,又会产生模态冗余,引入不必要的噪声和虚假信息,增加后续故障诊断的难度。惩罚系数α则用于控制分解过程中信号的平滑性和紧致性。α过大,会使信号过于平滑,导致部分故障特征被平滑掉;α过小,信号又可能过于粗糙,无法有效去除噪声干扰。

在实际应用中,这些参数的取值往往依赖于经验,缺乏客观标准,难以保证在不同工况和故障类型下都能达到最佳分解效果。因此,对VME参数进行优化,使其能够根据具体信号特性自适应调整,是提高故障诊断准确性和可靠性的重要环节。

3.2 MSADBO优化VME参数的方法

利用MSADBO优化VME参数,需先确定优化目标,即找到一个参数组合,使分解后的信号特征最符合故障诊断需求。包络熵是一种有效指标,能反映信号复杂度,理想状态下,每个IMF只包含一个物理成分,复杂度最低。

具体优化过程如下:

  1. 初始化参数。设置MSADBO算法的种群大小、最大迭代次数、生产者占比等参数,为算法运行奠定基础。
  2. 编码。将VME的模态数K和惩罚系数α进行编码,作为算法搜索的对象。编码方式可选择实数编码,便于算法操作。
  3. 适应度函数计算。以包络熵为适应度函数,对每个个体(即一组参数组合)进行评估。计算分解后各IMF的包络熵之和,值越小,说明参数组合越优。
  4. 模拟螳螂行为。算法中的个体如同螳螂,在搜索空间中寻找猎物(即最优参数组合)。通过感知和决策机制,个体根据适应度值调整搜索方向和步长,模仿螳螂捕猎时的策略,在全局探索和局部开发间平衡。
  5. 迭代更新。算法不断迭代,个体在搜索空间中移动,逐渐向最优解靠近。每一次迭代,都会产生新的参数组合,并通过适应度函数评估,筛选出更优的个体。
  6. 输出最优解。当迭代达到预设次数或满足其他终止条件时,算法停止,输出最优参数组合。此时,该参数组合下的VME能够更有效地提取信号中的故障特征,为后续诊断提供有力支持。
3.3 优化后VME的性能分析

优化后的VME在故障诊断中展现出诸多优势。以西储大学轴承故障数据为例进行分析,可从以下几个方面验证优化效果。

在特征提取准确性方面,优化后VME能将复杂振动信号精准分解为多个IMF,各IMF清晰反映了不同故障特征。例如在轴承内圈故障信号中,优化后VME能准确提取出内圈损伤引起的冲击脉冲成分,其频率与理论故障特征频率高度吻合,而未优化VME分解出的信号则可能存在特征模糊或遗漏的情况。

从抗噪性能来看,优化后VME在强噪声环境下依然能保持较好的故障特征提取能力。当信号信噪比降低时,未优化VME分解出的IMF中故障特征可能被噪声淹没,而优化后VME通过合理参数设置,能有效抑制噪声干扰,使故障特征依然明显。

在计算效率上,MSADBO优化过程虽增加一定计算量,但优化后VME在整体故障诊断流程中提高了特征提取速度。由于参数设置更合理,分解过程更高效,减少了不必要的计算和冗余信息处理,使得整个故障诊断流程在保证准确性的同时,耗时更短。

综合以上分析,优化后VME在故障诊断中能有效提升特征提取准确性、抗噪性能和计算效率,为准确识别机械故障提供了有力保障。

四、MSADBO-VME-SMHD方法的结合
4.1 VME与SMHD的结合方式

在故障诊断领域,VME与SMHD的结合堪称强强联手,发挥着互补作用。VME能够像一位精准的“分割大师”,将复杂信号巧妙分解为多个本征模态函数(IMF),把原本混杂在一起的不同频率成分清晰地分离出来,让信号中的故障特征初现端倪。然而,这些IMF中可能仍夹杂着噪声和其他干扰成分,使得故障特征不够突出。

此时,SMHD便作为一位出色的“强化专家”登场。它充分利用信号的稀疏特性,对VME分解得到的IMF进行解卷积处理。就像放大镜一般,将信号中的稀疏谐波成分从强噪声背景中分离并增强,使得原本可能被噪声掩盖的故障特征变得清晰可见。

两者结合的方式是,先利用VME对原始振动信号进行分解,得到多个IMF,然后针对每个IMF应用SMHD算法进行解卷积处理。这样一来,就能充分发挥VME在信号分解方面的优势和SMHD在提高信噪比、凸显故障特征方面的特长,共同为故障诊断提供更准确、更清晰的特征信息,让故障识别变得更加容易和可靠。

4.2 MSADBO对整个流程的优化

MSADBO在整个MSADBO-VME-SMHD流程中扮演着至关重要的优化角色。在VME参数优化环节,MSADBO凭借其强大的搜索能力和快速收敛速度,如同一位经验丰富的“寻宝者”,在复杂的参数空间中迅速找到最优参数组合。它通过模拟螳螂的感知和决策机制,精准捕捉到有利于故障特征提取的参数信息,灵活调整搜索策略,避免陷入局部最优,确保VME能够以最佳状态对信号进行分解。

在VME与SMHD的结合过程中,MSADBO也能发挥优化作用。它可以根据信号特性和故障诊断需求,对SMHD算法中的相关参数进行智能调整。比如在解卷积过程中,MSADBO可以帮助确定滤波器的最优参数,使得解卷积处理既能有效去除噪声,又能最大程度地保留和增强故障特征。

在整个故障诊断流程中,MSADBO就像一位高效的“调度员”,协调VME和SMHD的工作。通过优化参数和调整算法运行策略,使VME和SMHD的结合更加紧密、高效,从而提升诊断准确性,让故障诊断结果更加可靠,为及时发现和解决机械故障提供有力保障。

4.3 结合方法的优势分析

MSADBO-VME-SMHD方法在故障特征提取上优势显著。

从特征提取的准确性来看,VME先将复杂信号分解为多个IMF,使故障特征得以初步显现,再经SMHD对IMF进行解卷积处理,进一步增强故障特征。这种结合方式使得故障特征频率在频谱图中更加突出,与理论故障特征频率高度吻合,能准确识别出轴承内圈、外圈等不同部位的故障。

在抗噪性能方面,该方法表现出色。在强噪声环境下,VME能有效抑制部分噪声,SMHD则进一步从噪声中提取和增强故障特征,使得即使在信噪比很低的情况下,也能清晰地提取出故障信息。

计算效率上也有所提升。虽然MSADBO优化VME参数和SMHD处理会增加一定计算量,但整体流程通过合理优化,避免了不必要的冗余计算。在VME分解过程中,优化后的参数使得分解更高效,SMHD针对优化后IMF的解卷积处理也更为迅速,使得整个故障特征提取流程在保证准确性的同时,耗时更短,满足实时故障诊断的需求。

该方法还能适应不同工况和故障类型。MSADBO的智能优化能力使VME和SMHD参数能根据具体信号特性自适应调整,无论是在负载变化、转速不同的工况下,还是面对不同类型、程度的故障,都能有效提取故障特征,具有很强的通用性和实用性。

五、实验验证与分析
5.1 西储大学轴承故障数据介绍

西储大学轴承实验于2004年开展,旨在为故障诊断研究提供可靠数据。实验平台由2马力电动机、扭矩传感器/译码器、功率测试计及电子控制器组成。驱动端和风扇端分别采用SKF6205和SKF6203轴承。

实验利用电火花加工对滚动轴承的滚动体、内圈和外圈制造出单点故障,损伤直径有0.1778 mm、0.3556 mm、0.5334 mm三种。采样频率涵盖12KHz和48KHz,驱动端数据丰富,包含正常状态及不同损伤直径和类型的故障数据。

这些数据以Matlab的mat格式存储,每个文件包含风扇和驱动端振动数据,以及电机转速。文件命名清晰,如“12k_Drive”表示驱动端12KHz采样频率数据,“End”表示轴承位于电机非驱动端,“1”表示损伤直径为0.1778 mm,“DE”表示驱动端加速度数据等,为故障诊断研究提供了全面且规范的原始信号素材。

5.2 原始信号分析

对西储大学轴承故障原始信号进行时域分析,可观察到不同故障类型在时域波形上有明显差异。正常状态下,信号较为平稳,波动较小。当轴承出现故障,如内圈故障,时域波形会出现周期性的冲击脉冲,这些脉冲的幅度和频率与故障类型、损伤程度密切相关。轻故障时,冲击脉冲幅度较小,周期相对规律;重故障则脉冲幅度增大,周期可能因故障加剧而变得不太规律。

从频域角度看,利用傅里叶变换将时域信号转换为频域信号,能发现故障特征频率成分。在正常信号频谱中,主要为基频及其倍频成分,噪声分布较为均匀。当轴承出现故障,会在频谱中出现与故障特征频率对应的峰值。例如内圈故障,会在频谱中观察到内圈故障特征频率及其倍频的峰值。但原始信号中噪声干扰较大,这些故障特征频率峰值可能被噪声掩盖,难以准确识别,需要进一步的处理方法来提取故障特征。

通过对原始信号的时域和频域分析,可以初步判断信号中存在故障特征,但噪声干扰严重,故障特征不够清晰,为后续的信号处理方法应用提供了需求和方向。

5.3 MSADBO-VME识别分析

应用MSADBO-VME方法对西储大学轴承故障信号进行处理,能有效提取故障特征。

将原始信号输入经过MSADBO优化的VME中,VME会将复杂信号分解为多个IMF。以轴承内圈故障信号为例,分解后得到的IMF中,有的IMF清晰地反映了内圈损伤引起的冲击脉冲成分,其频率与理论内圈故障特征频率相吻合。在时域波形上,这些IMF的冲击脉冲周期性和规律性更加明显,与原始信号中模糊的冲击脉冲相比,故障特征更加突出。

观察IMF的频谱图,可以发现故障特征频率峰值更加显著。在未优化的VME分解结果中,可能存在模态混叠或模态丢失,导致故障特征频率峰值不明显或出现虚假峰值。而经过MSADBO优化后,VME参数设置更合理,分解出的IMF能准确反映故障特征,频谱图中故障特征频率峰值与理论值高度一致,且周围噪声干扰得到有效抑制。

通过对不同故障类型信号的分析,MSADBO-VME方法能准确识别出轴承内圈、外圈、滚动体等不同部位的故障。与原始信号相比,故障特征提取的准确性大幅提高,为故障诊断提供了有力依据。但信号中仍存在一定噪声,部分细微故障特征可能还不够清晰,有待进一步处理。

5.4 MSADBO-VME-SMHD识别分析

在MSADBO-VME基础上进一步结合SMHD方法,能显著改善信号质量,对诊断结果产生积极影响。

将MSADBO-VME分解得到的IMF输入SMHD算法中,利用信号的稀疏特性进行解卷积处理。SMHD就像一位“强化专家”,将IMF中的稀疏谐波成分从噪声背景中分离并增强,使得原本可能被噪声掩盖的细微故障特征变得清晰可见。

以轴承滚动体轻故障信号为例,在MSADBO-VME处理后的IMF中,轻故障引起的冲击脉冲特征虽然有所显现,但幅度较小,周期规律性不够明显。经过SMHD处理后,冲击脉冲幅度明显增大,周期规律性更加清晰,在时域波形上几乎可以一眼识别出故障特征。

在频域上,SMHD处理后的频谱图中,故障特征频率峰值更加突出,周围的噪声得到进一步抑制。原本可能被噪声干扰而难以识别的故障特征频率,在频谱图中清晰地呈现出来,与理论故障特征频率高度吻合。这使得故障诊断的准确性得到进一步提升,即使对于一些早期、轻微的故障,也能准确识别。

结合SMHD后,整个方法的抗噪性能和故障特征提取能力得到显著增强,信号质量明显改善,为准确判断轴承故障类型和程度提供了更可靠的依据。

5.5 方法对比与结果讨论

将本文所提MSADBO-VME-SMHD方法与传统方法、直VME方法、MSADBO-VME方法进行对比,可充分验证其有效性。

与特征提取和故障识别传统方法相比,如PCA+SVM、EMD+SVM等。PCA作为线性处理方法,在处理轴承故障这类非线性信号时能力不足,分类效果较低。EMD虽能自适应分解信号,但在处理复杂故障信号时容易出现模态混叠和端点效应问题,导致故障特征提取不准确。而本文方法利用VME有效分解信号,结合SMHD增强故障特征,在分类准确率和故障特征识别清晰度上都明显优于传统方法。

与直VME方法相比,未经过MSADBO优化的VME参数设置依赖经验,容易出现模态混叠或丢失等问题,导致故障特征提取不完整或不准确。而经过MSADBO优化后,VME参数更合理,故障特征提取效果更好。

相较于MSADBO-VME方法,虽然该方法已能有效提取故障特征,但结合SMHD后,进一步提升了抗噪性能和故障特征清晰度,使得对于一些早期、轻微故障的识别能力更强。

综合对比分析,MSADBO-VME-SMHD方法在故障诊断效果上具有明显优势,能更准确、更清晰地识别轴承故障,为机械故障诊断提供了更有效的手段。

六、结论与展望
6.1 研究总结

本文聚焦于机械故障诊断领域,针对传统方法存在的诸多局限,提出一种基于改进螂优化算法(MSADBO)优化变分模态提取(VME)结合稀疏最大谐波噪声比解卷积(SMHD)的新型故障诊断方法。详细阐述了MSADBO、VME和SMHD的基本原理与优势,明确VME参数优化的重要性及MSADBO优化VME参数的方法。通过西储大学轴承故障数据的实验验证,从原始信号分析、MSADBO-VME识别分析到MSADBO-VME-SMHD识别分析,层层深入,展示了所提方法在故障特征提取上的卓越性能。与传统方法及直VME方法、MSADBO-VME方法对比,进一步凸显其在故障诊断中的创新性与有效性,为机械故障诊断提供了新的思路与技术手段。

6.2 未来研究方向

本文研究虽取得一定成果,但仍存在局限。一方面,MSADBO优化VME参数及SMHD处理会增加计算量,在大规模数据应用时,计算效率问题需进一步优化。另一方面,该方法在复杂多故障并存情况下的诊断效果还有待验证。未来的研究方向可聚焦于算法效率提升,探索更高效的优化算法与并行计算技术,缩短诊断时间,满足实时性需求。还可深入研究多故障耦合情况下的特征提取与识别方法,提高方法在复杂工况下的适用性。此外,将该方法与更多新兴技术如人工智能、大数据等融合,开发智能故障诊断系统,实现故障的自动识别与预测,也是极具前景的研究方向。

相关文章:

故障识别 | 基于改进螂优化算法(MSADBO)优化变分模态提取(VME)结合稀疏最大谐波噪声比解卷积(SMHD)进行故障诊断识别,matlab代码

基于改进螂优化算法(MSADBO)优化变分模态提取(VME)结合稀疏最大谐波噪声比解卷积(SMHD)进行故障诊断识别 一、引言 1.1 机械故障诊断的背景和意义 在工业生产的宏大画卷中,机械设备的稳定运行…...

2025年最新自动化/控制保研夏令营预推免面试真题分享(东南大学苏州校区/华东理工/南航/天大)

笔者来2021级本科自动化专业,以下部分将介绍我在夏令营以及预推免期间发生经历和问题 东南大学苏州校区蒙纳士大学联培 东南大学苏州校区的项目算是一个比较小众的项目,是第一年在苏州校区,二三年到南京校区找导师(不提供住宿自…...

深度学习笔记19-YOLOv5-C3模块实现(Pytorch)

🍨 本文为🔗365天深度学习训练营中的学习记录博客 🍖 原作者:K同学啊 一、前期工作 1.导入数据并读取 import torch import torch.nn as nn import torchvision.transforms as transforms import torchvision from torchvisio…...

SpringCloud-环境和工程搭建

前言 JDK用17,MySQL用8.0 微服务就是微小的服务 一个微服务只做一个事情 基本概念 打开官网 spring springcloud就是给我们提供工具,方便我们来弄微服务 springcloud是分布式微服务架构的一站式解决方案 Distributed/versioned configuration 分布…...

React 中shouldComponentUpdate生命周期方法的作用,如何利用它优化组件性能?

大白话React 中shouldComponentUpdate生命周期方法的作用,如何利用它优化组件性能? 在 React 里,shouldComponentUpdate 这个生命周期方法就像是一个“关卡守卫”,它能决定组件是否需要重新渲染。组件重新渲染是个挺费性能的事儿…...

AI写一个视频转图片帧工具(python)

现在的AI写python太方便了 说的话 我想用python实现一个能够将视频的所有帧数转化为图片的软件,可以自由配置转换的帧率或者全部,需要有界面,我需要增加一点功能,就是我需要读取出视频的分辨率,然后设置输出帧的分辨…...

React第三十一章(组件实战)

组件实战 这一章建议大家看完hooks css 原理 组件 这些章节之后再来看,这样会更好理解。 本章是额外新增的,因为之前的知识大家都掌握的差不多了,所以这一章节主要是让大家动手实践,巩固一下前面的知识。 那么你会学到什么&#…...

详细介绍WideCharToMultiByte()

书籍:《Visual C 2017从入门到精通》的2.7 字符串 环境:visual studio 2022 内容:几个字符串类型->(将单字节char*转换为宽字节wchar_t *)(将宽字节wchar_t* 转换为单字节char *) WideChar…...

Qt开发:QFileDialog的使用

文章目录 一、QFileDialog的介绍二、QFileDialog的常用静态方法三、完整示例 一、QFileDialog的介绍 QFileDialog 是 Qt 框架中提供的一个用于文件选择的标准对话框类,它允许用户在应用程序中选择文件或目录。它是跨平台的,在不同操作系统上会自动适配本…...

深度学习篇---回归分类任务的损失函数

文章目录 前言一、分类任务常用损失函数1. 交叉熵损失(Cross-Entropy Loss)数学形式使用场景特点训练状态分析损失下降损失震荡训练损失低但是验证损失高 2. Hinge Loss(合页损失)数学形式适用场景特点训练状态分析损失趋近于0损失…...

【MLP-BEV(10)】BEVPooling V1和BEVPooling V2的view_transformer,进行鱼眼图片实践

文章目录 先说说 BEVPoolv1步骤1:3D点生成步骤2 2D特征采样和BEV特征生成特点再谈谈BEVPoolv2步骤1:3D点生成步骤2: 计算索引关系步骤3: `voxel_pooling`计算鱼眼图片进行实践步骤1、3D点生成(基于Kannala-Brandt 进行调整)步骤2、2D特征采样和BEV特征生成(1) 体素化 (Voxe…...

上海SMT贴片技术解析与行业趋势

内容概要 随着长三角地区电子制造产业集群的快速发展,上海作为核心城市正引领着SMT贴片技术的革新浪潮。本文聚焦表面组装技术在高密度互连、微间距贴装等领域的突破性进展,通过解析焊膏印刷精度控制、元件定位算法优化等核心工艺,展现上海企…...

RAG优化:python从零实现[吃一堑长一智]循环反馈Feedback

本文将介绍一种有反馈循环机制的RAG系统,让当AI学会"吃一堑长一智",给传统RAG装了个"后悔"系统,让AI能记住哪些回答被用户点赞/拍砖,从此告别金鱼记忆: 每次回答都像在玩roguelike:失败结局会强化下次冒险悄悄把优质问答变成新知识卡牌,实现"以…...

Ubuntu 防火墙配置

Ubuntu 防火墙配置 一、UFW 基础操作二、核心规则配置三、高级功能四、特殊场景配置五、规则管理六、默认策略与安全建议七、故障排除 一、UFW 基础操作 检查 UFW 状态 sudo ufw status # 查看防火墙状态 sudo ufw status verbose # 显示详细规则 sudo ufw status numbered #…...

网络运维学习笔记(DeepSeek优化版) 024 HCIP-Datacom OSPF域内路由计算

文章目录 OSPF域内路由计算:单区域的路由计算一、OSPF单区域路由计算原理二、1类LSA详解2.1 1类LSA的作用与结构2.2 1类LSA的四种链路类型 三、OSPF路由表生成验证3.1 查看LSDB3.2 查看OSPF路由表3.3 查看全局路由表 四、2类LSA详解4.1 2类LSA的作用与生成条件4.2 2…...

【实战ES】实战 Elasticsearch:快速上手与深度实践-2.2.1 Bulk API的正确使用与错误处理

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 Elasticsearch Bulk API 深度实践:性能调优与容错设计1. Bulk API 核心机制解析1.1 批量写入原理剖析1.1.1 各阶段性能瓶颈 2. 高性能批量写入实践2.1 客户端最佳…...

Oracle 23ai Vector Search 系列之2 ONNX(Open Neural Network Exchange)

文章目录 Oracle 23ai Vector Search 系列之2 ONNX(Open Neural Network Exchange)ONNX基本概念ONNX(Open Neural Network Exchange)ONNX Runtime ONNX Runtime 在Oracle数据库中的集成参考 Windows 环境图形化安装 Oracle 23ai Oracle 23ai Vector Search 系列之1 架构基础 Or…...

前端 - ts - - declare声明类型

在使用typeScript的项目中 需要声明属性类型 单独的局部属性 可以直接在当前文件中声明 全局属性需要在项目根目录下新建.d.ts文件 vite会自动识别.d.ts类型文件 在该文件中使用declare声明类型有三种写法 1、在某种类型的文件中声明 2、声明window上的属性类型 3、全局声明…...

Processor System Reset IP 核 v5.0(vivado)

这个IP的作用,我的理解是,比普通按键复位更加高效灵活,可以配置多个复位输出,可以配置复位周期。 1、输入信号: 重要的信号有时钟clk信号,一般连接到系统时钟;输入复位信号,一般是外…...

基于dify平台批量分析excel格式信息

如何以表格形式批量输入一些信息,然后让大模型以对话应用形式逐条进行推理分析? 这里提供一个分步解决方案,结合 Dify平台功能 和 API调用优化 的思路,既保证效率又降低复杂度: 1. 优先检查 Dify 的「数据集」功能 Di…...

GMII 接口

文章目录 概述硬件拓扑GMII 接口站管理接口发送数据时序接收数据时序参考 本文为笔者学习以太网对网上资料归纳整理所做的笔记,文末均附有参考链接,如侵权,请联系删除。 概述 GMII 是千兆网的MII接口,这个也有相应的 RGMII 接口&…...

学习不同电脑cpu分类及选购指南

关于电脑cpu 一、CPU型号的核心组成与命名规则Intel命名规则:AMD命名规则:5. 后缀:Intel常见后缀及其含义:AMD后缀一些常见的后缀及其含义:二、主流品牌CPU的分类与性能差异三、区分CPU型号的实用方法四、主流品牌CPU对比与选择建议五、选购CPU的注意事项关于不同主流CPU的…...

Android 动态设置默认Launcher(默认应用 电话-短信-浏览器-主屏幕应用))

Android 动态设置默认Launcher(默认应用 电话-短信-浏览器-主屏幕应用)) 文章目录 场景需求参考资料思路期待效果 实现方案源码流程分析和思路实现DefaultAppActivityHandheldDefaultAppFragmentHandheldDefaultAppPreferenceFragmentDefaultAppChildFragmentDefaul…...

23种设计模式-策略(Strategy)设计模式

策略设计模式 🚩什么是策略设计模式?🚩策略设计模式的特点🚩策略设计模式的结构🚩策略设计模式的优缺点🚩策略设计模式的Java实现🚩代码总结🚩总结 🚩什么是策略设计模式…...

游戏引擎学习第188天

回顾并计划今天的内容 原本这周的目标是进行可视化操作的尝试,但每一天都被一些棘手的bug和问题所阻碍,导致我们一直没能实现这个目标。直到今天,星期四,我们终于解决了这些问题,所有功能都能正常运行了,所…...

TF-IDF——自然语言处理——红楼梦案例

目录 一、红楼梦数据分析 (1)红楼梦源文件 (2)数据预处理——分卷实现思路 (3)分卷代码 二、分卷处理,删除停用词,将文章转换为标准格式 1.实现的思路及细节 2.代码实现&#…...

Oracle数据库数据编程SQL<2.3 DML增、删、改及merge into>

目录 一、DML数据操纵语言(Aate Manipulation Language) 二、【insert】插入数据 1、单行插入 2、批量插入 3、将数据同时插入到多张表insert all/insert first 三、【update】 更新数据 1、语法 2、举例 3、update使用注意事项: 四、【delete…...

面试计算机操作系统解析(一中)

判断 1. 一般来说,先进先出页面置换算法比最近最少使用页面置换算法有较少的缺页率。(✘) 正确答案:错误解释:FIFO(先进先出)页面置换算法可能导致“Belady异常”,即页面数增加反而…...

启山智软实现b2c单商户商城对比传统单商户的优势在哪里?

启山智软实现 B2C 单商户商城具有以下对比优势: 技术架构方面 先进的框架选型:基于 SpringCloud 等主流框架开发,是百万真实用户沉淀并检验的商城系统,技术成熟稳定,能应对高并发场景,保证系统在大流量访…...

蓝桥杯备考:贪心问题之均分纸牌

咱的贪心策略就是每次分好一个堆儿&#xff0c;如果某个堆已经是满足题意了&#xff0c;就不用管这个堆了&#xff0c;否则要向下一个堆借几个元素 #include <iostream> using namespace std; const int N 110; typedef long long ll; int a[N]; int n; ll x; int cnt…...

免去繁琐的手动埋点,Gin 框架可观测性最佳实践

作者&#xff1a;牧思 背景 在云原生时代的今天&#xff0c;Golang 编程语言越来越成为开发者们的首选&#xff0c;而对于 Golang 开发者来说&#xff0c;最著名的 Golang Web 框架莫过于 Gin [ 1] 框架了&#xff0c;Gin 框架作为 Golang 编程语言官方的推荐框架 [ 2] &…...

centos7 linux VMware虚拟机新添加的网卡,能看到网卡名称,但是看不到网卡的配置文件

问题现象&#xff1a;VMware虚拟机新添加的网卡&#xff0c;能看到网卡&#xff0c;但是看不到网卡的配置文件 解决方案&#xff1a; nmcli connection show nmcli connection add con-name ens36 ifname ens36 type ethernet #创建一个网卡连接配置文件&#xff0c;这里con…...

python的内置方法getitem和len

完整小测试&#xff1a; #python的内置函数&#xff0c;getitemclass Animal():def __init__(self,name):self.name namedef __str__(self):return f"This is {self.name}"class Zoo():def __init__(self,animal_list):self.animal_list animal_listdef __getite…...

深入理解 Git Stash:功能、用法与实战示例

文章目录 深入理解 Git Stash&#xff1a;功能、用法与实战示例一、Git Stash 的核心概念二、Git Stash 的基本用法1. 存储当前修改2. 查看 Stash 列表3. 恢复 Stash4. 恢复并删除 Stash5. 删除 Stash&#xff08;1&#xff09;删除指定 Stash&#xff08;2&#xff09;清空所有…...

SQL 复杂查询和性能优化

一、掌握复杂查询的核心技能 1. ​理解 SQL 执行顺序 SQL 语句的逻辑执行顺序&#xff08;非书写顺序&#xff09;&#xff1a; FROM → JOIN → WHERE → GROUP BY → HAVING → SELECT → DISTINCT → ORDER BY → LIMIT ​关键点&#xff1a;每一步的结果会传递给下一步&a…...

【web应用安全】关于web应用安全的几个主要问题的思考

文章目录 防重放攻击1. **Token机制&#xff08;一次性令牌&#xff09;**2. **时间戳 超时验证**3. **Nonce&#xff08;一次性随机数&#xff09;**4. **请求签名&#xff08;如HMAC&#xff09;**5. **HTTPS 安全Cookie**6. **幂等性设计****综合防御策略建议****注意事项…...

看懂roslunch输出

自编了一个demo 第一步&#xff1a;创建功能包 cd ~/catkin_ws/src catkin_create_pkg param_demo roscpp第二步&#xff1a;写 main.cpp 创建文件&#xff1a;param_demo/src/param_node.cpp #include <ros/ros.h> #include <string>int main(int argc, char*…...

如何查看Unity打包生成的ab文件

文章目录 前言AssetStudioab文件介绍1. 动态加载资源2. 资源分离与模块化3. 平台兼容性4. 资源压缩与加密5. 资源管理与更新6. 减少安装包大小7. 资源加载灵活性8. 资源打包与分发9. 实际应用场景10. 注意事项 总结 前言 问题来源于工作又回归到工作&#xff0c;当发现发布包里…...

从泛读到精读:合合信息文档解析如何让大模型更懂复杂文档

从泛读到精读&#xff1a;合合信息文档解析如何让大模型更懂复杂文档 一、引言&#xff1a;破解文档“理解力”瓶颈二、核心功能&#xff1a;合合信息的“破局”亮点功能亮点1&#xff1a;复杂图表的高精度解析图表解析&#xff1a;为大模型装上精准“标尺”表格数据精准还原 功…...

Python SciPy面试题及参考答案

目录 什么是 SciPy?它与 NumPy 有什么区别? 如何在 Python 中安装 SciPy? 如何导入 SciPy 库? SciPy 中有哪些子模块?简要介绍它们的功能。 如何使用 SciPy 进行数值积分?请举例说明。 SciPy 中提供了哪些求解微分方程的函数? 什么是插值?SciPy 中如何进行插值?…...

21.Excel自动化:如何使用 xlwings 进行编程

一 将Excel用作数据查看器 使用 xlwings 中的 view 函数。 1.导包 import datetime as dt import xlwings as xw import pandas as pd import numpy as np 2.view 函数 创建一个基于伪随机数的DataFrame&#xff0c;它有足够多的行&#xff0c;使得只有首尾几行会被显示。 df …...

【redis】数据类型之Stream

Redis Stream是Redis 5.0版本引入的一种新的数据类型&#xff0c;它提供了一种持久化的、可查询的、可扩展的消息队列服务。 它结合了Redis高性能的特性与持久化能力&#xff0c;支持&#xff1a; 多消费者组模式&#xff08;Consumer Groups&#xff09;消息回溯&#xff08…...

day17 周末两天偷懒没更新,今天炼丹加学习,完结STL常用容器部分

还剩下两个常用容器&#xff0c;一个是set(集合容器) &#xff0c; 一个是map容器 set/multiset 容器 set容器是关联式容器&#xff0c;该容器的特点是&#xff1a;所有元素都会在插入时被自动排序 set/multiset 都是关联式容器 &#xff0c;其底层结构是使用二叉树实现的。…...

嵌入式开发场景中Shell脚本执行方式的对比

‌Shell脚本执行方式对比表‌ ‌执行方式‌‌命令示例‌‌是否需要执行权限‌‌是否启动子Shell‌‌环境变量影响范围‌‌适用场景‌‌嵌入式开发中的典型应用‌‌直接执行脚本‌./script.sh是是子Shell内有效独立运行的脚本&#xff0c;需固定环境自动化构建脚本&#xff08;…...

数据结构之多项式相加的链表实现

在计算机科学中&#xff0c;多项式的表示和运算经常会用到。使用链表来表示多项式是一种常见且有效的方法&#xff0c;它可以方便地处理多项式的各项&#xff0c;并且在进行多项式相加等运算时具有较好的灵活性。 多项式通常由一系列的项组成&#xff0c;每一项包含一个系数和…...

Java 实现将Word 转换成markdown

日常的开发中&#xff0c;需要将word 等各类文章信息转换成格式化语言&#xff0c;因此需要使用各类语言将word 转换成Markdown 1、引入 jar包 <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version&g…...

IEEE PDF Xpress校验出现 :字体无法嵌入问题以及pdf版本问题

文章目录 问题描述一、字体嵌入问题首先查看一下&#xff0c;哪些字体没有被嵌入查看window的font文件夹里的字体下载字体的网站修复字体嵌入问题 二、pdf版本不对 问题描述 在处理IEEE的camera ready的时候&#xff0c;提交到IEEE express的文件没有办法通过validate&#xf…...

Sa-Token

简介 Sa-Token 是一个轻量级 Java 权限认证框架&#xff0c;主要解决&#xff1a;登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权 等一系列权限相关问题。 官方文档 常见功能 登录认证 本框架 用户提交 name password 参数&#xff0c;调用登…...

StarRocks 中 CURRENT_TIMESTAMP 和 CURRENT_TIME 分区过滤问题

背景 本文基于Starrocks 3.3.5 最近在进行Starrocks 跑数据的时候&#xff0c;发现了一个SQL 扫描了所有分区的数据&#xff0c;简化后的SQL如下&#xff1a; select date_created from tableA where date_createddate_format(current_time(), %Y-%m-%d %H:%i:%S) limit 20其…...

GithubPages+自定义域名+Cloudfare加速+浏览器收录(2025最新排坑)

前言 最近刷到一个小视频&#xff0c;讲述了选择域名选择的三宗罪&#xff0c;分别是 不要使用 .net&#xff0c;因为它价格贵&#xff0c;但是在顶级域名中的 SEO 效果却不是很好&#xff0c;也就是性价比很低不要使用 .cn&#xff0c;因为国外访问该网站可能会很慢&#xf…...