Task-balanced distillation for object detection用于

news2024/11/25 16:36:24

Task-balanced distillation for object detection用于目标检测的任务平衡蒸馏

摘要

主流的目标检测器通常由分类和回归两个子任务组成,由两个并行头部实现。这种经典的设计范式不可避免的导致分类得分和定位质量(IOU)之间的空间分布不一致。因此,本文从知识蒸馏的角度缓解了这种偏差。首先,我们观察到,与轻量级学生相比,大的教师实现了更高比例的和谐预测基于这一有趣的观察,设计了一个新的和谐分数来估计分数和回归质量的一致性HS对两个子任务之间的关系进行建模,并被视为促进学生和谐预测的先验知识。其次,这种空间错位会导致特征提取时区域选择不协调。为了解决这一问题,通过灵活地平衡分类和回归任务的共线,提出了一种任务解耦特征蒸馏(TFD)方法。其中,HD和TFD构成了所提出的方法,称为任务平衡蒸馏(TBD)。大量的实验证明了该方法的巨大潜力和推广价值。

介绍

为了生成目标的位置坐标和相应的标签,现代目标检测通常采用多任务管道,该管道由两个并行头实现的分类和回归分支组成。然而,这种并行实现可能导致分类分数和回归质量(IOU)的分布不一致。如图1最上面的子图显示,vanilla RetinaNet输出人与摩托车重叠的不一致预测。

image-20240314190638226

具体来说,绿色候选包含高分但低IOU,而橙色候选具有准确的bbox但得分低。当执行后处理(比如NMS)时,由于分类分数是NMS排名的一般标准,因此将保留得分较高的绿色分数(IOU低的)。因此具有准确bbox(橙色)的预测可能被错误地过滤掉。一般来说,这种不正确地过滤可以归结为分类精度和定位精度之间的分布不一致

先前的研究试图通过三种方式来克服这一问题,包括通过添加额外的头部(即IOUNet.Centerness)来重新组合NMS分数,关注一致区域,以及增强分类和回归任务之间的依赖关系以输出更和谐的预测。虽然这些研究在减轻空间分布不一致的影响方面取得了显著进展,但其动机和解决办法都来源于探测器本身。为了引出所提出的方法,我们仔细比较了教师和学生模型在处理这种情况时的行为不和谐分布。有价值的观察结果如下。一般来说,教师比学生更倾向于做出和谐的预测。我们计算易分类预测的IOU分布,如表1所示。

image-20240314192421216

总的来说,教师模型在实现高度一致的预测方面表现优异,同时保持较少的不协调预测。这一观察表明由于分类和回归质量的不同分布,一些容易分类的样本可能会对学生产生不准确的位置(例如,图1中出现的摩托车)。因此,一个有意义的问题是,在教师模型的帮助下,学生是否可以产生更和谐的预测。

此外,我们观察到两个子任务的不协调分布将影响提取特征时实质性区域的选择。由于在目标检测中,前景像素远小于背景像素,因此在将中间特征从教师传递给学生时,如何选择重要区域是一条有意义的路线先前的工作试图通过使用分类分支的预测来生成空间掩模来表示有意义的区域。该分类感知掩码用作空间权重,在传递中间特征时调整每个位置的贡献,如图(1)所示:
L o s s f e a t = ∑ i = 1 W ∑ j = 1 H M i , j c l s × ( F i , j t − F i , j s ) 2 Loss_{feat} = \sum _{i=1}^W \sum _{j=1}^H M_{i,j}^{cls} \times (F_{i,j}^t - F_{i,j}^s)^2 Lossfeat=i=1Wj=1HMi,jcls×(Fi,jtFi,js)2
image-20240314194425136表示分类感知掩码 ,image-20240314194435929表示教师和学生的特征。考虑到分类和定位之间的不协调分布,单纯利用分类信息可能会导致次优的区域选择。因此,另一个关键问题是,能否充分利用分类和定位信息来指导特征模仿是另一个关键问题

设计了一个新的和谐蒸馏(HD)组件来实现和谐预测的转换。首先定义和谐分数(HS),定量描述分类分值的偏差和相应的回归质量。特别是,HS越大意味着分类得分与回归质量正相关,反之亦然。其次,通过对师生模型的HS进行比对,推导出HD。**提出的HD提供了先验知识,对分类和回归之间的关系进行建模,以帮助为学生生成高质量的预测。**如表1所示,与以往基于蒸馏的方法不同,本文提出的HD的和谐预测比例显著提高,甚至超过了教师。

为了实现有效的特征模仿,一个新的任务解耦特征蒸馏(TFD)来整合分类和回归任务的信息首先利用相应的预测得到分类感知掩码和定位感知掩码此外,我们提出了一个任务协同权重生成(TWG)模块来平衡分类和回归任务的贡献,而不是讲这些掩码与启发式权重方案相结合。具体来说,TWG根据教师和学生的预测动态分配任务感知权重。

提出的TBD由上述HD和TFD组成,共同考虑了分类和定位的特性。

贡献

首先定义了一个新的和谐分数(HS)来捕捉分类质量和回归质量之间的关系。然后提出了一种新的和谐蒸馏(HD)来帮助学生生成和谐预测。

设计了一种新的任务解耦特征蒸馏(TFD)来模拟中间特征。通过平衡这两个任务的贡献,将分类掩模和回归掩模综合起来。

相关工作

和谐预测

不和谐预测的内容最初来源于文献[8],即分类和定位精度不一致的预测边界框。这种偏差使非最大值抑制(NMS)过程不可靠,因为NMS只只使用分类分数作为对proposal进行排序的度量,从而导致不准确的抑制。为了缓解这一问题,之前的研究[3,5,8-11]试图使预测更加和谐。解决这一问题的途径可以分为三类,包括重新制定排名指标,关注和谐区域,以及增强分类和定位任务的依赖关系。IOUNet利用额外的头部预测本地化感知分数,并重新定制NMS得分,以更加关注本地化任务。这一范式在FCOS和DIR等后续研究中得到推广。此外,FCOS基于观察到GT的中心区域通常具有较高的分类和回归精度,提出了一种定心采样策略。与这些方法不同,GFL将IOU纳入分类标签。TOOD提出了一种新的带有任务对齐学习的(TAL)的T-head,以增强分类任务和回归任务之间的交互性。HarmonicDet从损失函数提取的角度提高了预测一致性。

与以前的工作不同,本文提出的方法从知识蒸馏的角度产生和谐预测。我们首先定义和谐分数(HS)来捕捉分类分数和定位IOU之间的和谐关系。然后。教师模型的HS被视为先验知识,并最终在拟议的HD的监督下转移学生。

面向检测的知识蒸馏

知识蒸馏最初被Hinton等人提出,对繁琐的模型进行压缩,在图像分类方面取得了显著进展。现有的基于KD的方法大致可以分为基于响应的方法、基于特征的方法和基于关系的方法。此后,KD越来越多的应用于目标检测任务,取得了显著的改进。与图像分类任务相比,由于用于目标检测的图像通常包含大量背景像素,因此基于检测的知识蒸馏的技术路线之一是选择合适的蒸馏区域。Mimicking模拟了教师和学生proposal之间的特征差异。FGFI生成,靠近ground truth的区域应被视为关键的蒸馏区域。GID基于预测定义地理信息系统,并以实例方式提出蒸馏。Defeat 证实前景和北京区域都是有价值的,然后提出了一种空间解耦的蒸馏来实现特征模仿。PFI和FRS利用分类分数提出了一种预测导向的蒸馏方法。FGD进一步将空间和通道维度上的特征模仿解耦。PGD利用一级检测器的蒸馏头设计了一种预测导向的蒸馏管道。MGD试图将特征模仿修改为特征生成范式,并取得了令人印象深刻的效果。HEAD通过设计辅助模型致力于异构目标检测器的蒸馏。

TFD与上述的主要区别如下。我们从不和谐任务分布的角度重新审视有价值特征区域的选择。特别是,分类感知区域和定位感知区域都被认为是有价值的区域。此外,还提出了TWG模块来动态分配权重以平衡这两个任务的贡献。

所提出的方法

本节系统地阐述了TBD的总体架构。如图2所示,多提出的TBD由和谐蒸馏(HD)和任务解耦特征蒸馏(TFD)组成。

image-20240316143630655

和谐蒸馏

在本节中,我们逐步阐述了HD的推导过程。如上所述,分类分数和定位质量之间的差异会导致不正确的NMS抑制。因此,最重要的一点是量化这种差异,称为和谐分数(HS)。一般来说,HS的推导包括两个步骤:将预测结果转化为分类概率和回归概率,然后根据任务概率设计HS的表达式。

对于每个预测的边界框,image-20240316150616849分别表示分类分支和回归分支的输出。具体来说,image-20240316150702411是一个C维的分数向量,C表示类的数量。类似地,image-20240316150941501对从锚点(锚框或锚点)到实际预测的正则化偏移量进行编码。

任务特定概率的定义原则包括两个部分。首先,将概率幅值归一化为[0,1]。第二,概率越大,预测越准确。对于分类任务,通过使用归一化最大激活值简洁地优雅生成概率image-20240316155600872
P c = s o f t m a x ( m a x 1 < = K < = C P c l s K ) P_c = softmax(max_{1<= K <= C}P^K_{cls}) Pc=softmax(max1<=K<=CPclsK)
为分类预测的初始第K个元素,不传递sigmoid算子,softmax为空间方向的softmax函数,用于将保留的分类分数归一化为[0,1].

对于回归任务,实现与上面类似。具体来说,首先将归一化预测转换为实际的边界框。然后,我们评估每个边界框中的IOU得分和总体ground truth(gt)。对于每个预测框,仅保留最大的IOU作为回归概率image-20240316161255994
p r = m a x 1 < = g < = G I O U ( d e c o d e ( P r e g , G T g ) ) p_r = max_{1<= g <= G}IOU(decode(P_{reg},GT_g)) pr=max1<=g<=GIOU(decode(Preg,GTg))
式中,G为每幅图像中的gt个数,G定义为对应的索引。decode表示变换函数,得到实际预测。

根据等式(2)和(3),给定预测的边界框,分类和定位质量直接用二元元组image-20240316161802867表示。基于这一定义,可以毫不含糊地推导出HS的公式。理论上,HS的定义应该满足两个条件。首先,公式是单调递减。例如,分类概率和定位概率之间的微小差异表明鼓励一致性:因此,应实现高HS。其次,定义应该是有界的,这有利于避免不要的学习困境。基于上述准则,HS通过激活函数tanh进行排列。
Δ = ∣ p r − p c ∣ \Delta = |p_r - p_c| Δ=prpc

H S = 1 − t a n h ( Δ p ) = 2 × e − Δ p e − Δ p + e Δ p HS = 1-tanh(\Delta p) = 2 \times \frac{e^{-\Delta p}}{e^{-\Delta p}+e^{\Delta p}} HS=1tanh(Δp)=2×eΔp+eΔpeΔp

由于教师模式在处理不和谐预测方面比学生模式表现的更好,自然的想法是将教师的HS作为新知识来指导学生的学习阶段。为区分,上标t,s分别表示教师和学生的HS。另外,通过L1 损失进行知识转换。HD的表达示意图如下:
L H D = ∑ l = 1 L 1 H × W ∑ i = 1 W ∑ j = 1 ∣ H S i , j , l t − H S i , j , l s ∣ L_{HD} = \sum ^L _{l=1} \frac{1}{H \times W}\sum _{i=1}^W \sum _{j=1}|HS_{i,j,l} ^t - HS_{i,j,l} ^ s| LHD=l=1LH×W1i=1Wj=1HSi,j,ltHSi,j,ls
l为第l层FPN。i,j为空间位置,W和H分别对应预测的空间宽度和高度。此外,我们注意到等式6是在前景和背景预测的贡献相等的情况下计算的。为了突出前景预测的贡献,建立了IOU引导的和谐损失。利用教师模型生成的image-20240316164606357作为空间蒙版来提升重要前景位置的权重。此外,引入了动态调制因子image-20240316165007287,以放大与教师有较大性能差距的不忠实预测的损失。考虑以上两点,可将空间掩模image-20240316165248324和式(6)修正为:
ψ = p r , i , j , l t × 1 + ∣ p c , i , j , l t − p c , i , j , l s ∣ \psi = p_{r,i,j,l} ^ t \times \sqrt{1 + |p_{c,i,j,l} ^t - p_{c,i,j,l}^s| } ψ=pr,i,j,lt×1+pc,i,j,ltpc,i,j,ls

L H D = ∑ l = 1 L ∑ i = 1 W ∑ j = 1 H ψ i , j , l ∣ p c , i , j , l t − p c , i , j , l s ∣ ∑ m = 1 W ∑ j = 1 H ψ m , n , l L_{HD} = \sum _{l=1} ^L \frac{\sum _{i=1} ^W \sum_{j=1}^H \psi _{i,j,l}|p_{c,i,j,l}^t - p_{c,i,j,l} ^s|}{\sum _{m=1}^W\sum_{j=1}^H \psi_{m,n,l}} LHD=l=1Lm=1Wj=1Hψm,n,li=1Wj=1Hψi,j,lpc,i,j,ltpc,i,j,ls

任务解耦特征蒸馏

基于FPN特征image-20240316170607007构造任务解耦特征蒸馏(TFD)。原因可以从两个方面解释:一方面,蒸馏FPN特征可以方便地同时模仿骨干和FPN特征。另一当面,由于最近的大多数研究都是对FPN特征进行蒸馏,因此选择FPN特征来完成公平的比较是很自然的,经典的特征模仿可以表示为:
L F P N = ∑ l = 1 L ∑ i = 1 W ∑ j = 1 H ( F i , j , l t − ) L_{FPN} = \sum _{l=1}^L \sum _{i=1}^W \sum{j=1}^H (F_{i,j,l}^t - ) LFPN=l=1Li=1Wj=1H(Fi,j,lt)
表示用于对齐教师和学生特征的自适应层。由上式中的定义可以看出,在目标检测中,由于背景像素远远大于前景像素,因此损失将以背景区域为主。因此,如何确定蒸馏区域是一个有价值的课题。

与之前的研究不同,我们从任务感知空间分布的角度重新审视了关键区域的选择。下面列出了分类感知和定位感知区域结合的理论原因。一方面,FPN特征是后续分类和回归头的支柱,因此将它们结合起来是一个自然的选择。另一方面,由于之前的工作揭示了两个不和谐分布,只使用分类掩码可能会遗漏一些定位感知区域。基于以上分析,本文提出的TFD完全利用了教师的预测概率image-20240316192217845来生成任务感知掩码。数学公式如下:
L T F D = ∑ l = 1 L ω c × ∑ i = 1 W ∑ j = 1 H p c , i , j , l t − ( F i , j , l t − ϕ ( F i , j , l s ) ) 2 ∑ m = 1 W ∑ n = 1 H p c , m , n , l t + ∑ l = 1 L ω r × ∑ i = 1 W ∑ j = 1 H p c , i , j , l t − ( F i , j , l t − ϕ ( F i , j , l s ) ) 2 ∑ m = 1 W ∑ n = 1 H p c , m , n , l t L_{TFD} = \sum_{l=1}^L \frac{\omega _c \times \sum_{i=1} ^ W \sum_{j=1}^Hp_{c,i,j,l}^t - (F_{i,j,l}^t - \phi (F_{i,j,l} ^s))^2}{\sum _{m=1}^ W \sum_{n=1}^H p_{c,m,n,l}^t} + \sum _{l=1}^L \frac{\omega _r \times \sum_{i=1} ^ W \sum_{j=1}^Hp_{c,i,j,l}^t - (F_{i,j,l}^t - \phi (F_{i,j,l} ^s))^2}{\sum _{m=1}^ W \sum_{n=1}^H p_{c,m,n,l}^t} LTFD=l=1Lm=1Wn=1Hpc,m,n,ltωc×i=1Wj=1Hpc,i,j,lt(Fi,j,ltϕ(Fi,j,ls))2+l=1Lm=1Wn=1Hpc,m,n,ltωr×i=1Wj=1Hpc,i,j,lt(Fi,j,ltϕ(Fi,j,ls))2
image-20240316193010321是控制分类感知损失和定位感知损失权重的超参数。然而,在等式(10)中使用的固定权重可能会受到一些限制。例如,固定权重难以全面适应动态输入。此外,与仅使用分类掩码的方法相比,还引入了额外的超参数优化开销。因此,我们提出了一个任务协同权值生成(TWG)模块,以动态分配权值来克服这些限制。在SENet的激励下,TWG由两个完全连接(FC)层和一个softmax层组成,以生成任务感知权值。理论上,学习权重应该由教师的的预测和学生当前的学习状态共同决定。基于这一点,在实现TWG时,首先在通道维度上连接预测掩码image-20240316200624009
P = c o n c a t ( p c t , p r t , p c s , p r s ) P = concat(p_c^t,p_r^t,p_c^s,p_r^s) P=concat(pct,prt,pcs,prs)
然后,由平均池化操作符压缩连接的P。随后添加两个轻量级FC层来生成任务感知权重。最后,softmax函数输出归一化的权重,以保证这些权重之和为1。请注意,我们使用最直接的方式来完成TWG的实现,以避免陷入繁琐的网络构建。因此,学习到的权重可以在数学上表示为:
T 0 , T 1 = s o f t m a x ( F C ( F C ( A v g P o o l ( P ) ) ) ) T^0,T^1 = softmax(FC(FC(AvgPool(P)))) T0,T1=softmax(FC(FC(AvgPool(P))))
因此,给定任务感知权重image-20240316201719605,等式(10)可以改写为:
L T F D − c = ∑ l = 1 L T l 0 × ∑ i = 1 W ∑ j = 1 H p c , i , j , l t ( F i , j , l t − ϕ ( F i , j , l s ) ) 2 ∑ m = 1 W ∑ n = 1 H p c , m , n , l t L_{TFD-c} = \sum _{l=1}^L \frac{T^0_l \times \sum _{i=1} ^W \sum_{j=1}^H p_{c,i,j,l}^t(F_{i,j,l}^t - \phi (F_{i,j,l}^s))^2}{\sum _{m=1} ^W \sum_{n=1}^H p_{c,m,n,l}^t} LTFDc=l=1Lm=1Wn=1Hpc,m,n,ltTl0×i=1Wj=1Hpc,i,j,lt(Fi,j,ltϕ(Fi,j,ls))2

L T F D − r = ∑ l = 1 L T l 0 × ∑ i = 1 W ∑ j = 1 H p r , i , j , l t ( F i , j , l t − ϕ ( F i , j , l s ) ) 2 ∑ m = 1 W ∑ n = 1 H p r , m , n , l t L_{TFD-r} = \sum _{l=1}^L \frac{T^0_l \times \sum _{i=1} ^W \sum_{j=1}^H p_{r,i,j,l}^t(F_{i,j,l}^t - \phi (F_{i,j,l}^s))^2}{\sum _{m=1} ^W \sum_{n=1}^H p_{r,m,n,l}^t} LTFDr=l=1Lm=1Wn=1Hpr,m,n,ltTl0×i=1Wj=1Hpr,i,j,lt(Fi,j,ltϕ(Fi,j,ls))2

L T F D = L T F D − c + L T F D − r L_{TFD} = L_{TFD-c} + L_{TFD-r} LTFD=LTFDc+LTFDr

总损失

上述的工作流程和TBD的推导都是基于一级检测器,当该方法与Faster RCNN等两阶段方法结合起来时,由于区域建议网络(RPN)可以看做是一个特定的单阶段模块,因此的生成来源于区域建议网络(RPN)的输出。其余部分与学生模型一致。本文的整体损失包括原始损失和定制蒸馏的损失:
L = L d e t e c t o r + α L H D + β L T F D L = L_{detector} + \alpha L_{HD} + \beta L_{TFD} L=Ldetector+αLHD+βLTFD

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

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

相关文章

鸿蒙开发实现弹幕功能

鸿蒙开发实现弹幕功能如下&#xff1a; 弹幕轮播组件&#xff1a;BannerScroll import type { IDanMuInfoList, IDanMuInfoItem } from ../model/DanMuData //定义组件 Component export default struct BannerScroll {//Watch 用来监视状态数据的变化&#xff0c;包括&#…

软考79-上午题-【面向对象技术3-设计模式】-结构型设计模式02

一、组合模式 1-1、意图 将对象组合成树型结构&#xff0c;以表示"部分-整体"的层次结构。Composite使得用户对单个对象和组 合对象的使用具有一致性。 示例&#xff1a;对象&#xff1a;文件、文件夹 1-2、结构 Component 为组合中的对象声明接口&#xff1b;在适…

CKA认证之Etcd备份与恢复

题目介绍&#xff1a; 资料参考&#xff1a; https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/configure-upgrade-etcd 解题&#xff1a; 1、备份 #参考模板列出 etcdctl 可用的各种选项。 #例如&#xff0c;你可以通过指定端点、证书和密钥来制作快照&#xff0…

Android 开发 地图 polygon 显示信息

问题 Android 开发 地图 polygon 显示信息 详细问题 笔者进行Android项目开发&#xff0c;接入高德地图绘制区域后&#xff0c;需要在指定区域&#xff08;位置&#xff09;内显示文本信息&#xff0c;如何实现 实现效果 解决方案 代码 import com.amap.api.maps.model.T…

Day47-http和www基础2

Day47-http和www基础2 1.Linux下实践观察HTTP协议通信过程1.1 DNS解析过程1.2 tcp三次握手1.3 发起HTTP请求报文阶段1.4 请求报文阶段1.5 响应报文部分1.6 分析URL&#xff0c;DNS解析1.7 HTTPS连接建立的过程1.8 请求报文阶段1.8.1 referer1.8.2 如何解决防盗链&#xff1f; 2…

【机器学习】分类模型的评价方法

&#x1f33b;个人主页&#xff1a;相洋同学 &#x1f947;学习在于行动、总结和坚持&#xff0c;共勉&#xff01; #学习笔记# 目录 一、混淆矩阵&#xff08;Confusion Matrix&#xff09; 二、评估指标&#xff08;Evaluation metrics&#xff09; 1.正确率(accuracy) …

HCIP—OSPF课后练习一

本实验模拟了一个企业网络场景&#xff0c;R1、R2、R3为公司总部网络的路由器&#xff0c;R4、R5分别为企业分支机构1和分支机构2的路由器&#xff0c;并且都采用双上行方式与企业总部相连。整个网络都运行OSPF协议&#xff0c;R1、R2、R3之间的链路位于区域0&#xff0c;R4与R…

数据分析-Pandas的直接用Matplotlib绘图

数据分析-Pandas的直接用Matplotlib绘图 数据分析和处理中&#xff0c;难免会遇到各种数据&#xff0c;那么数据呈现怎样的规律呢&#xff1f;不管金融数据&#xff0c;风控数据&#xff0c;营销数据等等&#xff0c;莫不如此。如何通过图示展示数据的规律&#xff1f; 数据表…

Swift 面试题及答案整理,最新面试题

Swift 中如何实现单例模式&#xff1f; 在Swift中&#xff0c;单例模式的实现通常采用静态属性和私有初始化方法来确保一个类仅有一个实例。具体做法是&#xff1a;定义一个静态属性来存储这个单例实例&#xff0c;然后将类的初始化方法设为私有&#xff0c;以阻止外部通过构造…

[java基础揉碎]多态参数

多态参数 方法定义的形参类型为父类类型&#xff0c;实参类型允许为子类类型 例子: 定义一个员工类, 有名字和工资两个属性, 有年工资的方法 定义一个普通员工继承了员工类 , 重写了年工资的方法 定义一个经理类, 也继承了员工类, 同时经理多以了一个奖金的属性, 重写的年…

Ubuntu 如何安装 Beyond Compare?

Ubuntu20.04安装Beyond Compare 4.3.7 一、官网下载方式一&#xff1a;方法二&#xff1a;使用 .deb 包安装 二、安装相关依赖和bcompare三、破解常见错误解决方法 ) 文件比较工具Beyond Compare是一套由Scooter Software推出的文件比较工具。主要用途是对比两个文件夹或者文件…

JUnit 面试题及答案整理,最新面试题

JUnit中的断言&#xff08;Assert&#xff09;有哪些类型&#xff1f; JUnit提供了多种断言类型来帮助测试代码的正确性。常见的断言类型包括&#xff1a; 1、assertEquals&#xff1a; 用于检查两个值是否相等。如果不相等&#xff0c;测试失败。 2、assertTrue和assertFal…

监控系统prometheus+grafana+发送告警信息

1、基础环境准备两台或更多的主机 2、关闭selinux vi /etc/selinux/config&#xff0c;修改SELINUX的值为disabled 3、关闭防火墙 systemctl disable firewalld systemctl stop firewalld 4、prometheus官网下载 https://prometheus.io/download/ 5、grafana官网下载 https…

HTML语法基础

1.HTML是什么 HTML是超文本标记语言&#xff0c;标准通用标记语言下的一个应用。 “超文本”就是指页面内可以包含图片、链接&#xff0c;甚至音乐、程序等非文字元素。 超文本标记语言的结构包括“头”部分&#xff08;英语&#xff1a;Head&#xff09;、和“主体”部分&…

如何在“Microsoft Visual Studio”中使用OpenCV编译应用程序

返回目录&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 前一篇&#xff1a;OpenCV4.9.0在windows系统下的安装 后一篇&#xff1a; 警告&#xff1a; 本教程可以包含过时的信息。 我在这里描述的所有内容都将适用于 OpenCV 的C\C接口。我首先假…

在centos8中部署Tomcat和Jenkins

参考链接1&#xff1a;tomcat安装和部署jenkins_jenkins和tomcat-CSDN博客 参考链接2&#xff1a;--配置开机启动tomcat文件 x​​​​​​超详细&#xff1a;Centos8安装Tomcat并配置开机自动启动_centos设置tomcat开机自启-CSDN博客文章浏览阅读4.4k次&#xff0c;点赞4次&…

爱奇艺 CTR 场景下的 GPU 推理性能优化

01 背景介绍 GPU 目前大量应用在了爱奇艺深度学习平台上。GPU 拥有成百上千个处理核心&#xff0c;能够并行的执行大量指令&#xff0c;非常适合用来做深度学习相关的计算。在 CV&#xff08;计算机视觉&#xff09;&#xff0c;NLP&#xff08;自然语言处理&#xff09;的模型…

判断一个时间序列中每个元素的年份是否为闰年

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 判断一个时间序列中 每个元素的年份是否为闰年 Series.dt.is_leap_year 选择题 以下代码的输出结果中正确的是? import pandas as pd ts pd.Series(pd.date_range("2024-03-17",…

ARM 汇编指令:(七) STM/LDM多寄存器加载/多存储指令

目录 一.四种栈 1.满增栈&#xff1a;进栈&#xff08;先移动指针再入栈&#xff0c;指针往地址增大的方向移动&#xff09;&#xff1b;出 栈&#xff08;先出栈&#xff0c;栈指针往地址减小的地方移动&#xff09;。 2.满减栈&#xff1a;进栈&#xff08;先移动指针再入…

android studio设置flutter和dart的sdk配置

提示没有配置dart sdk的时候&#xff0c;其实只需要配置一下flutter的sdk就可以了&#xff0c;因为flutter的安装包里面包含了dart的sdk&#xff1a; 按照提示选中这个flutter的安装包路径就可以了&#xff1a; 并且需要开启windows的开发者开关&#xff1a;start ms-settings:…