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

基于注意力整合的超声图像分割信息在乳腺肿瘤分类中的应用

基于注意力整合的超声图像分割信息在乳腺肿瘤分类中的应用

  • 摘要
  • 引言
  • 方法

Segmentation information with attention integration for classification of breast tumor in ultrasound image

摘要

乳腺癌是世界范围内女性最常见的癌症之一。基于超声成像的计算机辅助诊断(CAD)技术的发展促进了乳腺病变的诊断,引起了研究者的关注,深度学习是一种流行且有效的方法。然而,大多数基于深度学习的CAD方法忽略了两个视觉任务之间的关系肿瘤区域分割和分类。在本文中,考虑到医学的一些先验知识,我们提出了一种新的分割到分类方案,通过将基于分割的注意力(SBA)信息添加到深度卷积网络(DCNN)中进行乳腺肿瘤分类。训练分割网络以生成肿瘤分割增强图像。两个并行网络分别对原始图像和分割增强后的图像进行特征提取,一个基于通道注意力的特征聚合网络将两个特征网络提取的特征自动融合,以提高乳腺超声图像中恶性肿瘤的识别性能。为了验证我们的方法,实验已经进行了乳腺超声数据集。我们的方法的分类结果进行了比较与现有的11种方法。实验结果表明,该方法具有最高的准确性(90.78%),灵敏度(91.18%),特异性(90.44%),F1-评分(91.46%)和AUC(0.9549)。

引言

乳腺癌是世界范围内女性最常见的癌症之一,给女性健康带来了极大的威胁。由于病因复杂,医学界难以提供有效的预防措施,因此早期发现和诊断是降低死亡率(40%或以上)的关键[1]。乳腺X线摄影、磁共振成像(MRI)、乳腺X线摄影和超声是发现和诊断乳腺癌最常用的技术。近年来,超声成像因其无辐射、成像速度快、灵敏度和准确度高、成本低等优点而受到越来越多的关注[2]。然而,超声波是一种依赖于操作者的方法。此外,阅读超声图像需要训练有素且经验丰富的放射科医师,并且具有不同医学造诣的医师的诊断结果非常不同。由于乳腺超声图像的个体差异性和图像质量差,放射科医生在诊断乳腺超声图像时往往不能做出正确的判断。为了减少不同放射科医生之间的观察者间差异,并帮助生成更可靠和准确的诊断结论,已经提出了计算机辅助诊断(CAD)系统[3,4]。随着计算机技术和人工智能技术的飞速发展,计算机辅助诊断技术已成为现代医学影像学研究的热点之一,其临床价值已在真实的诊断中得到证实,可辅助放射科医生对乳腺肿瘤进行分类和识别。
通常,传统的乳腺肿瘤分类方法的关键包括两个方面,即特征提取和机器学习分类器[5]。在传统方法中,提取的特征是明确设计或手工制作的,主要是纹理特征和形态特征[6]。常用的纹理特征提取方法包括灰度共生矩阵(GLCM)[7]、自协方差系数[9]、空间灰度相关性(SGLD)[10]、共生矩阵的相关性[11]、全局纹理特征[12]、小波变换[13]、基于剪切波的特征[14]等,其中,纹理的提取方法有灰度共生矩阵法和小波变换法,它们首先计算矩阵或变换域表示,然后计算多个统计量作为纹理特征。然而,有些方法,如全局纹理特征,将直接表示为纹理特征。常见的形态学特征包括边缘清晰度[8]、深宽比[11,15]、分支模式[16]、圆形度[11,16]等,虽然手工制作的特征数量已达数万种,但这些特征较浅且层次较低,可能无法完全表征肿瘤内部的异质模式。此外,手工制作的功能高度依赖于专家的经验,并在很大程度上取决于在放射学水平上对肿瘤的良好理解。
近年来,流行的深度学习方法能够自动而不是手动提取特征。深度卷积网络(DCNN)已被广泛认为是学习图像分类、对象检测、语义分割和其他计算机视觉任务的预测特征的可靠方法。目前,DCNN在医学影像分析界也开始流行[ 17,18 ]。对于乳腺超声图像的分类,已经提出了一些研究,并取得了比经典方法更好的分类结果。在乳腺超声分类的研究中,有两种深度学习方法。一个是从头开始训练CNN。然而,从头开始训练CNN需要一个大的数据集,因为CNN通常很深,以获得更好的性能。超声数据集的数量通常很小,这是医学数据分析的一个重要特征。在少量数据集上从头开始训练深度CNN会导致过度拟合,从而导致性能不佳。一些研究[19-21]将注意力放在训练用于乳腺超声分类的浅层网络上。Masud等人。[19],Wang等人。[20]和Zeimarani等人。[21]分别提出了用于乳腺超声分类的自定义卷积神经网络。其中,[19-21]中的方法主要有一个,两个和四个卷积层,分别与全连接,池化,dropout和批量归一化层相结合。另一种方法是基于迁移学习。将在大型标记数据集上预训练的网络应用于乳房超声数据集。预训练的网络可以直接用于特征提取,也可以在可用的数据集上进行微调。在2019年,Daoud等人。[22],Hijab等人。[23]和Cao等人。[24]分别应用预训练的AlexNet,VGG 16网络和DenseNet 121并对超声图像进行微调,以区分良性和恶性乳腺肿块。Fujioka等人[25]应用基于GoogleNet的DCNN架构从乳腺超声图像中区分良性和恶性乳腺肿块,并且与放射科医生相比具有相同或更好的诊断性能。Byraa等人。[26]设计了一个匹配层,将灰度超声图像转换为RGB图像,并对预训练的VGG 19网络进行微调,用于乳腺肿瘤分类。Tanaka等人。[27]通过结合VGG 19和ResNet 152构建了一个集成网络,对乳腺超声图像进行微调,用于乳腺肿块分类。Zhuang等人[28]采用图像分解方法获得模糊增强和双边滤波图像,输入到预训练的VGG模型中进行乳腺肿块分类,并获得了良好的改进结果。目前,更有效的深度学习方法是应用不同的预训练模型,然后在乳腺超声数据集上进行微调。
然而,目前基于深度学习的超声图像分类方法还存在一些问题。一个显著的困难是超声数据集的量通常很小,这是医学数据分析的一个重要特征。与自然图像相比,超声数据更难以收集,并且数据的使用必须得到患者的同意。标记超声图像是非常严格的,需要有经验的放射科医生或活检。同时,乳腺肿瘤的类型,以及相应的影像学结果,可能是不同的和多样的。少量的数据集可能无法覆盖所有类型。如何提取最有效、最鲁棒的乳腺超声特征是提高诊断性能的重要内容。
此外,医学和影像的发展为我们提供了大量的诊断知识。在对少量数据集的分析中,将先验知识引入到乳腺肿瘤分类深度学习网络的设计中,是弥补样本数量不足的有效方法。在实际的临床诊断中,放射科医生根据肿瘤的位置、形状、大小、深宽比、圆形、边缘完整性、分叶、边缘锐度等因素来判断肿瘤的类型[29]。2003年,美国放射学会开发了乳腺影像报告和数据系统(BI-RADS)[30],形成的评分数据总结了专家的实践经验。评分指标是从大量数据中总结出来的,作为国际标准被广泛应用于乳腺癌的分类中。
但是,由于深度学习模型是一种自动特征提取方法,提取的特征与普遍接受的BI-RADS并不完全一致,更多地依赖于训练数据的特征。在分析少量数据集时,很难学习深度学习模型中最具代表性的特征。在BI-RADS中,18个评分指标中的10个,包括形状、方向、边缘完整性、边缘模糊性、角度、微分叶、毛刺、后部特征、肿块钙化和结构变形,与肿瘤分割密切相关。这些指标是乳腺超声临床诊断的重要依据[31]。如果我们能够引导深度学习模型更多地关注这些特征,那么对于乳腺癌的分类将非常有帮助。因此,肿瘤的分割可以进一步指导与肿瘤分类相关的特征提取,提高性能[32]。然而,在以往的深度学习分类方法中,仅将识别出的包含乳腺肿瘤的感兴趣区域(ROI)图像作为网络的输入,没有添加肿瘤轮廓先验信息。这些方法可以提取但不能增强肿瘤分割相关的临床标准,这使得分类性能难以提高。在临床诊断中,放射科医生可以专注于肿瘤区域,自动排除正常组织的干扰,这是现有深度学习CAD方法无法实现的。因此,有必要从临床诊断的标准出发,设计网络,增强包含分割信息的特征。

读一下的论文
肿瘤的分割可以进一步指导与肿瘤分类相关的特征提取,提高性能[32]
由于缺乏公开的大规模标记的医学超声数据集,我们选择非医学ImageNet作为预训练的数据集。虽然ImageNet与超声数据集不同,但低级特征对大多数图像分析任务都是通用的[37]
关注信息
放射科医生可以专注于肿瘤区域,自动排除正常组织的干扰

因此,我们提出了一种新的架构,以提高肿瘤分割和相关的临床诊断信息的特征提取。为了获得分割先验信息,我们提出了一个分割到分类的框架来实现这些目标。与传统的DCNN框架不同,该系统增加了一个包含分割先验信息的并行特征提取分支。分割结果由分割网络获得,并作为卷积网络的输入来提取特征。然后利用基于注意机制的特征聚合网络对两个并行特征提取分支的特征进行合成。考虑该框架的进一步细节描述如下。
如文献[19-28]所示,常用的乳房超声分类深度网络没有考虑分割先验信息在乳房分类中的作用。在经典方法中,基于分割结果的特征提取在乳腺肿瘤分类中占有重要地位[33],这与一系列临床特征和乳房鉴别密切相关。对于乳腺良、恶性肿瘤的分割结果已被证明是提高性能的有效特征。将两个平行分支用于超声肿瘤的特征提取,丰富了特征提取的内容,可以得到更有效的分类特征

如果用分类信息指导分割呢?
不同类别的概率值不同--》融合不同情况下的分割情况

其次,基于信道注意力的特征聚合网络是必要的。两个并行网络的特征提取存在冗余信息,因此,利用一个聚合网络对两个并行网络提取的特征进行聚合,增强有用特征,去除冗余特征,得到更有效的特征表示,有助于乳腺图像分类。通道注意力网络可以分析两个特征网络中不同通道的重要性,并对不同的通道特征进行加权,得到更有效的特征。综上所述,本文的主要贡献归纳如下:
(1)提出了一种新的分类方案,将分割信息作为先验信息输入网络进行乳腺超声诊断。对分割网络进行训练,得到肿瘤区域,形成分割增强图像,并行提取分割增强图像和原始图像的特征进行分类。
(2)提出了一种通道注意方法,用于两个并行网络的特征聚合,以增强对分类有用的特征,得到更有效的特征表示。由于分割增强信息被添加到网络中,并进行通道注意力方法以获得最具信息量的特征,因此我们的方法被称为基于分割的注意力网络(SBANet)。
(3)实验结果表明,分割分类框架是能够提高诊断性能。

方法

在本节中,说明了所提出的方法的整体架构,包括分割模型的架构、两个并行特征提取网络、基于通道注意力的特征聚合网络和最终分类网络。
2.1. Overall architecture—2.1.整体架构
所提出的架构如图1所示。与传统的框架不同,我们的系统是一个分割到分类的框架,由四个组件组成:
(1)分割模型
为了获得后续分类任务的形状和形态先验,避免实际使用中专业放射科医生标记的巨大工作量,首先训练分割模型来估计肿瘤的边缘。分割网络接收超声图像的样本作为输入,并输出分割的二值图像。经过形态学开闭算法处理后,得到包含肿瘤和组织的分割图像。
(2)两个并行的特征提取网络
在得到分割结果后,我们将原始图像和分割后的图像进行联合收割机组合,形成分割增强图像。为了获得更鲁棒的图像表示,分别对应于原始图像和分割增强图像,设计了两个并行的特征提取网络。这些特征是从两个并行特征提取网络的输出中获得的。
(3)两个网络的特征聚合
在特征提取之后,设计了一个特征聚合网络,专注于两个网络获得的不同通道特征图之间的关系,并自动学习不同通道特征的重要性,以生成更有效的特征表示。将特征图乘以自适应重要性权重以获得更有效的特征表示。
(4)分类网络
在获得图像的特征表示之后,训练分类网络以获得乳腺超声图像的最终分类。
我们的乳腺肿瘤分类方案涉及三个问题:(1)如何自动获取肿瘤分割,形成有效的分割增强图像进行特征提取;(2)如何在超声图像上提取特征,避免过拟合;(3)如何自动学习两个网络提取的不同通道特征的重要性,生成更有效的特征表示。第2.2、2.3和2.4节将分别介绍问题的解决方案。
2.2. Segmentation model–
用u-net充当
为了减少过拟合的影响,我们在第4块和第5块中增加了dropout方法。在我们的工作中,辍学率的值是0.5。
原始图像作为输入,肿瘤和正常组织分别为1和0的二值图像作为输出来训练U-Net_tumor。在用U-Net_tumor分割乳腺肿瘤图像之后,获得包含对象(肿瘤)和背景(组织)的二值图像。接下来,进行形态学打开和闭合以细化肿瘤轮廓,打开以减少骨针,闭合以填充孔。椭圆核用于打开和关闭操作。经形态学开闭算法处理后,得到包含肿瘤和组织的分割图像。
2.3. Feature extraction network–
对肿瘤进行分割后,得到超声图像及其相应的分割结果。为了进行最终的分类,我们需要提取超声图像的特征。在目前提出的方法中,选择ResNet50作为特征提取网络,因为它具有强大的特征表示能力。为了避免过度拟合,应用迁移学习,并且应用预训练的参数来初始化网络的参数,并进行微调以适应乳腺超声数据集。由于缺乏公开的大规模标记的医学超声数据集,我们选择非医学ImageNet作为预训练的数据集。虽然ImageNet与超声数据集不同,但低级特征对大多数图像分析任务都是通用的[37]。因此,传输的参数可以帮助提供一组强大的特征,从而减少对大型数据集的需求以及训练时间和内存成本。在此基础上,对模型进行微调,可以提取出最适合具体超声图像分类的特征。如图3所示,ResNet50模型由相似残差块的堆栈组成,并且存在连接残差块的输入和输出的标识映射路径。为了将原始图像和分割增强图像的信息联合收割机结合起来,设计了两个ResNet作为原始图像和分割增强图像的特征提取网络,分别称为ResNet_ORI和ResNet_SEI。

2.3.1.ResNet_ORI
用于提取原始图像的特征。在ImageNet数据集上分配预训练参数后,ResNet_ORI在乳腺超声数据集上进行微调,以适应目标域数据集。ResNet_ORI的输入是原始乳腺超声图像,Conv5_x的最后一个卷积层的输出是原始图像的特征表示。更技术性地说,令μori =(μ(0)ori,μ(1)ori,.,μ(K−1)ori)是从Conv5_x的最后一个卷积层输出的张量,K表示该层中的通道数。因此,μori是ResNet_ORI的特征表示。方法
在本节中,说明了所提出的方法的整体架构,包括分割模型的架构、两个并行特征提取网络、基于通道注意力的特征聚合网络和最终分类网络。
2.1. Overall architecture—2.1.整体架构
所提出的架构如图1所示。与传统的框架不同,我们的系统是一个分割到分类的框架,由四个组件组成:
(1)分割模型
为了获得后续分类任务的形状和形态先验,避免实际使用中专业放射科医生标记的巨大工作量,首先训练分割模型来估计肿瘤的边缘。分割网络接收超声图像的样本作为输入,并输出分割的二值图像。经过形态学开闭算法处理后,得到包含肿瘤和组织的分割图像。
(2)两个并行的特征提取网络
在得到分割结果后,我们将原始图像和分割后的图像进行联合收割机组合,形成分割增强图像。为了获得更鲁棒的图像表示,分别对应于原始图像和分割增强图像,设计了两个并行的特征提取网络。这些特征是从两个并行特征提取网络的输出中获得的。
(3)两个网络的特征聚合
在特征提取之后,设计了一个特征聚合网络,专注于两个网络获得的不同通道特征图之间的关系,并自动学习不同通道特征的重要性,以生成更有效的特征表示。将特征图乘以自适应重要性权重以获得更有效的特征表示。
(4)分类网络
在获得图像的特征表示之后,训练分类网络以获得乳腺超声图像的最终分类。
我们的乳腺肿瘤分类方案涉及三个问题:(1)如何自动获取肿瘤分割,形成有效的分割增强图像进行特征提取;(2)如何在超声图像上提取特征,避免过拟合;(3)如何自动学习两个网络提取的不同通道特征的重要性,生成更有效的特征表示。第2.2、2.3和2.4节将分别介绍问题的解决方案。
2.2. Segmentation model–
用u-net充当
为了减少过拟合的影响,我们在第4块和第5块中增加了dropout方法。在我们的工作中,辍学率的值是0.5。
原始图像作为输入,肿瘤和正常组织分别为1和0的二值图像作为输出来训练U-Net_tumor。在用U-Net_tumor分割乳腺肿瘤图像之后,获得包含对象(肿瘤)和背景(组织)的二值图像。接下来,进行形态学打开和闭合以细化肿瘤轮廓,打开以减少骨针,闭合以填充孔。椭圆核用于打开和关闭操作。经形态学开闭算法处理后,得到包含肿瘤和组织的分割图像。
2.3. Feature extraction network–
对肿瘤进行分割后,得到超声图像及其相应的分割结果。为了进行最终的分类,我们需要提取超声图像的特征。在目前提出的方法中,选择ResNet50作为特征提取网络,因为它具有强大的特征表示能力。为了避免过度拟合,应用迁移学习,并且应用预训练的参数来初始化网络的参数,并进行微调以适应乳腺超声数据集。由于缺乏公开的大规模标记的医学超声数据集,我们选择非医学ImageNet作为预训练的数据集。虽然ImageNet与超声数据集不同,但低级特征对大多数图像分析任务都是通用的[37]。因此,传输的参数可以帮助提供一组强大的特征,从而减少对大型数据集的需求以及训练时间和内存成本。在此基础上,对模型进行微调,可以提取出最适合具体超声图像分类的特征。如图3所示,ResNet50模型由相似残差块的堆栈组成,并且存在连接残差块的输入和输出的标识映射路径。为了将原始图像和分割增强图像的信息联合收割机结合起来,设计了两个ResNet作为原始图像和分割增强图像的特征提取网络,分别称为ResNet_ORI和ResNet_SEI。

2.3.1.ResNet_ORI
用于提取原始图像的特征。在ImageNet数据集上分配预训练参数后,ResNet_ORI在乳腺超声数据集上进行微调,以适应目标域数据集。ResNet_ORI的输入是原始乳腺超声图像,Conv5_x的最后一个卷积层的输出是原始图像的特征表示。更技术性地说,令μori =(μ(0)ori,μ(1)ori,.,μ(K−1)ori)是从Conv5_x的最后一个卷积层输出的张量,K表示该层中的通道数。因此,μori是ResNet_ORI的特征表示。
2.3.2.ResNet_SEI
如上所述,获得超声图像的对应分割结果,并将其应用于形成分割增强图像。由于二值图像不能表示与纹理和形状相关联的特征,因此分割的二值图像不能直接用作深度卷积网络的输入以获得图像特征。因此,我们提出了一种新的三通道人工RGB图像的方法,通过连接的原始图像及其分割的二值图像。在本研究中,三种形式的组成,并在实验中进行了比较。形式1是两个通道是原始超声图像,另一个通道是分割的二值图像。形式2是一个通道是原始超声图像,另外两个通道是分割的二值图像。形式3是一个通道是原始超声图像,而其他通道是分割的二值图像和具有黑色和白色反转的分割的二值图像。在目前的研究中,SBANet进行了几个实验,在三种形式的分割增强方法,和形式1的方法被称为建议的方法,和其他应用作为比较算法。
设I ori表示原始灰度图像,I seg表示分割后的二值图像,I seg_resort表示白色反转后的分割后的二值图像,I mul_1、I mul_2、I mul_3分别表示三种形式的分割注意图像。因此,I ∈ R M × M × C,M表示宽度和高度的大小,而C表示通道数。合成过程的三种形式如下:
在这里插入图片描述
其中运算符expand_dims将三个单通道灰度图像组合成三通道图像。如图4所示,叠加图像相当于突出显示了肿瘤区域和分割增强信息,包括肿瘤形状相关特征和边缘相关纹理特征。随后的ResNet_SEI可以自动学习这些增强分割信息的特征。具体的网络结构与ResNet_ORI中的一致。类似地,令μsei =(μ(0)sei,μ(1)sei,.,μ(K−1)sei)是一个张量,它是Conv5_x的最后一个卷积层的输出,K表示该层中的节点数。同时,μsei ∈ R K ×1是子网络_SEI的特征表示。
2.4.基于通道注意力的特征聚合网络
由于两种网络提取的特征既有相似之处,又有不同之处,为了了解两种网络提取的不同通道特征的重要性,更关注信息量最大的通道特征,提出了一种特征聚合网络来自动聚合原始图像和分割增强图像的特征。首先,将两个网络提取的特征图连接起来。给定两个网络的提取特征图μori,μsei,级联特征图μconcat = concatenate(μori,μsei)=(μ(0)ori,μ(1)ori,.,μ(K−1)ori,μ(0)sei,μ(1)sei,.,μ(K−1)sei)。这里,concatenate是将两个张量连接成一个张量的算子,μori和μsei是原始图像和分割增强图像的DCNN特征图。然后,采用通道注意力方法,主要包括挤压步骤和激发步骤,来衡量不同的通道特征。压缩步骤是一个全局平均池化操作,对每个连接的特征图执行该操作以获得通道级全局特征。通道上的整个空间特征被编码为全局特征。然后,激励步骤根据全局特征学习通道之间的关系,得到不同通道的自适应权值,即注意力得分。设计了两个完全连接的层,分别具有激活层ReLu和sigmoid,以获得每个通道的注意力得分。最后,通过将注意力分数与连接的特征图相乘来获得最终的特征表示。我们的特征聚合和分类网络的架构如图5所示。分类网络由全连接层和softmax层组成。乳房超声图像的聚合特征可以公式化如下:

相关文章:

基于注意力整合的超声图像分割信息在乳腺肿瘤分类中的应用

基于注意力整合的超声图像分割信息在乳腺肿瘤分类中的应用 摘要引言方法 Segmentation information with attention integration for classification of breast tumor in ultrasound image 摘要 乳腺癌是世界范围内女性最常见的癌症之一。基于超声成像的计算机辅助诊断&#x…...

数据库重点知识(个人整理笔记)

目录 1. 索引是什么? 1.1. 索引的基本原理 2. 索引有哪些优缺点? 3. MySQL有哪几种索引类型? 4. mysql聚簇和非聚簇索引的区别 5. 非聚簇索引一定会回表查询吗? 6. 讲一讲前缀索引? 7. 为什么索引结构默认使用B…...

[技术闲聊]checklist

电路设计完成后,需要确认功能完整性,明确是否符合设计规格需求;需要确认电路设计是否功能符合但是系列项不符合设计规则,如果都没有问题,那么就可以发给layout工程师。 今天主要讲讲电路设计规则,涉及到一…...

力扣刷题 二叉树的迭代遍历

题干 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root [1,null,2,3] 输出:[1,2,3]示例 2: 输入:root [] 输出:[]示例 3: 输入:root [1] 输…...

【二】Django小白三板斧

今日内容 静态文件配置 request对象方法初识 pycharm链接数据库(MySQL) django链接数据库(MySQL) Django ORM简介 利用ORM实现数据的增删查改 【一】Django小白三板斧 HttpResponse 返回字符串类型的数据 render 返回HTML文…...

MyBatis的基本应用

源码地址 01.MyBatis环境搭建 添加MyBatis的坐标 <!--mybatis坐标--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.9</version></dependency><!--mysql驱动坐…...

Day80:服务攻防-中间件安全HW2023-WPS分析WeblogicJettyJenkinsCVE

目录 中间件-Jetty-CVE&信息泄漏 CVE-2021-34429(信息泄露) CVE-2021-28169(信息泄露) 中间件-Jenkins-CVE&RCE执行 cve_2017_1000353 CVE-2018-1000861 cve_2019_1003000 中间件-Weblogic-CVE&反序列化&RCE 应用金山WPS-HW2023-RCE&复现&上线…...

使用generator实现async函数

我们先来看一下async函数是怎么使用的 const getData (sec) > new Promise((resolve) > {setTimeout(() > resolve(sec * 2), sec * 1000);})// aim to get this asycnFun by generator async function asyncFun() {const data1 await getData(1);const data2 awa…...

go并发请求url

sync.WaitGroup写法 package mainimport ("database/sql""fmt""net/http""sync""time"_ "github.com/go-sql-driver/mysql" )func main() {//开始计时start : time.Now()//链接数据库&#xff0c;用户名&#xf…...

刷题之Leetcode704题(超级详细)

704. 二分查找 力扣题目链接(opens new window)https://leetcode.cn/problems/binary-search/ 给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xff0c;写一个函数搜索 nums 中的 target&#xff0c;如果目标值存在返回下标&am…...

leetcode热题100.前k个高频元素

作者&#xff1a;晓宜 &#x1f308;&#x1f308;&#x1f308; 个人简介&#xff1a;互联网大厂Java准入职&#xff0c;阿里云专家博主&#xff0c;csdn后端优质创作者&#xff0c;算法爱好者 ❤️❤️❤️ 你的关注是我前进的动力&#x1f60a; Problem: 347. 前 K 个高频元…...

LangChain Demo | Agent X ReAct X wikipedia 询问《三体》的主要内容

背景 LangChain学习中&#xff0c;尝试改了一下哈里森和吴恩达课程当中的问题&#xff0c;看看gpt-3.5-turbo在集成了ReAct和wikipedia后&#xff0c;如何回答《三体》的主要内容是什么这个问题&#xff0c;当然&#xff0c;主要是为了回答这问题时LangChain内部发生了什么。所…...

Revit 2025新功能一览~

Hello大家好&#xff01;我是九哥~ Revit2025已经更新&#xff0c;安装后&#xff0c;简单试了下&#xff0c;还是挺不错的&#xff0c;流畅度啊&#xff0c;新功能啊&#xff0c;看来还是有听取用户意见的&#xff0c;接下来就简单看看都有哪些新功能。 好了&#xff0c;今天的…...

Head First Design Patterns -代理模式

什么是代理模式 代理模式为另一个对象提供替身或者占位符&#xff0c;以便控制客户对对象的访问&#xff0c;管理访问的方式有很多种。例如远程代理、虚拟代理、保护代理等。 远程代理&#xff1a;管理客户和远程对象之间的交互。 虚拟代理&#xff1a;控制访问实例化开销大的对…...

第十三题:天干地支

题目描述 古代中国使用天干地支来记录当前的年份。 天干一共有十个&#xff0c;分别为&#xff1a;甲&#xff08;jiǎ&#xff09;、乙&#xff08;yǐ&#xff09;、丙&#xff08;bǐng&#xff09;、丁&#xff08;dīng&#xff09;、戊&#xff08;w&#xff09;、己&a…...

8000预算可以购买阿里云服务器配置整理

一个月8000元预算如何选择阿里云服务器配置&#xff1f;八千预算可选的阿里云服务器配置相当高了&#xff0c;这个预算可以购买阿里云企业级独享型云服务器&#xff0c;至少8核以上的配置&#xff0c;这个预算可以支持复杂、高负载或大规模的业务需求。阿里云服务器网整理8000元…...

游戏APP如何提高广告变现收益的同时,保证用户留存率?

APP广告变现对接第三方聚合广告平台主要通过SDK文档对接&#xff0c;一些媒体APP不具备专业运营广告变现的对接能力和资源沉淀&#xff0c;导致APP被封控&#xff0c;设置列入黑名单&#xff0c;借助第三方聚合广告平台进行商业化变现是最佳选择。#APP广告变现# 接入第三方平台…...

Linux ulimit命令教程:如何查看和设置系统资源限制(附实例详解和注意事项)

Linux ulimit命令介绍 ulimit是一个内置的Linux shell命令&#xff0c;它允许查看或限制单个用户可以消耗的系统资源量。在有多个用户和系统性能问题的环境中&#xff0c;限制资源使用是非常有价值的。 Linux ulimit命令适用的Linux版本 ulimit命令在所有主流的Linux发行版中…...

(delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)

8.5.2 封闭类和Final方法 如前所述&#xff0c;Java 采用非常动态的方法&#xff0c;默认情况下采用延迟绑定&#xff08;或虚函数&#xff09;。因此&#xff0c;Java 语言引入了一些概念&#xff0c;如不能继承的类&#xff08;封闭类&#xff09;和不能在派生类中覆盖的方法…...

vue3从精通到入门12:vue3的生命周期和组件

生命周期&#xff1a; 生命周期钩子主要包括&#xff1a; beforeCreate&#xff1a;组件实例被创建之前调用。在这个阶段&#xff0c;组件的 props 和 data 还未被初始化。created&#xff1a;组件实例创建完成后调用。在这个阶段&#xff0c;组件的 props 和 data 已经被初始…...

力扣热题100_链表_21_合并两个有序链表

文章目录 题目链接解题思路解题代码 题目链接 21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4] 示例…...

探索未来智慧酒店网项目接口架构

在数字化时代&#xff0c;智慧酒店已成为酒店业发展的重要趋势之一。智慧酒店网项目接口架构作为支撑智慧酒店运营的核心技术之一&#xff0c;其设计和优化对于提升用户体验、提高管理效率具有重要意义。本文将深入探讨智慧酒店网项目接口架构的设计理念和关键要素。 ### 智慧…...

os模块篇(十三)

文章目录 os.mknod(path, mode0o600, device0, *, dir_fdNone)os.major(device, /)os.minor(device, /)os.makedev(major, minor, /)os.pathconf(path, name)os.readlink(path, *, dir_fdNone)os.remove(path, *, dir_fdNone)os.removedirs(name)os.rename(src, dst, *, src_di…...

【JavaEE初阶系列】——文件操作 IO 之 文件系统操作

目录 &#x1f4dd;认识文件 &#x1f6a9;树型结构组织 和 目录 &#x1f388;绝对路径和相对路径 &#x1f6a9;文件类型 &#x1f4dd;文件系统操作 &#x1f388;File 概述 &#x1f388;File类的使用 1. 绝对路径 vs 相对路径 2. 路径分隔符 3. 静态成员变量 4…...

JAVA 学习·类与方法

不同于 C &#xff0c;Java 是一门面向对象的编程语言。C 也有面向对象的内容&#xff0c;但是 C 和 Java 在方法的具体实现上存在区别。 方法的定义 方法(method)是为执行一个复杂操作组合在一起的语句集合。一个类中可以声明多个方法。其语法是采用 BNF 范式&#xff08;Bac…...

4. python练习题4-水仙花数

4. python练习题4-水仙花数 【目录】 文章目录 4. python练习题4-水仙花数1. 目标任务2. 水仙花数的特点3. 如何判断一个数是否是水仙花数&#xff1f;4. 打印3位水仙花数5. 判断一个数是不是水仙花数6. 列表推导式6. 列表推导式判断一个数是不是水仙花数 【正文】 1. 目标任务…...

【Qt 学习笔记】Qt 开发环境的搭建 | Qt 安装教程

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt 开发环境的搭建 | Qt 安装教程 文章编号&#xff1a;Qt 学习笔记 /…...

ids工业相机与电控位移台同步控制及数据采集

通过VS2017和OpenCV,实现ids工业相机与电控位移台同步控制及数据采集 目录项目环境配置代码流程及思路项目架构项目开发运行效果开发关键ids相机配置位移台环境配置相机头文件相机参数设置保存图像函数设置电控位移台头文件电控位移台设置参数最后就是通过main函数进行调用和控…...

景联文科技提供高质量医疗健康AI大模型数据

医疗行业是典型的知识和技术密集型行业&#xff0c;其发展水平直接关系到国民健康和生命质量。 医疗健康AI大模型&#xff0c;作为人工智能的一个分支&#xff0c;能够通过学习大量的数据来生成新的数据实例&#xff0c;在医药研发、医学影像、医疗文本分析等都有广泛的应用前景…...

【Python第三方库】lxml 解析器和xpath路径语言

1.lxml是做什么的 是xml/html的解析器&#xff0c;主要是用来解析和提取html/xml数据 2.lxml语法 使用etree.HTML(html字符串)&#xff0c;将字符串转换为Element对象通过使用Element对象.xpath(语法)提取信息,返回的是一个列表的内存地址&#xff0c;需要通过使用索引获取信…...

wordpress初始化/域名解析ip

1.环境说明 主机名IP地址备注redis1192.168.157.165redis主服务器redis2192.168.157.166redis从服务器redis3192.168.157.167redis从服务器 注意&#xff1a;操作系统 关闭防火墙、SELinux、并在hosts中添加主机名和IP地址的对应关系 3.上传介质 上传redis安装介质redis-3.0.…...

彩票网站开发教程/91

当需要执行HTML到PDF转换时&#xff0c;有多种方案。例如&#xff0c;可能想从应用程序内部将网页转换为PDF&#xff0c;或者可能需要从WYSIWYG HTML编辑器的内容生成PDF。另一种情况是将HTML页面从特定的URL转换为PDF。Aspose.PDF for .NET是一种PDF处理和解析API&#xff0c;…...

建网站公司是如何赚钱/设计个人网站

针对这个问题我们可以转化一下思路&#xff1a;一个JVM进程&#xff0c;在什么情况下会正常退出&#xff1f; 大部分人应该都知道使用System.exit()或Runtime.exit()可以直接导致当前JVM进程退出&#xff0c;但是仔细想想这个好像跟SpringBoot没啥关系哈 另外一个可能会导致进…...

502 bad gateway wordpress/国外免费网站服务器

实际开发中&#xff0c;捕获多个异常的方式&#xff0c;如下&#xff1a;#codingutf-8try:print(-----test--1---)open(123.txt,r) # 如果123.txt文件不存在&#xff0c;那么会产生 IOError 异常print(-----test--2---)print(num)# 如果num变量没有定义&#xff0c;那么会产生 …...

网页设计与网站建设 在线测试/seo网站推广教程

先点hex 后点 decimal 再开始start attack&#xff0c;这是一个软件bug&#xff0c;需要手动让它刷新。...

电子商务网站功能需求/磁力屋 最好用

1&#xff1a;Mongostat MongoDB2.6版本 MongoDB3.0版本 2&#xff1a;db.setProfilingLevel(2):打开profiler 类似于MySQL的slow log Profiler默认是关闭的&#xff0c;你可以选择全部开启&#xff0c;或者有慢查询的时候开启。 db.setProfilingLevel(level,<slowms>) 0…...