二十五章:用于弱监督语义分割的激活调节和重新校准方案

0.摘要

        图像级弱监督语义分割(WSSS)是一项基础而具有挑战性的计算机视觉任务,有助于场景理解和自动驾驶。大多数现有方法利用基于分类的类激活图(CAMs)作为初始伪标签,但这些方法往往关注区分性的图像区域,缺乏针对分割任务的定制特征。为了缓解这个问题,我们提出了一种新颖的激活调节和重新校准(AMR)方案,利用聚光灯分支和补偿分支获得加权的CAMs,提供重新校准的监督和任务特定的概念。具体而言,我们采用了注意力调节模块(AMM)来从通道-空间顺序的角度重新分配特征重要性的分布,从而有助于明确建模通道间的依赖关系和空间编码,以自适应地调节面向分割的激活响应。此外,我们引入了双分支的交叉伪监督,可以看作是一种语义相似性正则化,用于相互改进两个分支。大量实验证明,AMR在PASCAL VOC 2012数据集上取得了最新的最佳性能,不仅超过了使用图像级监督训练的当前方法,还超过了一些依赖于更强监督,如显著性标签的方法。实验证明,我们的方案是即插即用的,可以与其他方法结合以提升其性能。我们的代码可在以下链接获取:https://github.com/jieqin-ai/AMR

1.引言

        语义分割是计算机视觉领域中的一项基础且关键的任务,由于其在许多应用中的广泛应用。它旨在对图像的像素级进行预测,将属于同一对象类别的图像部分聚类在一起。尽管在不同程度上取得了一些进展,但其最近的成功大多在完全监督的设置下实现(Chen等,2017年,2018年)。获得这种精细的像素级注释仍然是一项艰巨的任务,需要大量的人工努力。为了减轻这些昂贵且繁琐的注释,许多研究倾向于采用弱监督方式(Wu等,2020年,2021年),如边界框监督(Dai,He和Sun,2015年),涂鸦监督(Lin等,2016年),点监督(Bearman等,2016年)和图像级监督(Chang等,2020年;Ahn和Kwak,2018年)。图像级弱监督是一种非常有利的方案,因为这种粗糙的注释与实际情况一致,这种弱标签在实践中更容易获取。在我们的工作中,我们专注于图像级弱监督范式。

        先前的图像级弱监督语义分割(WSSS)方法(Lee等,2019年;Singh和Lee,2017年;Wang等,2020b年;Choe,Lee和Shim,2020年)大多采用分类网络生成类激活图(CAMs)(Zhou等,2016年)作为分割的初始伪标签。然而,这种CAM针对分类而设计,缺乏针对分割特性的定制优化。也就是说,分类器似乎只突出显示最具区别性的区域,因此获得的CAM种子只覆盖了与聚光灯CAM中一致的目标对象的一部分,如图1所示。为了解决这个问题,一些方法尝试扩大区别性响应区域并改进初始的CAM种子。SEAM(Wang等,2020b年)在不同转换图像上添加等变性正则化来获取更多的种子区域。类似地,(Wei等,2017年)通过迭代擦除CAM种子,使模型集中关注其他区域。然而,这些方法通常将扩展过程形式化为复杂的训练阶段,例如迭代擦除方式耗时且难以确定最佳迭代次数。此外,它严重依赖于通过分类网络提供的区别性区域,很容易忽视次要的重要区域。

        为了更好地应对上述问题,我们提出了一种新颖的激活调节和重校准方案,称为AMR。该方案利用聚光灯分支和补偿分支为WSSS提供互补和面向任务的CAMs。聚光灯分支表示基本的分类网络以生成CAMs,通常突出显示具有区别性和分类特定的区域,例如马的头部和汽车的窗户(参见图1)。AMR缓解了在先前的工作中使用基于分类的CAMs执行分割任务时的任务差距问题,这有助于提供更多语义分割特定的线索。此外,还使用了一个注意力调制模块(AMM),从通道-空间顺序的角度重新安排激活重要性的分布,有助于自适应地调节面向分割的激活响应。AMR的贡献可以总结如下:

        1.据我们所知,我们是第一个尝试在WSSS中探索插入式补偿分支的人,以提供互补的监督和任务特定的CAMs。补偿分支可以挖掘出分割的关键区域(例如图1中的马的腿和汽车的底盘),这对于突破基于分类的CAMs在分割任务中的应用瓶颈非常关键。补偿CAMs通过重新校准聚光灯CAMs来帮助生成面向分割的CAMs。此外,我们引入了一个交叉伪监督来优化来自双分支的输出CAMs,可以看作是语义相似的正则化,以避免补偿CAMs过于集中在背景上,并使其接近聚光灯CAMs。

        2.我们设计了一个注意力调制模块(AMM),通过在通道和空间维度上依次进行特征调制,鼓励激活图对整个目标对象均匀分配注意力。调制函数被用来重新排列激活特征的分布,试图强调次要特征并惩罚已被聚光灯分支捕捉到的显著特征。通道-空间顺序的方式有助于明确地建模通道间的相互依赖关系和每个层次局部感受野内的空间编码,以自适应地调节面向分割的特征响应。

        3.我们的方法在验证集和测试集上的mIoU分别达到了68.8%和69.1%,在PASCAL VOC2012数据集(Everingham等,2015年)上取得了新的最先进的WSSS性能。大量实验证明,AMR不仅超过了使用图像级监督训练的当前方法,还超过了一些依赖于更强监督(如显著性标签)的方法。实验还揭示了我们的方案是即插即用的,可以与其他方法结合以提升它们的性能。

图1:AMR方案中CAMs的可视化。"聚光灯CAMs"更加关注与传统CAMs类似的区域。"补偿CAMs"有助于挖掘重要但容易被忽视的区域。聚光灯CAMs通过补偿CAMs进行重新校准,并进一步获得"加权CAMs",从而提供更多面向分割的概念。

2.相关工作

2.1.弱监督语义分割

        随着对语义分割的深入研究,一方面,AutoML(Li等,2021;Ren等,2021;Li等,2020,2019;Xuefeng Xiao和Lianwen Jin,2017;Xia和Ding,2020)等基于技术被应用于提高分割质量。另一方面,训练成本低廉的轻量级注释是近年来广泛研究的图像级WSSS。现有的先进方法通常依赖于由分类网络生成的类激活图(CAMs)的种子区域(Zhou等,2016)。这些努力大多可以分为两个方面:生成高质量的CAM种子和改进伪标签。一方面,一些方法直接扩展了CAMs的响应区域,因为原始的激活图只突出显示图像的有区别的区域。(Wei等,2018)使用具有不同扩张率的空洞卷积来增加目标区域。(Wang等,2020b)通过等变正则化在分类网络中从变换后的图像中捕捉不同的区域。另一方面,一些工作集中在基于初始CAMs改进伪标签上。(Kolesnikov和Lampert,2016)探索了改进种子的三个原则,即种子、扩展和约束。(Ahn和Kwak,2018)学习像素之间的关系,并通过随机游走算法传播相似的语义像素。此外,一些方法(Yao等,2021;Lee等,2019)将CAMs作为前景线索,将显著性图(Zhang等,2019)作为背景线索。(Yao等,2021)引入了一个基于图的全局推理单元,以发现非显著区域中的对象。然而,这些方法在迭代和随机方式下进行,可能丢失关键信息。为了解决这个问题,我们提出了一种激活调制和重新校准方案来生成高质量的CAMs。

2.2.注意力机制

        注意机制(Wu, Hu和Yang,2019年;Wu, Hu和Wu,2018年)已被广泛应用于分割网络中,以建立图像的全局上下文关系。Non-local(Wang等,2018a年)是第一个考虑特征图中每个空间点之间的相关性。然后,asymmet(Zhu等,2019年)提出了一个不对称的非局部网络,以加强非局部网络的连接。SE(Hu, Shen和Sun,2018年)通过计算通道之间的交互作用来学习通道特征的重要性。在这项工作之后,(Wang等,2020a年)使用基于通道的卷积来学习交互作用。CBAM(Woo等,2018年)利用空间和通道注意力来突出通道和空间维度中的重要线索。(Cao等,2019年)将长距离依赖关系引入基本的注意力模块。在本文中,我们引入了一个注意力调制模块来增强分割任务中次要但关键的特征。

图2:AMR方案的框架。 (a) 表示AMR的整个流程。AMR由两个分支组成,即聚光灯分支和补偿分支。 "GAP"表示全局平均池化。 (b) 展示了AMM的示意图,其目标是以通道-空间顺序的方式调制特征的激活图。

3.方法论

        在本节中,我们首先简要介绍了用于生成CAMs的传统方法。然后我们介绍了激活调制和重新校准方案(AMR)。下一节介绍了提出的AMM的动机和细节。最后,我们说明了调制函数和训练损失函数。

3.1.预先准备工作

        类激活图(CAMs)(Zhou等,2016年)表示输入图像I ∈ R3×H×W中特定类别的响应区域。使用多标签分类网络对所有类别的特征进行编码,可以利用这些特征图F(I) ∈ RC×H×W在最后的分类层之前提取特征图。C表示特征图的通道数。然后,我们简单地对F(I)进行矩阵乘法来生成CAMs。

        其中M(I) ∈ RN×H×W是获得的CAMs。w T N是用于N个类别的最后一个全连接层的权重。 然而,这些CAMs是以分类为导向的,忽视了语义分割的任务特定性。换句话说,网络是通过基于分类的损失进行优化的,这样可以通过一些具有辨别性的区域来完成分类任务。这将牺牲弱监督语义分割的性能,而弱监督语义分割需要获取整个对象的完整边界。为了解决这个问题,我们提出了激活调制和重新校准(AMR)方案,将初始的CAMs重新校准为更具任务特定性的CAMs。

3.2.激活调节和重新校准方案

        我们在图2中说明了激活调制和重新校准(AMR)方案。AMR包括聚光灯分支和补偿分支。聚光灯分支类似于先前的方法(Wei等,2017年; Jiang等,2019年; Lee,Kim和Yoon,2021年),它使用分类损失来优化自身并生成聚光灯CAMs MS。因为聚光灯分支在训练过程中经常激活信息丰富的特征,所以获得的CAMs主要突出了目标对象的辨别性区域。

        补偿分支被巧妙地设计为聚光灯CAMs的辅助监督作用。它缓解了在先前的工作中使用基于分类的CAMs执行分割任务时的任务差距问题,有助于提供更多语义分割特定的线索。补偿分支可以被视为即插即用的组件,它可以挖掘出聚光灯分支容易忽视的分割关键区域。获得的补偿CAMs MC有助于重新校准聚光灯CAMs MS生成最终的加权CAMs MW,表示如下: 

3.3.注意力调节模块

        提出了注意力调节模块(AMM)来帮助补偿分支提取对语义分割任务至关重要的更多区域。如图2所示,AMM包括通道注意力调节和空间注意力调节。我们首先将特征F(I)输入通道AMM。通道间的相互依赖性通过平均池化和卷积层进行明确建模,这反映了对信息丰富特征的敏感性。受到(Jiang等,2019年)的启发,最敏感的特征对应于具有区分性的区域,次要的特征表示重要但容易被忽视的区域,平淡的特征可能表示背景概念。因此,我们利用调制函数增强次要特征,并抑制最敏感和最不敏感的特征。上述操作可以表示为:

        其中Ac是通道注意力图。我们将Ps表示为空间平均池化函数,H表示卷积层。然后,利用调制函数G来重新分配特征的分布,以突出通道维度中的次要特征。 然后,我们对通道注意力图和输入特征图进行逐元素乘法,生成重新分配的特征,定义为:

        其中A˜c表示扩展到特征图维度的通道注意力图。Fc(I)表示输出特征图。 为了进一步建模空间维度上的空间间关系,我们还引入了一个空间AMM,紧接在通道AMM之后。具体而言,我们首先在通道维度上对Fc(I)进行通道平均池化Pc,然后对它们应用卷积操作H。输出特征图显示了空间维度上特征的重要性。然后我们对输出特征图进行调制函数操作,增加次要激活。实现过程可以表示为:

        其中As是空间注意力图。As中的高激活值反映了容易被忽视的区域。然后我们在空间注意力图和通道注意力图之间进行逐元素乘法,以生成调制后的注意力图。这个过程可以表示为:

图3:调制函数的示意图。轴上的值表示激活分布的范围。(a)表示原始的激活分布。(b)表示重新分布的激活,通过高斯函数进行调制以突出次要激活。

3.4.调节函数

        其中µ和σ是激活图的均值和标准差。我们按照µ和σ的设置来映射G中的激活值。 我们在图3中可视化了调制前后的激活分布。我们观察到,高斯投影大大抑制了最重要和最不重要的激活。它强调次要激活来直接提取容易被忽视的区域,这对于分割任务至关重要。此外,我们还探索了直接设置阈值来改变重要性分布。但是很难确定适用于所有图像的统一阈值。不同调制函数的实验结果总结在表4中。

3.5.损失函数

        在训练过程中,我们使用全局平均池化操作和全连接层来获取预测值Y,它表示所有类别的类别概率。最后,我们使用多标签软边缘损失函数来进行训练。表1:在PASCAL VOC2012验证集和测试集上与最先进方法的比较。所有结果都以mIoU(%)进行评估。I表示图像级标签,S表示显著性标签。

4.实验

4.1.数据集和评估策略

        我们在PASCAL VOC2012数据集(Everingham et al. 2015)上评估我们的方法。该数据集包含20个前景对象类别和一个背景类别。按照常见的方法(Wei et al. 2017; Wang et al. 2020b),我们使用10,582张图像进行训练,1,449张图像进行验证,以及1,456张图像进行测试。在整个训练过程中,我们只使用图像级别的类别标签进行监督。每个图像可能包含多个类别标签。为了评估实验的性能,我们计算所有类别的平均交并比(mIoU)。

4.2.实现细节

        我们使用ResNet50 (He et al. 2016)作为AMR的主干网络。我们使用批大小为16的训练数据进行8个epoch的训练。初始学习率设置为0.01,动量设置为0.9。我们使用随机梯度下降算法进行网络优化,并设置0.0001的权重衰减。我们还对训练图像进行了一些典型的数据增强操作,如随机缩放和水平翻转。在获得CAMs后,我们采用随机游走算法对伪标签进行优化。在获得用于分割的最终伪标签后,我们使用DeepLab-v2 (Chen et al. 2017)和ResNet101 (He et al. 2016)作为主干网络进行训练,该网络在ImageNet (Russakovsky et al. 2015)。

4.3.与当前最先进方法的对比

在语义分割任务上的比较。我们使用DeepLab v2 (Chen et al. 2017)和训练集的伪标签进行实验。我们在PASCAL VOC2012验证集和测试集上报告结果,如表1所示。一方面,AMR明显优于基于图像级弱监督的方法,并取得了最新的最佳性能。AMR在验证集上的mIoU达到了68.8%,在测试集上为69.1%,分别比DRS (Kim, Han, and Kim 2021)高出2.0%和1.7%。另一方面,AMR甚至在更细粒度的监督线索下取得了更好或相当的结果。例如,AMR在验证集上超过了(Yao et al. 2021)的0.5%,在测试集上超过了0.6%,而后者使用了额外的显著性监督。这是一个令人鼓舞的结果,它揭示了我们的方法可以通过从大量且廉价的标注中学习来获得令人印象深刻的结果,这对于实际应用非常有益。

CAM和伪标签的比较。我们的方法旨在提供特定于分割的CAM以改善伪标签的质量。为了验证我们的方法在生成CAM和伪标签方面的有效性,我们总结了PASCAL VOC2012训练集上几种竞争方法的CAM和伪标签结果(见表2)。结果显示,AMR分别在CAM和伪标签上达到了56.8%和69.7%的mIoU。我们的方法在CAM上超过了先进的SEAM方法(Wang et al. 2020b) 1.4%,在伪标签上超过了CONTA方法(Zhang et al. 2020b) 1.8%。值得注意的是,SEAM方法(Wang et al. 2020b)使用Wide ResNet38 (Wu, Shen, and Van Den Hengel 2019)作为主干网络,在他们的工作中比ResNet50取得了更好的性能。实验结果表明,我们的补偿CAM可以有效提高初始CAM和伪标签的质量。为了说明AMR如何提高伪标签的质量,我们在图4中展示了AMR生成的CAM。从这个图中,我们可以得出以下观察结果:i) 聚光灯分支生成的聚光灯CAM主要关注区分性区域。ii) 补偿CAM突出显示了对目标至关重要但容易被忽略的区域。这是因为AMM帮助调制激活图以强调次要特征。iii) 加权CAM比聚光灯CAM包含更完整的区域,这与语义分割任务的本质一致。

图4:我们的方法在VOC2012训练集上生成的CAM的可视化结果。 (a) 输入图像。 (b) 聚光灯分支生成的聚光灯CAM。 (c) 补偿分支生成的补偿CAM。 (d) 由两个互补CAM合并得到的加权CAM。

表2:VOC2012训练图像上伪标签的质量结果(mIoU)。“CAM”列表示分类网络生成的初始CAM种子。“Pseudo”表示用于监督分割的经过精细化的伪标签。

表3:我们方法中每个组件的不同效果比较。“Baseline”代表单个分类网络。“AMMc”和“AMMs”分别表示提出的通道AMM和空间AMM。Lcps代表语义正则化。

表4:不同调制函数的比较。使用VOC2012训练图像的CAM评估mIoU。

4.4.消融研究

核心组件的有效性。为了验证我们方法中核心组件的有效性,我们在只包含聚光灯分支的单个分类网络(简称为“基准线”)的基础上逐渐增加每个关键组件。我们在表3中将不同组件的性能与变体“基准线”进行了比较。 如表3所示,AMMc和AMMs分别将CAM的mIoU提高到52.9%和53.5%。整个AMM实现了54.9%的mIoU。此外,交叉伪监督Lcps有助于提高1.9%的性能。整个框架实现了最佳性能56.8%。这些消融实验证明了我们方法中每个核心组件的有效性。

调制函数的有效性。在表4中,我们比较了图3中介绍的不同调制函数的结果。“Threshold”调制函数在超过阈值时将激活设置为1,当激活低于阈值时设置为0,这可以在基准线上获得1.8%的改进,因为它保留了最重要的特征并增强了一些较小的激活。"Gauss"函数实现了56.8%的mIoU,在所有候选函数中排名第一。这可能是因为高斯函数可以适当地重新分布激活图以挖掘一些容易被忽视的重要概念。

重新校准系数的有效性。为了探索最佳的重新校准系数(ξ),我们在表5中报告了结果。ξ表示聚光灯CAM对加权CAM的贡献。我们观察到,将ξ设置为0.5可以获得最佳结果,即56.8%。当增加或减小ξ的值时,性能会显著下降,这可能是因为它破坏了两个CAM之间区域补偿的平衡。当系数接近0.1或0.9时,框架近似为单个分支,这会带来显著的性能下降。

4.5.泛化讨论

        为了验证AMR的泛化性,我们将提出的AMR扩展到两种先进的方法,即IRNet(Ahn, Cho和Kwak 2019)和SEAM(Wang等人2020b)。我们保留他们论文中的原始训练设置,并比较初始CAM的结果。如表6所示,我们的方法在IRNet上实现了8.5%的mIoU改进。对于基准线SEAM,我们将分类骨干网络转换为Wide ResNet38(Wu, Shen和Van Den Hengel 2019),与SEAM相同。结果表明,AMR将CAM的质量提高了2.5%,这证明了我们的方法与其他方法相结合以改进基于分割的CAM的泛化性和鲁棒性。

4.6.可视化分割结果

        如图5所示,我们在PASCAL VOC2012(Everingham等人2015)的验证集上将我们的方法与IRNet(Ahn, Cho和Kwak 2019)进行了分割结果的比较。从图中可以看出,IRNet(Ahn, Cho和Kwak 2019)的结果在一些模糊的区域经常出现错误判断。相反,我们的方法成功地挖掘出更多属于目标对象的区域,从而实现了更优秀的分割性能。

图5:PASCAL VOC2012验证集上的定性结果。(a) 输入图像。(b) 真实标签。(c) IRNet(Ahn, Cho和Kwak 2019)的分割结果。(d) 我们方法的分割结果。

表5:与不同的重新校准系数的比较。 mIoU是在VOC2012训练图像的CAM上进行评估的。

表6:AMR在IRNet(Ahn, Cho和Kwak 2019)和SEAM(Wang等人2020b)上的泛化结果。

5.结论

        在本文中,我们提出了一种新颖的激活调节和校准(AMR)方案用于弱监督语义分割(WSSS),它利用了一个聚光灯分支和一个即插即用的补偿分支,以获取加权的CAM并提供更多面向语义分割的概念。设计了一个AMM模块,从通道-空间顺序的角度重新排列特征重要性的分布,有助于突出一些对分割任务至关重要但容易被忽视的区域。在PASCAL VOC2012数据集上进行了大量实验,结果表明,AMR实现了弱监督语义分割的最新技术性能。

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

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

相关文章

编译运行miniob最小数据库系统

minibo是一个用于教学的小型数据库系统,麻雀虽小五脏俱全,该项目包含了数据库的核心内容,并且代码量小,适合新手学习,最近由于需要学习c/cpp,因此打算从这个项目入手,本文就介绍编译运行miniob的…

Android adb shell 查看App内存(java堆内存/vss虚拟内存/详细的内存状况/内存快照hprof)和系统可用内存

1.adb shell 获取app 进程的pid adb shell "ps|grep com.xxx包名"根据某个渠道包,去查询对应的pid,如下所示: 2.通过adb shell 查看设备的java dalvik 堆内存的最大值 执行命令行: adb shell getprop dalvik.vm.h…

iOS开发-实现获取下载主题配置动态切换主题

iOS开发-实现获取下载主题配置动态切换主题 iOS开发-实现获取下载主题配置更切换主题,主要是通过请求服务端配置的主题配置、下载主题、解压保存到本地。通知界面获取对应的图片及颜色等。 比如新年主题风格,常见的背景显示红色氛围图片、tabbar显示新…

REST API的基础:HTTP

在本文中,我们将深入探讨万维网数据通信的基础 - HTTP。 什么是超文本? HTTP(超文本传输协议)的命名源于“超文本”。 那么,什么是超文本? 想象一下由超链接组成的文本、图像和视频的混合物。这些链接充当我…

Restful的详细介绍~

RESTFUL简介: Restful是我们看待服务器的一种方式,我们都知道Java一切皆对象,因此在Java中,我们可以将所有的内容都看成对象,而在这里,RESTFUL是我们看待服务器的一种方式,我们可将服务器中的所…

【C++】多态的实现及其底层原理

个人主页:🍝在肯德基吃麻辣烫 我的gitee:gitee仓库 分享一句喜欢的话:热烈的火焰,冰封在最沉默的火山深处。 文章目录 前言一、什么是多态?二、多态的构成条件2.1什么是虚函数?2.2虚函数的重写2…

pycharm 远程连接服务器并且debug, 支持torch.distributed.launch debug

未经允许,本文不得转载,vx:837007389 文章目录 step1:下载专业版本的pycharmstep2 配置自动同步文件夹,即远程的工程文件和本地同步2.1 Tools -> Deployment -> configuration2.2 设置同步文件夹2.3 同步服务器…

【深度学习】WaveMix: A Resource-efficient Neural Network for Image Analysis 论文

论文:https://arxiv.org/abs/2205.14375 代码:https://github.com/pranavphoenix/WaveMix 文章目录 ABSTRACTIntroductionBackground and Related WorksWaveMix Architectural FrameworkOverall architectureWaveMix block Experiments and ResultsTasks…

机器学习深度学习——Dropout

👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——权重衰减 📚订阅专栏:机器学习&&深度学习 希望文章对你们有所帮助 Drop…

centos7安装nginx

一、下载安装包 方式一:官网下载 到nginx官网下载 然后上传到linux 服务器 方式二: wget 下载 wget http://nginx.org/download/nginx-1.22.0.tar.gz二、安装nginx 先安装相关依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 创建…

使用vim-cmd工具给ESXi虚机定期打快照

VMware虚拟化 - 建设篇 第四章 使用vim-cmd工具给ESXi虚机定期打快照 VMware虚拟化 - 建设篇系列文章回顾使用vim-cmd工具给ESXi虚机定期打快照前言前提条件ESXi新增执行快照备份的sh脚本ESXi添加crond任务并使其生效ESXi指定部分虚拟机不执行定期快照(附加)虚拟机自定义属性…

ChatGPT有几个版本,哪个版本最强,如何选择适合自己的?

​ChatGPT就像内容生产界的瑞士军刀。它可以是数学导师、治疗师、职业顾问、编程助手,甚至是旅行指南。只要你知道如何让它做你想做的事,ChatGPT几乎可以提供你要的任何东西。 但重要的是,你知道哪个版本的ChatGPT最能满足你的需求吗&#x…

Windows 11 下 OpenFace 2.2.0 的安装

写在前面 最近需要做关于面部的东西,所以需要使用到OpenFace这个工具,本文仅用来记录本人安装过程以供后续复现,如果可以帮助到读者也是非常荣幸。 安装过程 不编译直接使用 这种方法可以直接从官方下载下来编译好的exe以及gui进行使用&a…

在 “小小容器” WasmEdge 里运行小小羊驼 llama 2

昨天,特斯拉前 AI 总监、OpenAI 联合创始人 Andrej Karpathy 开源了 llama2.c 。 只用 500 行纯 C 语言就能训练和推理 llama 2 模型的框架,没有任何繁杂的 python 依赖。这个项目一推出就受到大家的追捧,24 小时内 GitHub 收获 4000 颗星&am…

KY222 打印日期+KY111日期差值

一、KY222题目 二、代码 #include <climits> #include <iostream> using namespace std; class Date{public:Date(int year 1,int month 2,int day 3){_year year;_month month;_day day;}int GetDay(int year ,int month);void Define(int n);public:int _yea…

查看进程方式

目录 ps top uptime pstree ps 查看静态的进程统计信息 top 实时显示系统中各个进程的资源占用情况 第一行 top - 17:00:23 up 15 min, 1 user, load average: 1.05, 1.22, 0.98 17:00:23————当前时间 up 15 min————系统运行时间 1 user————当前登录用户数…

陪诊小程序软件|陪诊系统定制|医院陪诊小程序

开发一个陪诊小程序需要投入一定的费用&#xff0c;具体金额会因项目的复杂程度、功能需求和推广政策而有所差异在投入资金之前&#xff0c;建议进行市场调研和需求分析&#xff0c;制定出合理的预算&#xff0c;并选择专业的开发团队进行合作&#xff0c;那么开发陪诊小程序需…

2023大同首届信息技术产业峰会举行,共话数字经济新未来

7月28日&#xff0c;“聚势而强共领信创”2023大同首届信息技术产业峰会圆满举行。本次峰会由中共大同市委、大同市人民政府主办&#xff0c;中国高科技产业化研究会国际交流合作中心、山西省信创协会协办&#xff0c;中共大同市云冈区委、大同市云冈区人民政府、诚迈科技&…

密码学的一些常识

1&#xff0c;对称密码、公钥密码、消息认证、数字签名的对比 对称密码公钥密码发送者共享秘钥加密公钥加密接收者共享秘钥解密私钥解密秘钥配送问题存在不存在&#xff0c;但需要CA认证公钥机密性√√ 消息认证数字签名发送者共享秘钥计算MAC使用私钥对文本HASH值做签名接收者…

JavaScript学习 -- SM3算法基本原理

SM3算法是一种由国家密码管理局发布的哈希算法&#xff0c;被广泛用于数字签名和消息认证等应用中。在JavaScript中&#xff0c;我们可以使用第三方库来计算数据的SM3哈希值。本篇文章将介绍SM3算法的基本原理和相关技术&#xff0c;并提供一些实例来演示如何在JavaScript中使用…