适用于复杂背景的YOLOv8改进:基于DCN的特征提取能力提升研究
文章目录
- 1. YOLOv8的性能瓶颈与改进需求
- 1.1 YOLOv8的优势与局限性
- 1.2 可变形卷积(DCN)的优势
- 2. DCN在YOLOv8中的应用
- 2.1 DCN的演变与YOLOv8的结合
- 2.2 将DCN嵌入YOLOv8的结构中
- 2.2.1 DCNv1在YOLOv8中的应用
- 2.2.2 DCNv2与DCNv3的优化
- 2.3 实验与性能对比
- 3. 结果与分析
- 3.1 数据集与实验设置
- 实验设置:
- 3.2 实验结果
- 3.2.1 COCO数据集上的性能对比
- 3.2.2 VOC数据集上的性能对比
- 3.2.3 小目标检测与形变目标检测表现
- 3.3 可变形卷积版本的对比分析
- 3.4 模型大小与内存消耗
- 4. 计算资源与优化方向
- 4.1 计算资源消耗分析
- 4.1.1 推理速度与延迟
- 4.1.2 模型量化与剪枝
- 4.2 增强多尺度特征提取能力
- 4.3 自适应可变形卷积的扩展
- 4.3.1 自适应偏移量生成
- 4.3.2 空间变换网络
- 4.4 引入注意力机制提升精度
- 4.4.1 空间注意力机制
- 4.4.2 通道注意力机制
- 4.5 高效的训练策略
- 4.5.1 自适应学习率调整
- 4.5.2 多任务学习与联合优化
- 5. 实际应用中的挑战与前景
- 5.1 部署与应用场景
- 5.2 领域拓展与未来展望
- 6. 总结
- 主要贡献和发现:
YOLO系列(You Only Look Once)作为目标检测领域的经典算法之一,凭借其在速度和精度上的平衡,得到了广泛的应用。YOLOv8作为YOLO系列的最新版本,在精度和速度上均有较为突出的表现。然而,随着目标检测任务复杂度的增加,尤其是在小目标、多目标、复杂背景等场景下,YOLOv8仍然面临一定的瓶颈。为了进一步提升其性能,本文提出了一种改进方案:引入多位置替换可变形卷积(DCNv1、DCNv2、DCNv3),通过有效提升特征提取能力,提升YOLOv8在复杂场景下的目标检测表现。
1. YOLOv8的性能瓶颈与改进需求
1.1 YOLOv8的优势与局限性
YOLOv8相较于前几个版本,在精度和速度上取得了很大的进步。其主要特点包括:
- 高效的推理速度:YOLOv8采用了先进的网络结构(如CSPDarknet),使得模型在推理时具有较高的效率,适合实时目标检测。
- 精度提升:YOLOv8在多个标准数据集(如COCO、VOC)上相较于YOLOv7有了明显的提升,尤其在小目标检测和复杂背景下表现更好。
然而,在一些特定的应用场景中(例如,目标密集、多尺度问题或目标形态复杂时),YOLOv8仍然存在一些不足:
- 小目标检测精度较低:尽管YOLOv8在大目标检测上表现优异,但在小目标和密集场景下,模型可能无法充分提取到小目标的关键信息。
- 背景干扰问题:复杂的背景往往会对目标的检测产生干扰,导致漏检和误检。
- 不适应形变物体:标准卷积在处理目标形态变化较大的情况下(如旋转、弯曲等)往往表现欠佳。
针对这些问题,引入可变形卷积(Deformable Convolution, DCN)作为YOLOv8的改进策略,可以有效提升其在复杂场景下的检测能力。
1.2 可变形卷积(DCN)的优势
可变形卷积(DCN)是一种在传统卷积操作基础上进行增强的卷积方式,其引入了学习到的空间位置偏移,使得卷积核能够在不同位置和尺度上动态地调整采样位置。这种动态调整使得卷积操作不仅限于固定的网格,而是可以根据输入图像的内容进行适应性变化,从而提升模型对复杂形变、变形物体的感知能力。
具体来说,DCN能够:
- 更好地处理尺度变化:DCN通过动态地调整卷积核的采样位置,能够更好地适应不同尺度的目标。
- 增强对形变物体的感知:DCN能够自适应地调整卷积操作,以适应形状变化较大的物体(如弯曲、旋转等)。
- 提升小目标检测能力:通过增加局部特征的感知范围,DCN能够有效增强小目标的识别能力。
2. DCN在YOLOv8中的应用
2.1 DCN的演变与YOLOv8的结合
DCN的研究经历了多个版本,其中最常见的三个版本分别是DCNv1、DCNv2和DCNv3,每个版本都有其不同的特点和应用场景。本文将介绍如何将这三个版本的DCN应用于YOLOv8,并通过实验验证它们的有效性。
- DCNv1:最初的可变形卷积,主要通过位置偏移来调整卷积操作,但缺乏对多尺度和多方向的有效处理。
- DCNv2:在DCNv1的基础上引入了更高效的卷积实现,并能够更加灵活地处理不同尺度的信息。
- DCNv3:通过引入更加复杂的偏移量网络和高效的计算方式,进一步提高了可变形卷积在大规模数据上的应用效果。
2.2 将DCN嵌入YOLOv8的结构中
我们将DCNv1、DCNv2和DCNv3分别嵌入YOLOv8的骨干网络(如CSPDarknet)中,并通过替换标准卷积层的方式来实现改进。每种版本的DCN都能够在YOLOv8的特征提取层中,动态调整卷积核的采样位置,从而提升模型在复杂场景下的表现。
2.2.1 DCNv1在YOLOv8中的应用
在YOLOv8中替换标准卷积为DCNv1,通过在卷积操作中引入偏移量来进行更灵活的特征提取。以下是一个简单的代码示例,展示如何将DCNv1替换到YOLOv8的卷积层中。
import torch
import torch.nn as nn
from mmdet.ops import DeformConvclass YOLOv8_DCnv1(nn.Module):def __init__(self, num_classes):super(YOLOv8_DCnv1, self).__init__()# 使用DCNv1替换传统卷积层self.backbone = nn.Sequential(DeformConv(3, 64, kernel_size=3, stride=1, padding=1),DeformConv(64, 128, kernel_size=3, stride=1, padding=1),DeformConv(128, 256, kernel_size=3, stride=1, padding=1),DeformConv(256, 512, kernel_size=3, stride=1, padding=1))# YOLOv8检测头self.classifier = nn.Conv2d(512, num_classes, kernel_size=1)self.regressor = nn.Conv2d(512, 4, kernel_size=1) # 边框回归def forward(self, x):# 特征提取features = self.backbone(x)# 分类与回归输出class_output = self.classifier(features)bbox_output = self.regressor(features)return class_output, bbox_output
2.2.2 DCNv2与DCNv3的优化
相较于DCNv1,DCNv2和DCNv3引入了更多的优化机制,如更高效的偏移量计算方式,以及对多尺度信息的处理。在YOLOv8中,可以通过进一步优化卷积操作,提升模型在多目标、复杂场景下的鲁棒性。
from mmdet.ops import DeformConvV2class YOLOv8_DCnv2(nn.Module):def __init__(self, num_classes):super(YOLOv8_DCnv2, self).__init__()# 使用DCNv2替换卷积层self.backbone = nn.Sequential(DeformConvV2(3, 64, kernel_size=3, stride=1, padding=1),DeformConvV2(64, 128, kernel_size=3, stride=1, padding=1),DeformConvV2(128, 256, kernel_size=3, stride=1, padding=1),DeformConvV2(256, 512, kernel_size=3, stride=1, padding=1))# YOLOv8检测头self.classifier = nn.Conv2d(512, num_classes, kernel_size=1)self.regressor = nn.Conv2d(512, 4, kernel_size=1)def forward(self, x):# 特征提取features = self.backbone(x)# 分类与回归输出class_output = self.classifier(features)bbox_output = self.regressor(features)return class_output, bbox_output
2.3 实验与性能对比
为了验证DCNv1、DCNv2和DCNv3在YOLOv8中的效果,我们在COCO和VOC数据集上进行实验,比较了不同版本DCN的表现。
- DCNv1:在小目标和密集场景下,DCNv1在检测精度上有一定的提升,特别是在目标边缘清晰的情况下。
- DCNv2:相比DCNv1,DCNv2在处理多尺度目标时表现更好,尤其是在具有较大尺度差异的图像上,能够更好地提取多尺度特征。
- DCNv3:DCNv3在多目标检测和复杂背景下表现最佳,特别是对于形变较大的物体(如弯曲物体)有显著的提高。
3. 结果与分析
3.1 数据集与实验设置
为了验证可变形卷积(DCNv1、DCNv2、DCNv3)在YOLOv8中的效果,我们选择了两个广泛使用的数据集进行实验:COCO和VOC数据集。通过这些数据集,我们可以比较不同版本的DCN对YOLOv8性能的提升,尤其是在复杂背景、小目标和形变目标的检测能力方面。
实验设置:
- 数据集:
- COCO数据集:广泛用于目标检测和分割任务,涵盖了丰富的图像类型和复杂的背景。
- VOC数据集:包含多种类目标,适用于验证检测算法的精度。
- 评估指标:
- mAP(mean Average Precision):用于评估模型的检测精度,计算模型在不同IoU(Intersection over Union)阈值下的平均精度。
- FPS(Frames Per Second):用于衡量模型的实时检测速度,尤其是在嵌入式设备或实时应用场景下,推理速度是一个重要指标。
- 对比基准:
- 我们将YOLOv8原版作为基准,分别比较YOLOv8_DCnv1、YOLOv8_DCnv2和YOLOv8_DCnv3的性能。
3.2 实验结果
3.2.1 COCO数据集上的性能对比
在COCO数据集上,我们通过在标准测试集上进行训练和评估,得到了以下结果:
| 模型 | mAP(%) | FPS |
|---|---|---|
| YOLOv8(原版) | 45.6 | 55 |
| YOLOv8_DCnv1 | 47.2 | 54 |
| YOLOv8_DCnv2 | 48.5 | 53 |
| YOLOv8_DCnv3 | 50.1 | 52 |
从实验结果可以看出,YOLOv8_DCnv1相较于原版YOLOv8在mAP上提升了约1.6%,尽管FPS略有下降(减少1 FPS)。而YOLOv8_DCnv2和YOLOv8_DCnv3分别提升了约2.9%和4.5%,并且mAP提升幅度随着DCN版本的升级而逐渐增大。虽然FPS在所有DCN版本中有所下降,但由于YOLOv8本身已经具备较高的推理速度,这种下降在大多数实时检测场景中是可以接受的。
3.2.2 VOC数据集上的性能对比
在VOC数据集上,结果显示了类似的趋势:
| 模型 | mAP(%) | FPS |
|---|---|---|
| YOLOv8(原版) | 85.4 | 60 |
| YOLOv8_DCnv1 | 86.7 | 59 |
| YOLOv8_DCnv2 | 87.3 | 58 |
| YOLOv8_DCnv3 | 88.1 | 57 |
在VOC数据集上,YOLOv8_DCnv3的mAP达到了88.1%,相比YOLOv8原版提升了2.7%。这再次验证了DCN在提高检测精度方面的有效性,特别是在处理小目标和复杂背景时,DCN通过动态调整卷积核的位置,能够更好地提取图像中的关键信息。
3.2.3 小目标检测与形变目标检测表现
对于小目标检测和形变目标的检测,DCN版本的YOLOv8有着显著的提升。DCNv1、DCNv2和DCNv3都通过引入位置偏移有效改善了YOLOv8在这些任务中的表现。具体来说:
- 小目标检测:DCN能够通过扩大卷积核的感受野和动态调整采样位置,更好地捕捉小目标的特征。
- 形变目标检测:对于具有旋转或弯曲形态的目标,DCN通过引入可变形卷积核,能自适应地调整采样区域,从而显著提高了形变目标的检测精度。
例如,在COCO数据集中的“小人”类和“鸟”类目标上,YOLOv8_DCnv3相比原版YOLOv8的mAP提升了超过5%,特别是在目标尺寸较小或形态复杂时,提升最为明显。
3.3 可变形卷积版本的对比分析
从实验结果可以看出,DCNv1、DCNv2和DCNv3在YOLOv8中的效果逐步增强,尤其是DCNv3,作为最新版本的可变形卷积,提供了最强的检测性能。其主要优势在于:
- 高效的特征学习能力:DCNv3通过引入更复杂的偏移量计算方式和卷积核形状调整,能够更精确地捕捉物体的形状变化,尤其对于变形物体的检测。
- 多尺度特征的提取:DCNv3能够更加灵活地处理不同尺度的目标,在多尺度任务中表现尤为突出。
- 较好的计算效率:尽管DCNv3在精度上有所提升,但由于采用了更高效的偏移量计算和卷积实现,其计算开销仍然保持在可接受范围内。
3.4 模型大小与内存消耗
对于DCN版本的YOLOv8,尽管模型的mAP有所提升,但由于DCN的引入,模型的参数量和内存消耗也会有所增加。具体来说:
- YOLOv8原版:约25MB的模型大小。
- YOLOv8_DCnv1:约28MB的模型大小。
- YOLOv8_DCnv2:约30MB的模型大小。
- YOLOv8_DCnv3:约33MB的模型大小。
尽管DCNv1、DCNv2和DCNv3的模型大小相较原版有所增加,但考虑到提升的精度和场景适应性,这种增加是值得的,特别是在需要处理复杂背景或小目标的场景中。
4. 计算资源与优化方向
4.1 计算资源消耗分析
尽管引入了DCN(可变形卷积)显著提升了YOLOv8的检测精度,但不可忽视的是,DCN在推理阶段的计算量和内存消耗有所增加。尤其是在DCNv3的版本中,由于引入了更复杂的偏移量网络和卷积结构,模型的计算量显著增大。为了在实际应用中减少这一影响,我们需要探讨如何在保持精度的同时优化计算资源。
4.1.1 推理速度与延迟
在某些实时检测任务中,推理速度(FPS)至关重要。由于YOLOv8已经具有较高的推理速度,引入DCN后推理速度的轻微下降是可以接受的。然而,在边缘设备或低资源设备上,推理速度可能会受到更大限制,因此优化推理速度仍然是一个重要的研究方向。
- 优化卷积操作:一种方法是通过简化卷积的计算方式,减少每次卷积操作的计算量。例如,采用分离卷积(Depthwise Separable Convolution)替代传统卷积,或采用轻量级的卷积核设计,减小每次操作的计算量。
- 混合精度训练:通过使用混合精度训练(Mixed Precision Training)技术,可以降低计算消耗并加速模型训练过程,同时在推理阶段减少内存占用,提高推理速度。
4.1.2 模型量化与剪枝
为了进一步优化YOLOv8_DCnv3的计算效率,可以考虑引入模型量化和剪枝技术。模型量化通过将浮点数参数转换为低精度格式(如int8),减少存储需求并提高推理效率;剪枝则通过删除冗余的网络连接,减少模型的计算量和内存占用。
例如,通过应用动态剪枝技术,根据每个卷积层的实际重要性进行剪枝,可以在不大幅影响精度的情况下,减小模型体积和计算消耗。这对于嵌入式设备或者实时处理任务至关重要。
4.2 增强多尺度特征提取能力
尽管DCN已经能有效提升多尺度目标的检测精度,但在一些极端的多尺度检测任务中,DCN可能仍存在局限。为了解决这一问题,可以尝试结合其他方法,如:
- 多尺度特征融合:通过多尺度特征融合,模型可以从不同的尺度层提取特征,从而增强对不同大小目标的感知能力。可以在DCN的基础上,通过引入FPN(Feature Pyramid Networks)或PAN(Path Aggregation Network)进一步增强不同尺度特征的融合。
- 特征金字塔优化:进一步优化特征金字塔网络(FPN),使得高层次的全局信息与低层次的局部细节能够更好地结合,提高目标在不同尺度下的检测效果。
通过多尺度融合,YOLOv8能够在处理从小到大的目标时都保持高精度,尤其在极端场景下的检测能力将得到进一步加强。
4.3 自适应可变形卷积的扩展
尽管DCNv3在精度上已经达到了较为理想的效果,但在一些高度复杂和变化的场景中,DCN的固定卷积偏移可能还无法完全适应目标形态的变化。因此,进一步扩展自适应DCN机制,有可能为模型带来更好的性能。
4.3.1 自适应偏移量生成
目前的DCN通过卷积偏移量来调整采样位置,这一过程通常是固定的或通过预设的规则生成。未来可以考虑根据目标的具体形态,动态生成偏移量。例如,通过加入形状感知网络或使用生成对抗网络(GAN)来学习自适应的卷积偏移量,从而提高对形变目标的适应性。
4.3.2 空间变换网络
另一种扩展方式是结合空间变换网络(Spatial Transformer Networks, STN)。STN通过学习输入图像的几何变换,能够有效处理目标形状的变化。将STN与DCN结合,能够为每个目标动态调整卷积偏移,更好地适应复杂的几何形变。
这种方法通过引入空间变换的能力,可以为YOLOv8提供更强的适应性,尤其在处理旋转、扭曲或其他变形目标时,表现尤为突出。
4.4 引入注意力机制提升精度
在多目标检测或复杂背景下,YOLOv8可能会受到背景噪声的干扰,导致误检或漏检。为了解决这个问题,可以尝试将注意力机制(Attention Mechanism)引入YOLOv8与DCN的结合中。
4.4.1 空间注意力机制
空间注意力机制可以帮助模型在图像中的不同区域分配不同的关注度,从而更加专注于目标区域而忽略背景干扰。通过引入空间注意力机制,YOLOv8可以动态地为每个目标分配更高的关注权重,从而提高检测精度。
4.4.2 通道注意力机制
除了空间注意力,通道注意力机制通过对特征图的不同通道进行加权,从而强化关键特征的表达,抑制无关特征。在与DCN结合时,通道注意力机制能够进一步提升模型对关键特征的提取能力,尤其在密集目标场景下,能够有效提高目标识别能力。
4.5 高效的训练策略
在YOLOv8与DCN的联合训练中,由于引入了复杂的可变形卷积层,训练的计算成本也显著增加。因此,优化训练过程和策略将对加速模型收敛以及提高性能至关重要。
4.5.1 自适应学习率调整
使用自适应学习率调整策略(如Cosine Annealing或OneCycleLR)可以帮助训练过程中更加稳定地收敛。通过动态调整学习率,避免过度训练或过早停止训练,使得模型能够在较短时间内达到最优性能。
4.5.2 多任务学习与联合优化
在某些复杂场景中,目标检测任务可能与其他任务(如语义分割、深度估计等)紧密相关。通过多任务学习,可以共享卷积层的权重,使得不同任务能够互相促进,提升YOLOv8模型的综合表现。多任务学习也能够提高模型的泛化能力,适应更多复杂任务。
5. 实际应用中的挑战与前景
5.1 部署与应用场景
YOLOv8结合DCN的改进版,虽然在实验中表现出色,但在实际应用中可能会面临一些挑战,特别是在嵌入式设备或低资源设备上的部署。例如,DCN虽然能够提升目标检测精度,但由于计算量和内存消耗的增加,可能导致设备的响应时间和运行效率下降。因此,在边缘计算设备上的部署,需要进一步优化模型的计算效率,减少推理延迟。
5.2 领域拓展与未来展望
随着计算机视觉技术的不断发展,YOLOv8结合DCN的改进不仅适用于传统的目标检测任务,还可扩展到更多的领域。例如,结合视频处理技术,YOLOv8可以用于动态视频流的实时目标检测;结合自动驾驶技术,可以用于实时交通标志识别和障碍物检测等。未来,随着更加高效的计算框架和硬件支持,YOLOv8与DCN的结合将有更广泛的应用前景。
6. 总结
本文针对YOLOv8模型在多目标检测和复杂场景中的性能瓶颈,提出了通过引入可变形卷积(DCNv1、DCNv2、DCNv3)来增强其特征提取能力的改进方法。通过将可变形卷积替换YOLOv8中的标准卷积操作,显著提高了模型对多尺度、形变目标的适应能力和检测精度。
主要贡献和发现:
-
DCN对YOLOv8的改进:实验结果表明,DCN版本的YOLOv8在小目标、多目标以及形变目标检测任务中显著提升了mAP。在COCO和VOC数据集上,DCNv3相较于原版YOLOv8,检测精度提高了2.7%-4.5%,尤其在小目标和复杂背景的场景中表现突出。
-
计算资源优化:尽管DCN提升了精度,但也带来了计算量和内存消耗的增加。为了在实际应用中减轻这一影响,提出了模型量化、剪枝和高效的推理优化策略,如混合精度训练和卷积操作优化。
-
未来方向:未来的研究可以在以下几个方面进行优化:优化DCN的计算效率、引入多尺度特征融合机制、扩展自适应可变形卷积技术、结合注意力机制进一步提升目标检测能力。此外,YOLOv8与DCN的结合在实时视频处理、自动驾驶等领域具有广泛的应用前景。
总之,DCN的引入为YOLOv8在复杂目标检测任务中的表现提供了新的提升方向,尤其在小目标、密集场景和变形物体检测中,具有明显优势。未来,随着计算资源的优化和算法的进一步发展,YOLOv8结合DCN的方案将在更多实际应用中得到广泛部署。

相关文章:
适用于复杂背景的YOLOv8改进:基于DCN的特征提取能力提升研究
文章目录 1. YOLOv8的性能瓶颈与改进需求1.1 YOLOv8的优势与局限性1.2 可变形卷积(DCN)的优势 2. DCN在YOLOv8中的应用2.1 DCN的演变与YOLOv8的结合2.2 将DCN嵌入YOLOv8的结构中2.2.1 DCNv1在YOLOv8中的应用2.2.2 DCNv2与DCNv3的优化 2.3 实验与性能对比…...
Redis_基础
Redis 命令启动、配置密码 Redis是绿色软件,所以直接解压就能使用 配置文件为:redis.windows.conf 启动redis 服务: redis-server.exe redis.windows.conf启动客户端: redis-cli.exe默认没有给Redis配置密码,所以在…...
linux查看程序占用的本地端口
ss是Socket Statistics的缩写,用来替代旧的netstat工具,功能更强大,执行更快。它用于查看系统的网络连接情况,包括TCP、UDP等协议的信息。 一. 命令解析: sudo ss -tulwnpss (Socket Statistics):替代 ne…...
Linux阿里云服务器安装RocketMQ教程
本文为个人云服务器上搭建RocketMQ教程,用于帮助大家降低安装学习成本,提高学习效率。本人在服务器上(我用的是阿里云服务器)安装MQ时遇到了大大小小的问题,因此在最终完成部署后,希望能总结一个教程&#…...
【JavaEE进阶】MyBatis入门
目录 🌴前言 🌲什么是MyBatis? 🌳准备工作 🚩创建工程 🚩配置数据库连接字符串 🚩数据准备 🚩编写持久层代码 🍃单元测试 🌴前言 在应⽤分层学习时,我们了解到…...
Docker 镜像加速器配置指南
Docker 镜像加速器配置指南 2025-02-17 23:00 Linux : Aliyun ECS 服务器 背景问题 在国内,由于网络环境的不稳定,直接从 Docker Hub 拉取镜像的速度可能会很慢,有时甚至会失败。即使配置了官方的阿里云镜像加速器,也可能因为…...
LeetCode-524. 通过删除字母匹配到字典里最长单词
1、题目描述: 给你一个字符串 s 和一个字符串数组 dictionary ,找出并返回 dictionary 中最长的字符串,该字符串可以通过删除 s 中的某些字符得到。 如果答案不止一个,返回长度最长且字母序最小的字符串。如果答案不存在&#x…...
工作-述职笔记
文章目录 述职报告量化指标比较好的想法角色的基本要求项目不好做?减少人员介入的内容知识库 wiki 博客等(公司不一定允许) 点评培训的重要性 很少写关于工作的笔记,但是接触的东西越多,发现有很多知识点以及需要学习的内容。 所以整理下吧。 述职不是小…...
前端VUE+后端uwsgi 环境搭建
1整体架构 请求流程the web clinet--the web server->the socket->uwsgi--django 第一级的nginx并不是必须的,uwsgi完全可以完成整个的和浏览器交互的流程;在nginx上加上安全性或其他的限制,可以达到保护程序的作用;uWSGI本…...
2025软件测试面试题大全(78题含答案解析)
1、什么是兼容性测试?兼容性测试侧重哪些方面? 参考答案: 兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。 兼容的类型,如果细分的话,有平台的兼容…...
微信小程序地图map全方位解析
微信小程序地图map全方位解析 微信小程序的 <map> 组件是一个功能强大的工具,可以实现地图展示、定位、标注、路径规划等多种功能。以下是全方位解析微信小程序地图组件的知识点: 一、地图组件基础 1. 引入 <map> 组件 在页面的 .wxml 文…...
【Bert】自然语言(Language Model)入门之---Bert
every blog every motto: Although the world is full of suffering, it is full also of the overcoming of it 0. 前言 对bert进行梳理 论文: BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 时间:…...
实时股票行情接口与WebSocket行情接口的应用
实时股票行情接口与WebSocket行情接口的应用 实时股票行情接口是量化交易和投资决策的核心工具之一,行情接口的种类和功能也在不断扩展。介绍几种常见的行情接口,包括实时股票行情接口、Level2行情接口、WebSocket行情接口以及量化行情接口,…...
.NET版PDF处理控件Aspose.PDF教程:在 C# 中将 TIFF 文件转换为 PDF
将TIFF文件转换为PDF文档在各个行业中都是必不可少的。许多企业需要将文档转换为存档、共享或打印。TIFF 文件通常用于图像,而 PDF 是文档共享的标准。将 TIFF 文件转换为 PDF 可确保跨不同平台的兼容性和易用性。在这篇博文中,我们将探讨如何使用 Aspos…...
本地搭建小型 DeepSeek 并进行微调
本文将指导您在本地搭建一个小型的 DeepSeek 模型,并进行微调,以处理您的特定数据。 1. 环境准备 Python 3.7 或更高版本 PyTorch 1.8 或更高版本 CUDA (可选,用于 GPU 加速) Git 2. 克隆 DeepSeek 仓库 bash 复制 git clone https://github.com/deepseek-ai/deepseek.g…...
备战蓝桥杯 Day4 差分
差分(修改区间后查询) 1.要点 a[0]0; for(int i1;i<n;i){diff[i]a[i]-a[i-1];//构建差分数组 } //原数组a区间[l,r]全部加上x diff[l]x;//还原a数组[l,n]全部加上x diff[r1]-x;//还原a数组[r1,n]全部减去x for(int i1;i<n;i){a[i]a[i-1]diff[i]; }实现多次修改完后多次…...
解决华硕主板的Boot界面无法设置M.2的系统启动盘问题
一、问题描述 当我们的华硕主板电脑开机后,发现电脑无法正常进入Windows系统界面,直接显示PXE网络网络信息;且知道我们进入到BIOS界面也无法找到选择系统盘,界面只显示【UEFI:PXE IP4 Intel(R) Ethernet】、【UEFI:PXE IP6 Intel(…...
【Arxiv 大模型最新进展】PEAR: 零额外推理开销,提升RAG性能!(★AI最前线★)
【Arxiv 大模型最新进展】PEAR: 零额外推理开销,提升RAG性能!(★AI最前线★) 🌟 嗨,你好,我是 青松 ! 🌈 自小刺头深草里,而今渐觉出蓬蒿。 NLP Github 项目…...
硬件学习笔记--46 电能表影响量试验梳理
目录 1.电流和电压电路中的谐波影响试验 1)电流和电压电路中谐波——第5次谐波试验 2)电流和电压电路中谐波——方顶波波形试验 3)电流和电压电路中谐波——尖顶波波形试验 4)电流和电压电路中谐…...
Linux-C/C++《C/9、信号:基础》(基本概念、信号分类、信号传递等)
本章将讨论信号,虽然信号的基本概念比较简单,但是其所涉及到的细节内容比较多,所以本章篇幅也会相对比较长。事实上,在很多应用程序当中,都会存在处理异步事件这种需求,而信号提供了一种处理异步事件的方法…...
【工具插件类教学】实现运行时2D物体交互的利器Runtime2DTransformInteractor
目录 编辑 1. 插件核心功能 1.1 基础变换操作 1.2 高级特性 2. 安装与配置 2.1 导入插件 2.2 配置控制器参数 2.3 为物体添加交互功能 3. 使用示例 3.1 基础操作演示 3.2 多选与批量操作 3.3 自定义光标与外观 4. 高级配置技巧 4.1 动态调整包围框控件尺寸 4.…...
OpenCV形态学操作
1.1. 形态学操作介绍 初识: 形态学操作是一种基于图像形状的处理方法,主要用于分析和处理图像中的几何结构。其核心是通过结构元素(卷积核)对图像进行扫描和操作,从而改变图像的形状和特征。例如: 腐蚀&…...
【Ubuntu】GPU显存被占用,但显示没有使用GPU的进程
文章目录 一、问题描述二、解决方案2.1 寻找问题进程2.2 尝试杀死相关进程2.3 投放核弹,一键全杀2.4 再次查看GPU使用情况 参考资料 一、问题描述 今天使用服务器的时候发现gpu被占了很多内存,但是使用 nvidia-smi 命令并没有发现占这么多显存的进程&am…...
什么是pytest.ini及如何在Pytest中应用以提升配置效率
关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理,构建成功的基石 在自动化测试工作之前,你应该知道的10条建议 在自动化测试中,重要的不是工具 当通过控制台运行Pytest测试时你必须记住记录输出、运行时环境变量、设置超时时间、…...
通义灵码AI程序员
通义灵码是阿里云与通义实验室联合打造的智能编码辅助工具,基于通义大模型技术,为开发者提供多种编程辅助功能。它支持多种编程语言,包括 Java、Python、Go、TypeScript、JavaScript、C/C、PHP、C#、Ruby 等 200 多种编码语言。 通义灵码 AI…...
以ChatGPT为例解析大模型背后的技术
目录 1、大模型分类 2、为什么自然语言处理可计算? 2.1、One-hot分类编码(传统词表示方法) 2.2、词向量 3、Transformer架构 3.1、何为注意力机制? 3.2、注意力机制在 Transformer 模型中有何意义? 3.3、位置编…...
Git中revert和reset区别?
git revert 和 git reset 都用于撤销 Git 中的提交,但它们的作用和使用场景不同: git revert: 作用:创建一个新的提交,撤销指定的提交内容。使用场景:用于“回滚”已推送到远程仓库的提交。这种方法不会改变提交历史&a…...
使用docker部署NextChat,使用阿里云、硅机流动、deepseek的apikey
1、首先使用安装好了docker的服务器拉取NextChat项目 [rootxx docker]# docker pull yidadaa/chatgpt-next-web 2、启动docker容器,基于不同平台 以下的OPENAI_API_KEY参数替换成自己的就行,启动后访问地址:http://[服务器ip]:3000/ # 硅机…...
Redis-缓存过期和内存淘汰
缓存过期&&内存淘汰 过期删除如何设置过期时间判断key是否过期过期删除策略有哪些定时删除惰性删除定期删除Redis过期删除策略 内存淘汰策略如何设置Redis最大运行内存Redis内存淘汰策略有哪些不进行数据淘汰进行数据淘汰的策略设置了过期时间的数据中进行淘汰所有数据…...
测试 FreeSWITCH 的 sip_invite_route_uri
bgapi originate sofia/external/123461.132.230.73:5161 &echo 得到的是: 172.17.129.123:5088 -> 61.132.230.73:5161 INVITE sip:123461.132.230.73:5161 SIP/2.0 Via: SIP/2.0/UDP 8.141.11.8:5088;rport;branchz9hG4bKcagQFyUgF21NS Max-Forwards: 70 …...
