【SAM下游任务微调】TS-SAM: Fine-Tuning Segment-Anything Model for Downstream Tasks

news2024/11/16 11:32:08

TS-SAM: Fine-Tuning Segment-Anything Model for Downstream Tasks

论文链接:https://arxiv.org/pdf/2408.01835

代码链接:https://github.com/maoyangou147/TS-SAM

一、摘要

  基于适配器的微调方法已经被研究用于改进SAM在下游任务上的性能。然而,经过微调的SAM与特定领域的模型之间仍然存在显著的性能差距。为了减少这种差距,作者提出了双流SAM(TS-SAM)。

  一方面,受到Parameter-Efficient Fine-Tuning(PEFT)中的侧网络灵感的启发,设计了一个轻量级的卷积侧适配器(CSA),它将SAM强大的特征集成到侧网络训练中,以实现全面的特征融合。另一方面,根据分割任务的特性,设计了多尺度细化模块(MRM)和特征融合解码器(FFD),以保持细节和语义特征。

  在三个任务领域的十个公开数据集上进行的广泛实验表明,TS-SAM不仅显著优于最近提出SAM-Adapter和SSOM,而且在性能上与最先进的特定领域模型相竞争。

二、创新点

  1. 首次将侧网络引入SAM的微调中。提出了一个双流侧网络的架构,它有效地从SAM编码器中提取特征。

  2. 提出了多尺度细化模块(MRM)和针对分割任务的特征融合解码器(FFD)。这些模块通过高分辨率层次特征获取细化后的目标位置信息,并在解码过程中完全融合它们,以实现详细的分割结果。

  3. 对提出的TS-SAM在三个任务(包括隐身物检测COD、阴影检测和显著对象检测SOD)的十个公开数据集上进行了评估。实验结果表明,TS-SAM在这些下游任务上显著优于最近的工作,这些工作是专门为这些任务微调的SAM。甚至与专门为每个任务设计的SOTA领域特定模型相比,TS-SAM也达到了竞争性能。
    在这里插入图片描述

    文章目录

    • TS-SAM: Fine-Tuning Segment-Anything Model for Downstream Tasks
      • 一、摘要
      • 二、创新点
      • 三、原理
      • A. Overall Architecture
      • B. Convolutional Side Adapter
      • C. Multi-Scale Refine Module
      • D. Feature Fusion Decoder
      • 四、实验
        • A. Datasets and Implementation
        • B. Results
        • C. Ablation Study
      • 五、总结

三、原理

在这里插入图片描述

A. Overall Architecture

 图 2(a) 展示了提出的TS-SAM的整体架构。使用了预训练的SAM ViT作为骨干网络,并在下游任务中设计了一系列轻量级模块进行微调。给定一幅图像 I ∈ R 3 ∗ H ∗ W I \in R^{3∗H∗W} IR3HW,通过SAM图像编码器提取到的视觉特征 F v i t ∈ R C ∗ H 16 ∗ W 16 F_{vit} \in R^{C∗\frac{H}{16} ∗ \frac{W}{16}} FvitRC16H16W 。同时,通过堆叠的卷积侧适配器(CSA)逐层提取SAM图像编码器的特征,得到适应于下游任务的图像特征 F c s a ∈ R C 1 ∗ H 16 ∗ W 16 F_{csa} \in R^{C_{1}∗ \frac{H}{16} ∗ \frac{W}{16}} FcsaRC116H16W。为了从图像编码器提取更详细的特征,提出了多尺度细化模块(MRM)。MRM上采样图像编码器各层的特征嵌入,创建了一个层次化的特征表示 { F m r m k } k = 1 2 \{F^{k}_{mrm}\}^{2}_{k=1} {Fmrmk}k=12。此外,一个轻量级的门控单元连续地将SAM图像编码器的低层到高层特征融合,收集了更丰富的图像细节特征。

 解码过程没有使用SAM掩码解码器。原因在于SAM解码器需要诸如点或框之类的提示才能取得良好的效果,并且通过单一的前向传播分割多个目标是一项挑战。因此,设计了轻量级的特征融合解码器(FFD),将层次化的特征表示 { F m r m k } k = 1 2 \{F^{k}_{mrm}\}^{2}_{k=1} {Fmrmk}k=12注入从CSA获得的特征 F c s a F_{csa} Fcsa。这增强了特征表示,得到了一个精化的分割掩码。FFD在 F c s a F_{csa} Fcsa上进行上采样过程时,逐步融合层次化的特征表示,通过两阶段注入方法突出层次化特征表示中的关键信息。

 最后,为了减少训练成本,在训练过程中冻结SAM图像编码器。只有Convolutional Side Adapter、Multi-Scale Refinement Module和Feature Fusion Decoder这三个组件被训练,并且所有三个组件都是轻量
级的。

B. Convolutional Side Adapter

 本节详细介绍了卷积侧适配器(CSA)。受到PEFT领域适配器技术启发,对原始适配器进行了简单的修改。CSA能够有效地提取SAM图像编码器的特征,并弥合这些特征与下游任务数据之间的差距。如图2(b)所示,与原始适配器不同,CSA由两个 1 ∗ 1 1 ∗ 1 11卷积模块组成。第一个 1 ∗ 1 1 ∗ 1 11卷积模块扩展压缩的特征到SAM图像编码器的特征维度,然后与SAM图像编码器的输出特征嵌入合并。第二个 1 ∗ 1 1 ∗ 1 11卷积模块将合并的特征压缩回输入特征维度,作为下一个CSA层的输入。给定 ( i − 1 ) (i-1) i1-th CSA的输出特征 F c s a i ∈ R C 1 ∗ H 16 ∗ W 16 F^{i}_{csa} \in R^{C_{1}∗\frac{H}{16} ∗ \frac{W}{16}} FcsaiRC116H16W和SAM图像编码器 ( j − 1 ) (j-1) j1-th层的输出特征 F v i t j ∈ R C ∗ H 16 ∗ W 16 F^{j}_{vit} \in R^{C∗\frac{H}{16} ∗ \frac{W}{16}} FvitjRC16H16W,第 i i i个CSA模块的操作可以表示如下:
F v i t j + 1 = F v i t j + c o n v 1 ∗ 1 ( F c s a i ) (1) F^{j+1}_{vit} = F^{j}_{vit} + conv_{1∗1}(F^{i}_{csa}) \tag{1} Fvitj+1=Fvitj+conv11(Fcsai)(1)

F c s a i + 1 = c o n v 1 ∗ 1 ( F v i t j + 1 ) (2) F^{i+1}_{csa} = conv_{1∗1}(F^{j+1}_{vit} ) \tag{2} Fcsai+1=conv11(Fvitj+1)(2)

其中, c o n v 1 ∗ 1 conv_{1∗1} conv11代表 1 ∗ 1 1*1 11卷积模块,包括一个 1 ∗ 1 1*1 11的卷积操作,批归一化和激活函数操作。 F v i t j + 1 F^{j+1}_{vit} Fvitj+1是SAM图像编码器的第 j j j层的输入, F i + 1 F^{i+1} Fi+1是第 i i i个CSA的输入,CSA是轻量级,且保留适配器的精简。

C. Multi-Scale Refine Module

 在分割任务中,为了实现更精确的分割结果,模型需要能够有效地描述诸如物体边缘等细节特征。然而,在SAM图像编码器的块嵌入过程中,图像的16倍下采样可能会导致难以提取目标位置信息。因此,提出**多尺度细化模块(MRM)**来获取具有更多细节的高分辨率特征。

 图2©展示了MRM的结构。第 i i i个MRM层接收来自SAM图像编码器的 ( j − 1 ) (j-1) (j1)层输出特征 F v i t j F^{j}_{vit} Fvitj和来自MRM的第 ( i − 1 ) (i-1) (i1)层的层级特征 F m r m i k k = 1 2 {F^{k}_{mrm_{i}}}^{2}_{k=1} Fmrmikk=12,输出两个特征 F m r m i + 1 k k = 1 2 {F^{k}_{mrm_{i+1}}}^{2}_{k=1} Fmrmi+1kk=12,其分辨率是 H 8 × W 8 \frac{H}{8} × \frac{W}{8} 8H×8W H 4 × W 4 \frac{H}{4} × \frac{W}{4} 4H×4W。首先通过一个 1 ∗ 1 1 ∗ 1 11卷积模块压缩 F v i t j F^{j}_{vit} Fvitj的特征维度以获得 F ^ v i t j ∈ R C ′ ∗ H 16 ∗ W 16 \hat{F}^{j}_{vit} \in R^{C′ ∗ \frac{H}{16} ∗ \frac{W}{16}} F^vitjRC16H16W。然后,通过一个反卷积模块处 F ^ v i t j \hat{F}^{j}_{vit} F^vitj以产生更高分辨率的多尺度特征表示 { F m r m i + 1 k } k = 1 2 \{F^{k}_{mrm_{i+1}}\}^{2}_{k=1} {Fmrmi+1k}k=12。上述过程可以正式化如下:
F m r m i + 1 k = d e c o n v k ( c o n v 1 ∗ 1 ( F v i t j ) ) ,   k = 1 , 2 (3) F^{k}_{mrm_{i+1}} = deconv_{k}(conv_{1∗1}(F^{j}_{vit})), \ k = 1, 2 \tag{3} Fmrmi+1k=deconvk(conv11(Fvitj)), k=1,2(3)

其中 d e c o n v deconv deconv 代表反卷积模块,该模块对 ̂ F v i t j F^{j}_{vit} Fvitj 执行 2 x 2x 2x 4 x 4x 4x 上采样,从而在两个不同尺度上产生高分辨率特征。进一步,获得的的高分辨率特征需要与MRM 前一层的输出层次特征合并。

 为了控制特征融合的程度,为不同尺度的高分辨率特征使用了 [10] 中提出的轻量级门控单元。该单元通过线性层和激活操作计算像素级别的权重,从而精细地控制了特征融合的程度。门控单元的操作可以形式化为以下内容:
F ~ m r m i + 1 k = T a n h ( L i n e a r ( R e L U ( L i n e a r ( F ^ m r m i + 1 k ) ) ) ) ⊗ F ^ m r m i + 1 k , k = 1 , 2 (4) \tilde{F}^{k}_{mrm_{i+1}} = Tanh(Linear(ReLU (Linear(\hat{F}^{k}_{mrm_{i+1}})))) ⊗ \hat{F}^{k}_{mrm_{i+1}}, k = 1, 2 \tag{4} F~mrmi+1k=Tanh(Linear(ReLU(Linear(F^mrmi+1k))))F^mrmi+1k,k=1,2(4)

 其中Linear 表示线性层,而 ⊗ ⊗ 表示元素相乘。最后,将这两个特征简单相加以实现特征融合:
F m r m i + 1 k = F ~ m r m i + 1 k + F m r m i k ,   k = 1 , 2 (5) F^{k}_{mrm_{i+1}} = \tilde{F}^{k}_{mrm_{i+1}} + F^{k}_{mrm_{i}}, \ k = 1, 2 \tag{5} Fmrmi+1k=F~mrmi+1k+Fmrmik, k=1,2(5)

D. Feature Fusion Decoder

在这里插入图片描述

 为了确保CSA(卷积分割注意力)和MRM(多分辨率模块)分支特征的彻底融合,提出了一种轻量级的特征融合解码器(FFD)。FFD设计用于在解码过程中将层次化特征表示注入自CSA分支获得的特点中。FFD的结构如图3所示。

 CSA分支的特征 F c s a F_{csa} Fcsa首先通过一个 1 ∗ 1 1 ∗1 11的卷积处理得到 F i n , c s a F_{in,csa} Fin,csa

 对于具有 H 8 ∗ W 8 \frac{H}{8} ∗ \frac{W}{8} 8H8W H 4 ∗ W 4 \frac{H}{4} ∗ \frac{W}{4} 4H4W 分辨率的层次化特征表示 F m r m k k = 1 2 {F^{k}_{mrm}}^{2}_{k=1} Fmrmkk=12,目标是突出其关键特征。因此,使用池化操作对层次化特征表示进行下采样,强调其关键组成部分。这一过程可以表示如下:

F i n , m r m k = c o n v 1 ∗ 1 ( F m r m k ) , k = 1 , 2 (6) F^{k}_{in,mrm} = conv_{1∗1}(F^{k}_{mrm}), k = 1,2 \tag{6} Fin,mrmk=conv11(Fmrmk),k=1,2(6)

F k e y , m r m k = G A P ( F i n , m r m k ) + G M P ( F i n , m r m k ) , k = 1 , 2 (7) F^{k}_{key,mrm} = GAP (F^{k}_{in,mrm}) + GMP (F^{k}_{in,mrm}), k = 1, 2 \tag{7} Fkey,mrmk=GAP(Fin,mrmk)+GMP(Fin,mrmk),k=1,2(7)

其中GAP(全局平均池化)和GMP (全局最大池化)分别具有 2 ∗ 2 2*2 22的核。对于不同尺度的高分辨率特征,采用两级注入方法。首先,通过池化操作获得的关键特征 F k e y , m r m F_{key,mrm} Fkey,mrm被注入到 F i n , c s a F_{in,csa} Fin,csa中,然后完整的、高分辨率的层次特征 F m r m F_{mrm} Fmrm被注入到 F i n , c s a F_{in,csa} Fin,csa中。以高分辨率特征 F m r m 1 F^{1}_{mrm} Fmrm1的注入过程为例,其分辨率是 H 8 ∗ W 8 \frac{H}{8} ∗ \frac{W}{8} 8H8W ,注入过程可以正式化如下:
F s t a g e 1 , c s a = c o n v 3 ∗ 3 ( [ F i n , c s a , F k e y , m r m 1 ] ) (8) F_{stage1,csa} = conv_{3∗3}([F_{in,csa}, F^{1}_{key,mrm}]) \tag{8} Fstage1,csa=conv33([Fin,csa,Fkey,mrm1])(8)
F s t a g e 1 , c s a = U p S a m p l e ( F s t a g e 1 , c s a ) (9) F_{stage1,csa} = UpSample(F_{stage1,csa}) \tag{9} Fstage1,csa=UpSample(Fstage1,csa)(9)
F s t a g e 2 , c s a = c o n v 3 ∗ 3 ( [ F s t a g e 1 , c s a , F m r m 1 ] ) (10) F_{stage2,csa} = conv_{3∗3}([F_{stage1,csa}, F^{1}_{mrm}]) \tag{10} Fstage2,csa=conv33([Fstage1,csa,Fmrm1])(10)

其中方程(8)和方程(10)分别表示注入过程的第一阶段和第二阶段,其中表示沿着通道维度进行拼接,并且UpSample表示 2 x 2x 2x上采样。随后,高分辨率特征 F m r m 2 F^{2}_{mrm} Fmrm2的注入过程,其分辨率是 H 4 ∗ W 4 \frac{H}{4} ∗ \frac{W}{4} 4H4W,与上述过程相同。通过这一两阶段的注射,层次化的特征与CSA分支的特征得到了完全整合,从而产生了一种增强的特征表示。这使得解码过程能够实现更为精细的分割结果。

四、实验

A. Datasets and Implementation

Database.
 本节报告了在SAM-Adapter[3]和SSOM [4]中使用的十种来自三个具有挑战性的下游任务的实验数据集。

  1. COD: 用于测试TS-SAM 性能的四个常用数据集:CAMO [23], COD10K [24], CHAMELEON [25] 和NC4K [26]。按照 [3] 中的训练协议,将 [23] 和[24] 的训练样本合并用于模型训练,并在每个数据集上使用测试样本进行测试。

  2. 暗影检测:使用了ISTD [27]数据集来测试TS-SAM的性能。

  3. SOD: 选择了五个数据集:DUTS [28], ECSSD[29], OMRON [30], HKU-IS [31], 和 PASCAL-S[32]。遵循了[33]中的训练协议,使用DUTS训练集进行训练,并在剩余的数据集上进行测试

Inplementation Details.
  提出的解决方案在PyTorch中实现,所有训练都是在4块NVIDIA A40 GPU上进行的。训练了模型的两种版本:TS-SAM_BTS-SAM_H
TS-SAM_B使用SAM图像编码器的ViT-B版本,包括14层CSA和13层MRM。TS-SAM_H使用SAM图像编码器的ViT-H版本,包括34层CSA和13层MRM。所有实验都使用Adam优化算法,初始学习率为0.0008,并采用余弦衰减策略。总批大小为8。除了Resize之外,没有使用任何数据增强方法。对于COD和SOD任务,使用二值交叉熵(BCE)损失和IOU损失。训练进行了80轮。对于阴影检测任务,使用平衡二项交叉熵(BBCE)损失。训练进行了100轮。特别是,在阴影检测任务实验中,引入了图像的高频成分作为输入,遵循 [3]中的相同设置。

B. Results

在这里插入图片描述

伪装目标检测COD. 表格I展示了TS-SAM与SAM、SAM-Adapter以及当前最先进的特定领域模型在四个常用伪装目标检测数据集上的结果。仅通过调整4.4%的参数,且没有为该任务设计特定的模块,所提模型在四个数据集上均取得了竞争性的性能。特别是在两个最大的数据集,COD10K和NC4K上,TS-SAM在大多数指标上取得了最佳结果。对于COD10K数据集,所提模型在 S a l p h a S_{alpha} Salpha F β w F^{w}_{\beta} Fβw 两个指标上分别超越了第二好的方法SARNet3.3%和4.4%,并且在M AE上降低了19.0%。在NC4K数据集上,所提模型在 S a l p h a S_{alpha} Salpha F β w F^{w}_{\beta} Fβw和MAE三个指标上达到了当前最先进的性能,并且在 S a l p h a S_{alpha} Salpha指标上超越了SARNet1.8%。这些结果展示了所提模型的强大泛化能力。

  此外,对于SAM-Adapter [3],通过引入适配器,它在伪装目标检测任务上相对于原始的SAM取得了性能提升。而对于TS-SAM,通过将卷积侧适配器串联,将SAM的特征图融入到卷积侧适配器的训练中,并使用多尺度细化模块,它在SAM-Adapter[3]报告的三个数据集上所有指标上取得了显著的提升。

  图1展示了复杂样本的一些定性结果,展示了复杂性的各种方面。例如,存在由极其相似的环境和遮挡引起的干扰(第1、3和5列),小目标(第4列)和复杂纹理特征(第2列)。这些结果展示了提出的TS-SAM的优越性,包括对整体特征的良好掌握,对细节特征的深入探索,以及对干扰信息的有效区分。

在这里插入图片描述

阴影检测。ISTD数据集上的结果见表II。观察到SAM-Adapter通过引入轻量级的适配器,在阴影检测任务中显著提高了SAM的性能。与SAM-Adapter相比,TS-SAM有显著的性能提升。而且,没有为阴影检测任务特别设计,TS-SAM达到了与最佳特定领域模型相近的性能。

显著目标检测。表III展示了TS-SAM与SAM、SSOM[4]以及当前最先进的特定领域模型在五个常用显著目标检测数据集上的结果。与SSOM类似的方法SSOM相比,TS-SAM显示了显著的优势,在五个数据集上的MAE指标上显著超越了SSOM。这表明提出的微调方法优于SSOM提出的基于AdaLora [40]的微调方案。与高级特定领域方法相比,TS-SAM仅通过微调少量参数就达到了竞争性性能。在 S a l p h a S_{alpha} Salpha E ϕ E_{\phi} Eϕ和MAE指标上,TS-SAM在ECSSD、OMRON和PASCAL-S数据集上达到了当前最先进的性能,并且在DUTS和HKU-IS数据集上表现良好。在$F^{w}_{\beta}$指标上,TS-SAM的表现相对较弱,这将是未来改进方向
在这里插入图片描述

C. Ablation Study

在这里插入图片描述

 提出的模块的有效性在四个伪装目标检测数据集上进行了研究:CHAMELEON, CAMO, COD10K和 NC4K。TS-SAM 使用的模块在 SAM 的基线模型上单独实现,结果见表 IV。从结果来看,当只有解码器进行微调时,SAM 的基线模型表现不佳。首先,验证了独立工作的模块的有效性,包括只引入 CSA 模块和同时引入 MRM 和 FFD 模块的设置。发现与基线模型相比,这两种设置都带来了显著的性能提升,同时只增加了少量可训练参数(分别为 5.49M和 2.35M)。结果表明,提出的模块能够有效地从 SAM 图像编码器中提取视觉信息,并将其适应下游任务。其次,结合所有三个提议模块的模型在四个数据集上的所有指标上取得了最佳性能。结果表明,提出的模块可以互补地工作。专为分割任务设计的MRM 和 FFD,可以帮助 CSA 实现更好的性能。

五、总结

 文中专注于对大型视觉模型SAM下游任务的高效微调。为了充分利用SAM在大规模数据集上预训练的优势,引入了TS-SAM。使用轻量级的卷积侧适配器(CSA),首次将侧网络的概念应用于SAM的微调。此外,根据分割任务的特性,设计了**多尺度精炼模块(MRM)特征融合解码器(FFD)**来从高分辨率图像中提取详细特征。在三个下游任务上的实验表明,所提模型超过了现有对SAM的高效微调方法,并且可以与专门为每个任务设计的SOTA领域特定模型相媲美。

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

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

相关文章

【2024】Datawhale X 李宏毅苹果书 AI夏令营 Task1

本文是关于李宏毅苹果书“第1章 机器学习基础”学习内容的记录。 1、术语解释 术语解释机器学习(Machine Learning, ML)机器学习是一种人工智能(AI)技术,它使计算机能够从数据中学习并做出决策或预测,而无…

【python计算机视觉编程——3.图像到图像的映射】

python计算机视觉编程——3.图像到图像的映射 3.图像到图像的映射3.1 单应性变换3.1.1 直接线性变换算法(DLT)3.1.2 仿射变换 3.2 图像扭曲3.2.1 图像中的图像3.2.2 分段仿射扭曲3.2.3 图像配准 3.3 创建全景图3.3.1 RANSAC3.3.2 稳健的单应性矩阵估计3.…

【二叉树】LC405-删除二叉搜索树的节点

文章目录 1 删除二叉树的节点思路其他代码参考 1 删除二叉树的节点 https://leetcode.cn/problems/delete-node-in-a-bst/description/ 给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。…

探索全球设计灵感:六大海外设计平台

海外设计网站对于设计师而言,不仅是灵感的源泉,更是专业成长的加速器。这些平台聚集了全球创意人士,提供了一个分享和发现最新设计趋势的环境。设计师可以通过这些网站学习行业内的创新技术,参与设计挑战,提升个人设计…

End-to-End视觉里程计新突破:从运动模糊图像中精确估计相机姿态

更多优质内容,请关注公众号:智驾机器人技术前线 1.论文信息 论文标题:MBRVO: A Blur Robust Visual Odometry Based on Motion Blurred Artifact Prior 作者:Jialu Zhang, Jituo Li*, Jiaqi Li, Yue Sun, Xinqi Liu, Zhi Zheng,…

饮水机复杂交互功能联网调试

饮水机复杂交互功能联网调试 引言 饮水机我们从最开始的放水和加热, 逐渐拓展到保温功能, 童锁功能, 红外检测功能, 对于这些复杂的交互功能, 我们如果通过按键进行调试, 会极大的增加我们的开发时间和成本, 如果我们频繁的进行烧录, 则如果涉及到一些中间变量, 则无法进行调试…

帆软BI怎么制作不等宽柱状图

帆软BI怎么制作不等宽柱状图 文章目录 帆软BI怎么制作不等宽柱状图不等宽柱状图起源一、怎么做不等宽柱状图准备二、操作步骤1.展示效果2.操作步骤-3.操作步骤 -图形属性4.操作步骤 -组件样式5.操作步骤 -横轴和纵轴6.完成7.不等宽柱状图与传统等宽柱状图对比 总结 不等宽柱状图…

【深度学习】嘿马深度学习笔记第5篇:神经网络与tf.keras,学习目标【附代码文档】

本教程的知识点为:深度学习介绍 1.1 深度学习与机器学习的区别 TensorFlow介绍 2.4 张量 2.4.1 张量(Tensor) 2.4.1.1 张量的类型 TensorFlow介绍 1.2 神经网络基础 1.2.1 Logistic回归 1.2.1.1 Logistic回归 TensorFlow介绍 总结 每日作业 神经网络与tf.keras 1.3 …

介绍云计算在医疗领域的应用实例

云计算在医疗领域的应用日益广泛,为医疗行业带来了诸多便利和创新。以下是几个典型的应用实例: 电子病历管理系统: 基于云计算技术的电子病历管理系统,通过互联网实现对病历数据的存储、管理、维护和查询等功能。这类系统能够自动…

关于助记词,词库的讨论

我有个想法,既然私钥碰撞的难度大。 -seed-(pathmasterkey)-privatekey-publickey-address 通过反推的难度大,那我可以尝试使用助记词碰撞 就例如,我生成1000个eth地址 1000个地址的助记词全部拿到,然后…

C++学习笔记——打印ASCII码

一、题目描述 二、代码 #include <iostream> using namespace std; int main() {char a_char;int a_int;cin >> a_char;a_int a_char;cout << a_int;return 0; }

【数据结构】关于TreeMap与TreeSet的使用你了解多少???

前言&#xff1a; &#x1f31f;&#x1f31f;本期讲解TreeMap与Set的相关知识&#xff0c;希望能帮到屏幕前的你。 &#x1f308;上期博客在这里&#xff1a;http://t.csdnimg.cn/K1moi &#x1f308;感兴趣的小伙伴看一看小编主页&#xff1a;GGBondlctrl-CSDN博客 目录 &am…

开源模型应用落地-LangChain实用小技巧-使用各种Loader高效解析不同数据源(七)

一、前言 在 LangChain框架中&#xff0c;提供了Loader机制&#xff0c;以统一的方式来从各种数据源获取数据&#xff0c;使得开发人员可以方便地集成不同类型的数据源&#xff0c;而无需为每种数据源编写特定的加载代码。它可以将不同格式的数据转换为 LangChain 可以处理的统…

如何使用ssm实现新锐台球厅管理系统的设计与实现+vue

TOC ssm221新锐台球厅管理系统的设计与实现vue 系统概述 1.1 研究背景 如今互联网高速发展&#xff0c;网络遍布全球&#xff0c;通过互联网发布的消息能快而方便的传播到世界每个角落&#xff0c;并且互联网上能传播的信息也很广&#xff0c;比如文字、图片、声音、视频等…

Python(R)均方根误差平均绝对误差导图

&#x1f3af;要点 回归模型评估指标评估薪水预测模型评估员工倦怠率模型评估大气分析生成式对抗模型目标对象缺失下&#xff0c;性能估算法追踪模型误差指标降尺度大气学模拟模型准确性评估蛋白染色质相互作用模型评估 Python回归误差指标 平均绝对误差表示数据集中实际值和…

Manim实现目标的移动和出现速度控制

一&#xff0c;介绍 缓动函数 自定义参数随时间变化的速率。 现实生活中&#xff0c;物体并不是突然启动或者停止&#xff0c; 当然也不可能一直保持匀速移动。就像我们 打开抽屉的过程那样&#xff0c;刚开始拉的那一下动作很快&#xff0c; 但是当抽屉被拉出来之后我们会不自…

TCP协议中断开连接机制

目录 客户端与服务端四次挥手 关于TIME_WAIT状态 为什么TIME_WAIT状态等待的时间是2MSL&#xff1f; 客户端与服务端四次挥手 基于TCP协议通信的客户端与服务端断开连接就要进行四次挥手&#xff0c;如下图&#xff1a; 四次挥手过程中客户端与服务端状态转化&#xff1a; …

Rocm-Programming with HIP 内存分配

1. 主机内存&#xff08;Host Memory&#xff09; hipHostMalloc 是 HIP API 中的一个函数&#xff0c;它用于在主机上分配特殊的内存&#xff0c;这种内存被称为 "pinned" 或 "page-locked" 内存。这种内存有以下特点和用途&#xff1a; GPU 地址空间映射…

SD6201 同步增压DC/DC调节器芯片IC

一般描述 SD6201是高效率同步、PWM升压型DC/DC转换器&#xff0c;专为中型功率系统提供高效率解决方案而优化。该器件在0.9 V至4.4V的输入电压下工作&#xff0c;开关频率为1.4 MHz。这些功能允许使用微小、低剖面的电感和陶瓷电容器&#xff0c;从而最大限度地减少了整…

LivePortrait模型构建指南

一、介绍 快手可灵大模型团队开源了名为 LivePortrait 的可控人像视频生成框架&#xff0c;能够准确、实时地将驱动视频的表情、姿态迁移到静态或动态人像视频上&#xff0c;生成极具表现力的视频结果。该项目的模型产生了定性肖像动画&#xff0c;只要输入一张静态的肖像图像…