Siamrpn++论文中文翻译(详细!)

SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks

SiamRPN++:具有非常深度网络的Siamese视觉跟踪的进化

【siamrpn++论文地址】

https://arxiv.org/abs/1812.11703

摘要

基于Siamese网络的跟踪器将跟踪表示为目标模板和搜索区域之间的卷积特征互相关。然而,与最先进的算法相比,Siamese追踪器仍然存在精度差距,它们不能利用来自深度网络的特征,如ResNet-50或更深层次的网络。在本文中,我们证明了其核心原因来自于缺乏严格的平移不变性。通过全面的理论分析和实验验证,我们通过一个简单而有效的空间感知采样策略打破了这一限制,成功地训练了一个具有显著性能收益的resnet驱动的跟踪Siamese跟踪器。

此外,我们提出了一种新的模型架构来执行分层和深度聚合,这不仅进一步提高了精度,而且减少了模型的大小。我们进行了广泛的消融研究,以证明所提出的跟踪器的有效性,它目前在五个大型跟踪基准上获得了最好的结果,包括OTB2015、VOT2018、UAV123、LaSOT和跟踪网。我们的模型将被发布,以促进进一步的研究。

1 介绍

视觉物体跟踪在过去的几十年里受到了越来越多的关注,并一直是一个非常积极的研究方向。它在视觉监控[47]、人机交互[26]和增强现实[48]等不同领域都有广泛的应用。虽然最近取得了很大的进展,但由于光照变化、遮挡和背景杂波等诸多因素,它仍然被普遍认为是一项非常具有挑战性的任务。

最近,基于Siamese网络的追踪器[40,1,15,42,41,24,43,52,44]在社区中引起了人们的广泛关注。这些Siamese跟踪器通过为目标模板学习的特征表示和搜索区域之间的互相关,将视觉对象跟踪问题表述为学习一般的相似性地图。为了保证跟踪效率,离线学习到的Siamese相似度函数通常在运行时间[40,1,15]期间被固定下来。CFNet跟踪器[41]和DSiam跟踪器[11]分别通过一个正在运行的平均模板和一个快速转换模块来更新跟踪模型。SiamRNN跟踪器[24]在Siamese网络之后引入了区域建议网络[24],并进行联合分类和回归进行跟踪。DaSiamRPN跟踪器[52]进一步引入了干扰物感知模块,提高了模型的识别能力。

尽管上述Siamese跟踪器获得了出色的跟踪性能,特别是在平衡精度和速度方面,即使是性能最好的Siamese跟踪器,如SiamPRN,在OTB2015 [46]等跟踪基准上,精度仍然与最先进的[5]有显著的差距。我们观察到,所有这些跟踪器都在类似于AlexNet [23]的架构上建立了网络,并多次尝试训练具有像ResNet [14]这样的更复杂架构的Siamese跟踪器,但没有性能提高。受此观察结果的启发,我们对现有的Siamese追踪器进行了分析,发现其核心原因来自于对严格平移不变性的破坏。由于目标可能出现在搜索区域的任何位置,目标模板学习到的特征表示应该保持空间不变,我们进一步从理论上发现,在现代深度架构中,只有AlexNet的零填充变体满足这一空间不变性限制。

为了克服这一限制,并使用更强大的深度架构来驱动Siamese跟踪器,通过广泛的实验验证,我们引入了一个简单的但有效的采样策略打破了Siamese跟踪器的空间不变性限制。我们使用ResNet作为骨干网络,成功地训练了一个基于SiamRPN [24]的跟踪器,并获得了显著的性能改进。得益于ResNet架构,我们提出了一种分层的特征加重结构,它有助于跟踪器从多个层次上学习到的特征中预测相似性图。通过对Siamese网络结构的相互关联分析,发现其两个网络分支在参数数上高度不平衡;因此,我们进一步提出了一种深度可分离的相关结构,它不仅大大减少了目标模板分支的参数数,而且稳定了整个模型的训练过程。此外,还观察到一个有趣的现象,即相同类别的物体在相同的通道上有较高的响应,而其余通道的响应被抑制。正交特性也可以提高跟踪性能。

综上所述,这项工作的主要贡献分为四个部分:

•我们对Siamese追踪器进行了深入的分析,并证明了在使用深度网络时,精度的下降是由于严格平移不变性的破坏。

•我们提出了一种简单而有效的采样策略来打破空间不变性限制,成功地训练了由ResNet体系结构驱动的Siamese跟踪器。

•我们提出了一种用于互相关操作的分层特征聚合结构,它帮助跟踪器从多个层次上学习到的特征中预测相似度图。

•我们提出了一种深度可分离的相关结构来增强互相关,以产生与不同语义相关的多个相似性映射。

基于上述理论分析和技术贡献,我们开发了一个高效的视觉跟踪模型,建立了一个新的最先进的跟踪精度,同时在35 FPS的速度下高效运行。提出的跟踪器,称为SiamRPN++,在五个最大的跟踪基准上持续获得最佳跟踪结果,包括OTB2015 [46]、VOT2018 [21]、UAV123 [31]、LaSOT [10]和跟踪网[30]。此外,我们提出了一种使用MobileNet[18]骨干的跟踪器的快速变体,以保持在70帧/秒下运行的竞争性能。为了便于对视觉跟踪方向的进一步研究,我们将发布SiamRPN++跟踪器的源代码和训练模型。

2 相关工作

在本节中,我们将简要介绍最近的跟踪器,特别关注基于Siamese网络的跟踪器[40,1]。此外,我们还描述了深度体系结构的最新发展。

由于构建了新的基准数据集[45,46,19,21,10,30]和改进的方法[16,51,6,7,17,32,9,5,43,52,49],视觉跟踪在过去十年中得到了快速的发展。标准化基准[45,46,10]为与不同算法的比较提供了公平的测试平台。每年举行的跟踪挑战,[22,19,20,21]一直在推动跟踪性能。随着这些进步,许多有前途的跟踪算法已经被提出。Bolme等人[3]的开创性工作将信号处理场的卷积定理引入视觉跟踪,并将对象模板匹配问题转换为频域内的相关操作。通过这种变换,基于相关滤波器的跟踪器不仅可以获得高效的运行速度,而且如果使用适当的特征是[16,50,51,8,6],还可以提高精度。随着深度学习模型在视觉跟踪中的广泛应用,基于深度特征表示的相关滤波的跟踪算法在流行的跟踪基准[45,46]和挑战[22,19,20]中获得了最先进的精度。

近年来,基于Siamese网络的跟踪器因其良好的跟踪精度和效率[40,1,15,42,41,12,24,43,52,44]而受到广泛关注。这些跟踪器将视觉跟踪定义为一个交叉关系问题,并有望更好地利用从端到端学习中获得的深度网络的优点。为了从两个分支的互相关中生成一个相似性图,他们训练了一个y形的神经网络,它连接了两个网络分支,一个用于对象模板,另一个用于搜索区域。此外,这两个分支可以在跟踪阶段[40,1,15,43,24,52]期间保持固定,或在线更新,以适应目标[42,41,12]的外观变化。目前最先进的Siamese跟踪器[24,52]提高了区域提案网络对Siamese网络的跟踪性能,并产生了非常有希望的结果。然而,在OTB基准测试[46]上,他们的跟踪精度仍然与ECO [5]和MDNet [32]等最先进的深度跟踪器留下了相对较大的差距。

随着Alex等人[23]在2012年提出的现代深度体系结构AlexNet,对网络体系结构的研究迅速发展,提出了许多复杂的深度体系结构,如VGGNet [37]、谷歌Net[38]、ResNet [14]和移动网[18]。这些深度的架构不仅提供了对神经网络设计的更深入的理解,而且推动了许多计算机视觉任务的先进水平如图像检测[33],图像分割[4],和人位姿估计[39]。在深度视觉跟踪器中,网络体系结构通常包含不超过5个由AlexNet或VGGNet量身定制的结构层。这一现象解释了浅层特征主要有助于物体[34]的准确定位。在这项工作中,我们认为,如果用整个Siamese网络适当地训练模型,使用更深入的模型可以显著提高Siamese跟踪器的性能。

3 Siamese Tracking with Very Deep Networks

这项工作最重要的发现是,如果基于Siamese网络的跟踪算法配备了更深层次的网络,那么它的性能可以显著提高。然而,简单地通过直接使用像ResNet这样更深的网络来训练Siamese跟踪器并不能获得预期的性能提高。我们发现潜在的原因很大程度上涉及到Siamese追踪器的内在限制,因此,在提出SiamRPN++模型之前,我们首先对Siamese追踪网络进行了更深入的分析。

3.1. Analysis on Siamese Networks for Tracking

基于Siamese网络的跟踪算法[40,1]将视觉跟踪定义为一个互相关问题,并从具有Siamese网络结构的深度模型中学习跟踪相似度图,其中一个分支用于学习目标的特征表示,另一个分支用于搜索区域。目标补丁通常在序列的第一帧中给出,可以看作是一个样本z。目标是在语义嵌入空间φ(·)中,从下面的框架x中找到最相似的补丁(实例):

其中,b用于模拟相似度值的偏移量。这个简单的匹配函数自然意味着在设计Siamese跟踪器的两个内在的限制。

• Siamese追踪器中使用的收缩部分和特征提取器具有严格平移不变性的内在限制,

,其中是翻译移位子窗口Operator,保证了高效的训练和推理。

收缩部分对结构的对称性有一个内在的限制,收缩部分对结构对称性具有固有的限制,即f(z,x ,)= f(x ,,z),适用于相似性学习。

经过详细的分析,我们发现防止使用深度网络进行Siamese跟踪的核心原因与这两个方面有关。具体地说,其中一个原因是,深度网络中的填充会破坏严格的平移不变性。另一个问题是,RPN需要不对称的特征来进行分类和回归。我们将引入空间感知采样策略来克服第一个问题,并在Sect.3,4节中讨论第二个问题。

严格的平移不变性只存在于没有填充网络中,如修改后的AlexNet [1]。以前基于Siamese的网络[1,42,41,24,52]被设计为浅层的,以满足这个限制。然而,如果所采用的网络被ResNet或MobileNet等现代网络所取代,填充将不可避免地会使网络更加深入,从而破坏了严格的平移不变性限制。我们的假设是,违反这一限制将导致空间偏差。

我们通过在一个填充网络上的模拟实验来验证我们的假设。位移定义为数据增强中均匀分布所产生的最大平移范围。我们的模拟实验进行如下。首先,在三个分段训练实验中,将目标放置在具有不同移位范围(0、16和32)的中心。收敛后,我们对测试数据集上生成的热图进行聚合,然后将结果可视化到图1中。在第一次零位移的模拟中,边界区域的概率降为零。它表明,尽管出现了测试目标,但仍能学习到强烈的中心偏差。另外两个模拟表明,增加位移范围将逐渐防止模型崩溃到这个平凡的解。定量结果表明,32位移的聚合热图更接近于测试对象的位置分布。空间感知采样策略可以有效缓解了填充网络对严格平移不变性的破坏。

图1.当使用不同的随机翻译时,正样本的先验概率关系的可视化。在±32像素内进行随机翻译后,分布变得更加均匀。

为了避免对物体施加强烈的中心偏差,我们通过空间感知采样策略,用ResNet-50主干来训练SiamRPN。如图2所示,在VOT2018上,零移位的性能降低到0.14,一个合适的移位(±64像素)对于训练深度Siamese跟踪器至关重要。

3.2. ResNet-driven Siamese Tracking

基于以上分析,可以消除中心偏差的影响。一旦我们消除了对中心位置的学习偏差,任何现成的网络(如MobileNet,ResNet)都可以用来在领域适应后进行视觉跟踪。此外,我们还可以自适应地构建网络拓扑结构,揭示了深度网络的视觉跟踪性能。

在本小节中,我们将讨论如何将一个深度网络转移到我们的跟踪算法中。特别是,我们主要针对ResNet-50 [14]进行实验。原始的ResNet有32像素的大步幅,不适合密集的Siamese网络预测。如图3所示,我们通过将conv4和conv5块修改为单位空间步幅,将最后两个块的有效步幅从16像素和32像素减少到8像素,并通过扩张卷积[27]增加其接受域。在每个块输出上附加一个额外的1×1的卷积层,以将信道减少到256。

在[24]之后,我们使用互相关层和完全卷积层的组合来组装一个头模块来计算分类分数(用S表示)和边界框回归变量(用B表示)。Siamese人的RPN块用P表示。

此外,我们发现对ResNet仔细微调将提高性能。通过将ResNet提取器的学习速率设置为比RPN部分小的10倍,使特征表示更适合于跟踪任务。与传统的Siamese方法不同,深度网络的参数是以端到端方式联合训练的。据我们所知,我们确实是第一个在深度Siamese网络(> 20层)上实现端到端学习,以进行视觉跟踪。

3.3. Layer-wise Aggregation(分层聚合)

在利用了像ResNet-50这样的深层网络后,聚合不同的深层就成为可能了。直观地说,视觉跟踪需要丰富的表示,能够跨越从低到高的级别,从小到大的尺度,以及从精细到粗的分辨率。即使在卷积网络中使用特征的深度,隔离一层也是不够的:复合和聚合这些表示可以提高识别和定位的推理。

在之前的工作中,只使用像AlexNet这样的浅层网络,多层次特性不能提供非常不同的表示。然而,考虑到接受域的差异很大,ResNet的不同层更有意义。早期层的特征主要集中于颜色、形状等低层次信息,对于定位至关重要,而缺乏语义信息;后者的特征具有丰富的语义信息,在运动模糊、巨大变形等挑战场景中是有益的。假设使用这种丰富的层次信息有助于帮助跟踪。

在我们的网络中,提取多分支特征来协同推断目标定位。对于ResNet- 50,我们探索了从最后三个残差块中提取的多层次特征,用于我们的多层聚合。我们将这些输出分别称为F3(z)、F4(z)和F5(z)。如图3所示,将conv3、conv4、conv5的输出分别输入三个SiameseRPN模块。

图3.我们所提议的框架的说明。给定一个目标模板和搜索区域,该网络通过融合来自多个Siamese区域建议(SiamRPN)块的输出来输出一个密集的预测。每个SiamRPN块显示在右边。

由于三个RPN模块的输出尺寸具有相同的空间分辨率,因此直接对RPN输出采用加权和。一个加权融合层结合了所有的输出。

由于组合权重的域不同,因此将分离组合权重进行分类和回归。该权重与网络一起离线地进行端到端优化。

与以前的工作相比,我们的方法没有明确地结合卷积特征,而是分别学习分类和回归。请注意,随着主干网络深度的显著增加,我们可以从足够的视觉-语义层次结构的多样性中获得实质性的收益。

3.4. Depthwise Cross Correlation

互相关模块是嵌入两个分支信息的核心操作。SiamFC [1]利用交叉相关层获得目标定位的单通道响应图。在SiamRPN [24]中,通过添加一个巨大的卷积层来扩展通道(UP-Xcorr),交叉关联被扩展到嵌入更高层次的信息,如锚点。较重的上通道模块使参数分布严重不平衡(即RPN模块包含20M参数,而特征提取器在[24]中只包含4M参数),这使得SiamRPN的训练优化困难。

在本小节中,我们提出了一个轻量级的互相关层,称为深度互相关(DW-XCorr),以实现有效的信息关联。DW-XCorr层包含的参数比SiamRPN中使用的UP-XCorr少10倍,而性能与之相当。为了实现这一点,我们采用了一个conv-bn块来调整每个残差块的特征,以适应跟踪任务。至关重要的是,边界盒预测和基于锚点的分类都是不对称的,这与SiamFC不同(见See Sect. 3.1). 为了编码差异,模板分支和搜索分支通过两个非共享的卷积层。然后对两个具有相同信道数的特征图进行逐信道的相关操作。附加了另一个conv-bn-relu块来融合不同的通道输出。最后,附加了分类或回归输出的最后一个卷积层。

图4。不同的互相关层的说明。(a)交叉相关(XCorr)层预测了SiamFC [1]中目标模板和搜索补丁之间的单通道相似性图。(b)上行通道交叉相关(UP-XCorr)层通过在SiamRPN [24]中级联一个重卷积层和几个独立的XCorr层来输出多通道相关特征。(c)深度交叉相关(DW-XCorr)层预测了模板和搜索补丁之间的多通道相关特征。

通过将互相关替换为深度相关,我们可以大大降低计算成本和内存使用。这样,模板和搜索分支上的参数数量就得到了平衡,从而使训练过程更加稳定。

此外,图5中还说明了一个有趣的现象。同一类别的物体在同一通道上有较高的响应(148通道的车,222通道的人,226通道的脸),而其余通道的响应被抑制。这一性质可以理解为由深度互相关所产生的通道级特征几乎是正交的,每个通道都代表一些语义信息。我们也分析了热图时,当使用上通道互相关和反应图是较少解释的。

图5。conv4中深度相关输出的通道。conv4共有256个通道,但只有少数通道在跟踪过程中具有高响应。因此,我们选择了第148、222、226个通道作为演示,即图中的第2、3、4行。第一行包含来自OTB数据集[46]的6个相应的搜索区域。不同的通道代表不同的语义,第148通道对汽车的响应较高,而对人和脸的响应较低。第222频道和第226频道对人物和面孔分别有较高的反应。

4 实验结果

4.1 培训数据集和评估

训练:我们的架构[14]的主干网络在ImageNet [36]上进行了预训练,用于图像标记,这已经被证明是对其他任务[13,27]的一个非常好的初始化。我们在COCO [25]、ImageNet DET [36]、ImageNet VID和YouTube边界盒数据集[35]的训练集上训练网络,并学习如何测量一般对象之间的相似性的通用概念。在训练和测试中,我们使用127像素的模板补丁,255像素的搜索区域。

评价:我们专注于在OTB2015 [46]、VOT2018 [21]和UAV123 [31]上的短期单目标跟踪。我们使用VOT2018-LT [21]来消除长期设置。在长期跟踪中,物体可能会离开视野或长时间被完全遮挡,这比短期跟踪更具挑战性。我们还分析了我们的方法在LaSOT [10]和TrackeingNet[30]上的推广,这是最近两个最大的单目标跟踪基准。

4.2 实施细节

网络架构。在实验中,我们遵循[52]来进行训练和推理设置。我们将两个兄弟卷积层连接到减步的ResNet-50(部分。3.2)使用5个锚点进行方案分类和边界盒回归。三个随机初始化的1×1卷积层附加到conv3、conv4、conv5上,将特征维数降到256。

优化器。最优化SiamRPN++采用随机梯度下降(SGD)进行训练。我们使用超过8个GPU的同步SGD,每个小批总共128对(每个GPU16对),这需要12个小时才能收敛。我们使用前5步的热身学习率为0.001来训练RPN刹车。在最后的15个学习周期中,对整个网络进行端到端训练,学习率从0.005呈指数衰减到0.0005。重量衰减为0.0005,动量为0.9。训练损失是分类阳离子损失和回归的标准平滑L1损失的总和。

4.3 消融实验

骨干体系结构。特征提取器的选择是至关重要的,因为参数的数量和层的类型直接影响跟踪器的内存、速度和性能。我们比较了不同的网络架构的视觉跟踪。图6显示了使用AlexNet、ResNet-18、ResNet-34、ResNet-50和MobileNet-v2作为骨干的性能。我们报告了OTB2015上成功面积曲线下(AUC)与ImageNet上前1精度的性能。我们观察到,我们的SiamRPN++可以受益于更深层次的卷积神经网络。

图6 . ImageNet的最高精对比。2015年OTB的预期平均重叠(EAO)得分。

层次特征聚合。为了研究分层特征聚合的影响,我们首先要在ResNet-50上训练三个具有单一RPN的变体。我们的经验发现,conv4单独在EAO中可以达到0.374的竞争性能,而较深层和较浅层的性能下降了4%。通过结合conv4和conv5这两个分支获得了改善,但对其他两种组合没有观察到改善。尽管如此,健壮性还是增加了10%,这是我们的跟踪器的关键漏洞。这意味着我们的跟踪器还有改进的空间。在聚合所有三层后,准确性和稳健性都稳步提高,VOT和OTB的收益在3.1%到1.3%之间。总的来说,分层特征聚合在VOT2018上产生了0.414的EAO得分,比单层基线高出4.0%。

深度相关性。我们将原来的上通道交叉相关层与所提出的深度交叉相关层进行了比较。如表1所示,所提出的深度相关性在VOT2018年VOT上提高了2.3%,在OTB2015年OTB上提高了0.8%证明了深度相关性的重要性。这在一定程度上是由于两个分支的参数分布平衡,使学习过程更加稳定,收敛性更好。

表1。在VOT2018和OTB2015上对提议的跟踪器的消融研究。L3、L4、L5分别代表conv3、conv4、conv5。微调表示骨干是否被离线训练。Up/DW表示Up通道相关和深度相关。

4.4 与最先进技术的比较

这部分直接看论文原文效果更好。

5 结论

在本文中,我们提出了一个统一的框架,称为SiamRPN++,用于端到端训练一个深度Siamese网络进行视觉跟踪。我们展示了理论和经验的证据,如何训练一个深度网络的Siamese跟踪器。我们的网络由一个多层聚合模块组成,它组装连接的层次来聚合不同层次的表示,以及一个深度相关层,这允许我们的网络减少计算成本和冗余参数,同时也导致更好的收敛。使用SiamRPN++,我们实时获得了VOT2018的最新结果,显示了SiamRPN++的有效性。SiamRPN++还在LaSOT和跟踪网等大型数据集上获得了最先进的结果,显示了其通用性。

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

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

相关文章

【STA】多场景时序检查学习记录

单周期路径 建立时间时序检查 在时钟的有效沿到达触发器之前,数据应在一定时间内保持稳定,这段时间即触发器的建立 时间。满足建立时间要求将确保数据可靠地被捕获到触发器中。 建立时间检查是从发起触发器中时钟的第一个有效沿到捕获触发器中时钟后面…

基于springboot+vue的社区医院管理系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

chatgpt-3的文章生成器有哪些?可以批量生成文章的生成器

GPT-3(Generative Pre-trained Transformer 3)作为人工智能领域的一项重大突破,开启了新一代的文本生成技术。同时市面上也涌现出了一些GPT-3文章生成器,为用户提供了快速、高效地生成各种类型文章的工具。本文将介绍一些中国的GP…

python笔记_程序流程控制

A,顺序控制 程序从上到下逐行执行 python定义变量时,会合法地向前引用 age 1 age2 age 1 age2 age 1 age 1 ——>错误,age应在age2之前 B,分支控制 1,单分支if 语法 if 条件表达式 : 代码块 说明…

数字化转型导师坚鹏:证券公司数字化思维升级之道

证券公司数字化思维升级之道 ——数字化思维之六脉神剑 课程背景: 很多证券公司存在以下问题: 不知道数字化转型如何改变思维模式? 不清楚需要建立什么样的数字化思维? 不知道如何开展数字化思维提升工作? 课…

Redis之十:Spring Data Redis --- CrudRepository方式

SpringData Redis CrudRepository方式 Spring Data Redis 的 CrudRepository 是 Spring Data 框架中用于提供基础 CRUD(创建、读取、更新和删除)操作的一个接口。在与 Redis 集成时,尽管 Redis 是一个键值存储系统,并没有像关系型…

关于福彩历史数据采集器和体彩历史数据采集器的下载安装说明

前段时间因为研究基于人工神经网络(深度学习,所谓的“AI”算法)对3D开奖数据进行预测,开发了两款浏览器插件----“福彩历史数据采集器”和“体彩历史数据采集器”。之所以开发这两款插件,是因为不管是基于什么样的方式…

【QT+QGIS跨平台编译】之六十三:【QGIS_CORE跨平台编译】—【错误处理:未定义的类QgsMapLayer - QgsMapLayerModel】

文章目录 一、未定义的类QgsMapLayer二、解决办法 一、未定义的类QgsMapLayer 报错&#xff1a; 二、解决办法 QgsMapLayerModel.h文件中 ①第27行修改为&#xff1a; #include "QgsMapLayer.h" ②第23行增加&#xff1a; #include <QPointer>

Github 2024-03-03 开源项目日报Top9

根据Github Trendings的统计&#xff0c;今日(2024-03-03统计)共有9个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量非开发语言项目4Rust项目1C项目1Jupyter Notebook项目1Python项目1Shell项目1 任天堂Switch模拟器yuzu&#x…

编写dockerfile挂载卷

编写dockerfile文件 [rootwq docker-test-volume]# vim dockerfile1 [rootwq docker-test-volume]# cat dockerfile1 FROM centosVOLUME ["volume01","volume02"]CMD echo "------end------" CMD /bin/bash [rootwq docker-test-volume]#使用do…

leetcode:51.N皇后(复习)

题目理解&#xff1a;&#xff08;回溯算法&#xff09; 树形结构——层数代表行数&#xff0c;递归的深度就是总行数。 代码实现&#xff1a;

手写 Attention 迷你LLaMa2——LLM实战

https://github.com/Yuezhengrong/Implement-Attention-TinyLLaMa-from-scratch 1. Attention 1.1 Attention 灵魂10问 你怎么理解Attention&#xff1f; Scaled Dot-Product Attention中的Scaled&#xff1a; 1 d k \frac{1}{\sqrt{d_k}} dk​ ​1​ 的目的是调节内积&…

金属3D打印新材料崭露头角,性能卓越引领行业新潮流

在3D打印模具制造领域&#xff0c;材料的选择对最终产品的性能有着至关重要的影响。随着技术的不断进步&#xff0c;金属3D打印材料正迅速发展&#xff0c;展现出强大的竞争力和创新潜力。其中&#xff0c;3D打印企业毅速推出的多款不锈钢粉末材料&#xff0c;如EM191、EM191S、…

VMware Workstation Pro 17 虚拟机软件安装教程

VMware软件介绍 VMware Workstation是一款功能强大的桌面虚拟计算机软件&#xff0c;提供用户可在宿主机操作系统上同时运行不同的操作系统(虚拟化技术)&#xff0c;所运行的操作系统可方便的进行复制和移动&#xff0c;突破传统架构的限制。本文将以VMware Workstation Pro 1…

使用lnmp环境部署laravel框架需要注意的点

1&#xff0c;上传项目文件后&#xff0c;需要chmod -R 777 storage授予文件权限&#xff0c;不然会报错file_put_contents(/): failed to open stream: Permission denied。 如果后面还是报错没有权限的话&#xff0c;就执行ps -ef |grep php查询php运行用户。然后执行chown …

2024真正有效的苹果mac电脑清理工具CleanMyMac X

一、前言 对于Mac用户来说&#xff0c;电脑卡顿、运行缓慢无疑是一件令人头疼的事情。而市面上的清理软件又五花八门&#xff0c;效果参差不齐&#xff0c;如何才能找到一款真正有效的清理工具呢&#xff1f;今天&#xff0c;我们为大家推荐一款实力派电脑清理软件——CleanMy…

【双指针】删除有序数组中重复元素,双指针原地修改数组

删除有序数组中重复元素 链接 . - 力扣&#xff08;LeetCode&#xff09;. - 备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/remove-duplicates-from-sorted-array/…

Stable Diffusion 3正式发布,旨在巩固其在AI图像领域相对于Sora和Gemini的领先地位

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

vue3 + vite 项目可以使用纯Js开发吗?

答案&#xff1a;可以 创建项目&#xff1a; 按照链接参考或者按官方&#xff1a; webstorm 创建vue3 vite 项目-CSDN博客 项目目录 tsconfig.json 配置允许js allowJs指定是否编译js文件&#xff0c;在任意文件当中,如果我们模块使用js写的&#xff0c;那么我们需要 将all…

链式插补 (MICE):弥合不完整数据分析的差距

导 读 数据缺失可能会扭曲结果&#xff0c;降低统计功效&#xff0c;并且在某些情况下&#xff0c;导致估计有偏差&#xff0c;从而破坏从数据中得出的结论的可靠性。 处理缺失数据的传统方法&#xff08;例如剔除或均值插补&#xff09;通常会引入自己的偏差或无法充分利用数…