当前位置: 首页 > news >正文

从0开始深度学习(35)——YOLO V5原理详解

以YOLO V5s为例,介绍YOLO V5的网络结构,以及其中具体的功能模块

1 YOLO V5的整体网络结构

在这里插入图片描述
YOLO V5网络结构分为四个部分:

  1. 输入端: 输入端负责对输入图像进行预处理,包括数据增强、锚框计算等。
  2. 骨干网络(Backbone): Backbone是网络的主干部分,用于提取图像中的特征。
  3. 颈部网络(Neck): 融合Backbone提取的特征,增强网络对目标的位置和大小信息的敏感性。
  4. 头部(Head): 负责对Neck输出的特征进行预测,包括目标的类别和边界框的位置。

2 输入端

输入端会把图片处理成需要的尺寸,并进行归一化操作,然后进行批处理等操作。YOLO V5输入端有三种创新操作:Mosaic数据增强、自适应锚框计算、自适应图片缩放

2.1 Mosaic数据增强

本方法就是把4张图片,通过随机缩放、随机裁减、随机排布的方式进行拼接,具体步骤如下:

  1. 随机读取四张图片
  2. 分别对四张图片进行翻转(对原始图片进行左右的翻转)、缩放(对原始图片进行大小的缩放)、色域变化(对原始图片的明亮度、饱和度、色调进行改变)等操作
  3. 将四张图片组合到一张图片中,并筛除掉一些没用的框。

如下图所示:
在这里插入图片描述
该方法极大的丰富了检测物体的背景,并且在标准化计算的时候,会同时计算了四张图片的数据。

2.2 自适应锚框计算

Yolov5 中并不是只使用默认锚定框,在开始训练之前会对数据集中标注信息进行核查,计算此数据集标注信息针对默认锚定框的最佳召回率。当最佳召回率大于或等于0.98,则不需要更新锚定框;如果最佳召回率小于0.98,则需要重新计算符合此数据集的锚定框。

重新计算符合此数据集标注框的锚定框,是利用 kmean聚类方法实现的。

2.3 自适应图片缩放

传统的缩放方式都是按照原始比例缩放图像并用黑色填充至目标大小,由于实际的使用中很多图片的宽高比不同,因此缩放填充之后,两端的黑边大小不一定相同,而如果填充过多,则会存在大量的信息冗余,从而影响整个算法的推理速度。

Yolov5算法则提出Letterbox方法,能够自适应的添加最少的黑边到缩放之后的图片中,这样推理时计算量减少,目标检测速度也会得到提升,步骤如下:

  1. 计算缩放比例。例如原始缩放尺寸为416x416,都除以原始图像尺寸,可以得到0.52和0.69两个缩放系数,选择较小系数0.52。
    在这里插入图片描述

  2. 计算缩放后的尺寸。原始图片的长宽都乘以最小缩放系数0.52,宽变成了416,高变为312。
    在这里插入图片描述

  3. 计算黑边填充数值。将416-312=104,得到原本需要填充的高度。
    在这里插入图片描述

注意: :缩减黑边方式仅在模型推理时使用,用于提高目标检测及推理速度。训练时仍采用传统填充方式,即缩放到416x416大小

此处参考的Yolov5原理详细解析!一文看懂。

3 骨干网络(Backbone)

该结构负责提取各个尺度的的特征,增强网络对目标的位置和大小信息的敏感性,骨干网络结构如下:
在这里插入图片描述

下面分别介绍这些功能模块。

3.1 Focus模块

在不增加额外计算成本的情况下,增强模型对输入图像的理解能力,处理步骤如下:

  1. 切片(Slicing): Focus模块将输入图像分割成更小的块,每个子区域包含了原始图像的一部分信息。
  2. 重排(Rearrangement): 这些子区域的信息被重新排列组合到一起,会形成一个新的特征图。
  3. 连接(Concatenation): 把经过处理后的特征图连接在一起,形成一个更加丰富的输入表示,供后续的网络层进一步处理。
  4. 自定义卷积(CBL模块): 通过CBL模块操作,最终得到了没有信息丢失情况下的二倍下采样特征图。

在这里插入图片描述

下图展示了切片、重排、组合操作的结果:
在这里插入图片描述
原始的 640 × 640 × 3 640 × 640 × 3 640×640×3的图像输入Focus结构,采用切片操作,先变成 320 × 320 × 12 320 × 320 × 12 320×320×12的特征图,然后进行拼接(Concat),再经过一次步长为2的自定义卷积操作(CBL模块),最终变成 320 × 320 × 32 320 × 320 × 32 320×320×32的特征图。

3.2 CBL模块(自定义卷积操作)

负责特征提取和非线性映射,CBL模块的处理步骤如下:

  1. 卷积操作: 负责从输入数据中提取特征。
  2. 批量归一化操作: 对卷积层的输出计算均值和方差,并用它们来标准化该层的输入,有助于加快训练速度、提高模型收敛性并减少过拟合的风险。
  3. Leaky_relu激活函数: 引入非线性因素,得模型能够学习到复杂的映射关系。

在这里插入图片描述

3.3 CSP1_x模块

CSP1模块是基于CSPNet(Cross Stage Partial Network)设计的一种结构,它旨在通过更高效的计算资源利用来提升模型的性能。CSPNet 的核心思想是在不显著增加计算成本的情况下,增强特征表达能力,从而提高检测精度。
在这里插入图片描述

其中,残差组件结构如下图,主要作用是解决或缓解深度神经网络训练过程中遇到的退化问题(Degradation Problem),即随着网络层数增加,模型准确率反而下降的问题。
在这里插入图片描述

CSP1_1就代表有一个是含有1个残差组件的CSP1组件,CSP1_3就代表有一个是含有3个残差组件的CSP1组件,

3.4 SSP模块

该模块是何恺明提出的Spatial Pyramid Pooling(空间金字塔池化),传统的 CNN 在最后几层通常使用固定尺寸的输入(例如 224x224),这意味着所有输入图像必须被缩放到相同的尺寸。然而,这种做法可能会导致信息丢失或引入不必要的变形。相比之下,SPP 可以接受任意尺寸的输入图像,并通过以下步骤将其转换为固定长度的特征表示:

  1. 多级划分: 将最后一个卷积层生成的特征图划分为多个不同尺度的空间区域。这些区域可以按照金字塔结构组织,比如分成 1x1、2x2、4x4等等不同数量的块。每个级别的划分代表了不同尺度的感受野
  2. 池化操作: 对每个划分后的区域应用最大池化(Max Pooling)或其他类型的池化操作。这样可以从每个区域内提取出最具代表性的特征。由于每个级别都有固定的池化区域数目,所以无论原始输入图像的尺寸如何,最终都会得到相同数量的池化结果。
  3. 特征拼接: 将所有级别池化后的特征向量进行拼接,形成一个单一的长向量作为整个图像的特征表示。这个特征向量随后可以被送入全连接层来进行分类或其他任务。

YOLO V5 模型中的SSP操作步骤如下:

  1. 自定义卷积操作: CBL模块 。
  2. 最大池化: 分别进行 13 × 13 13\times13 13×13 9 × 9 9\times9 9×9 5 × 5 5\times5 5×5最大池化,再和原来的组合成新的特征。
  3. 自定义卷积操作: CBL模块。

在这里插入图片描述

4 颈部网络(Neck)

负责融合Backbone提取的特征,增强网络对目标的位置和大小信息的敏感性。,结构如下如下:
在这里插入图片描述

4.1 CSP2_x模块

CSP2_x也是基于CSPNet(Cross Stage Partial Network)设计的一种结构,作用和CSP1_x类似,结构图如下:
在这里插入图片描述

4.2 上采样

YOLOv5 默认采用的是 最近邻插值(Nearest neighbor interpolation) 作为其上采样方法,尝试其他类型的上采样方法,例如双线性插值(Bi-linear interpolation)、双立方插值(Bi-cubic interpolation)、三线性插值(Trilinear interpolation),甚至是转置卷积(Transposed Convolution, 也称为反卷积)。最近邻插值法效果如下图所示:
在这里插入图片描述

4.3 FPN(Feature Pyramid Networks)、PAN(Path Aggregation Network)

整个Neck网络采用了特征金字塔网络FPN和路径聚合网络PAN结构,实现了多尺度特征融合,效果步骤图如下:
在这里插入图片描述

  1. FPN 结构通过自顶向下进行上采样,使得底层特征图包含更强的图像强语义信息
  2. PAN 结构自底向上进行下采样,使顶层特征包含图像位置信息
  3. 两个特征最后进行融合,使不同尺寸的特征图都包含图像语义信息和图像特征信息,保证了对不同尺寸的图片的准确预测。

5 头部(Head)

负责对Neck输出的特征进行预测,包括目标的类别和边界框的位置,结构如下:
在这里插入图片描述

5.1 损失函数

损失函数由三部分组成:

  • 分类损失(Classes loss): 采用BCE loss,只计算正样本的分类损失。
  • OBJ置信度损失(ObJectness loss): 采用BCE loss,计算的是所有样本的obj损失。注意这里的OBJ指的是网络预测的目标边界框与GT Box的CIoU。
  • 定位损失(Location loss): 采用CIoU loss,只计算正样本的定位损失。

L o s s = λ L c l s + λ L o b j + λ L l o c Loss = \lambda L_{cls} + \lambda L_{obj} + \lambda L_{loc} Loss=λLcls+λLobj+λLloc

可以看到会出三个预测特征层,针对不同的层,OBJ置信度损失采用不同的权重。

  • 针对预测小目标的预测特征层采用的权重是4.0
  • 针对预测中目标的预测特征层采用的权重是1.0
  • 针对预测大目标的预测特征层采用的权重是0.4

5.3 匹配样本方式

  1. 根据GT Box与对应的Anchor Templates模板的高宽比例(0.25~4)进行匹配。
  2. 栅格左上角点距离GT中心点在( − 0.5 , 1.5 ) 范围,它们对应的Anchor都能回归到GT的位置,这样会让正样本的数量得到大量的扩充。

6 完整的模型结构

在这里插入图片描述

相关文章:

从0开始深度学习(35)——YOLO V5原理详解

以YOLO V5s为例,介绍YOLO V5的网络结构,以及其中具体的功能模块 1 YOLO V5的整体网络结构 YOLO V5网络结构分为四个部分: 输入端: 输入端负责对输入图像进行预处理,包括数据增强、锚框计算等。骨干网络(Ba…...

高级数据库模式设计与性能优化

数据库模式设计不仅仅是创建表和字段那么简单,还需要考虑数据的一致性、性能优化、安全性和可扩展性等多个方面。本文将深入探讨数据库模式设计的高级技巧,并提供一个实际的例子来展示如何在项目中应用这些技巧。 1. 数据库模式设计的高级技巧 1.1 多对…...

【开源免费】基于SpringBoot+Vue.JS图书进销存管理系统(JAVA毕业设计)

博主说明:本文项目编号 T 082 ,文末自助获取源码 \color{red}{T082,文末自助获取源码} T082,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析…...

监控易助力扩容1000个点位

铁路交通作为城市发展的重要动脉,其IT系统的稳定运行对于保障铁路运输的安全与高效至关重要。近期,四川某铁路用户为了进一步提升IT基础资源的监控和管理水平,决定对现有的运维体系进行扩容升级,引入了监控易一体化运维软件&#…...

克服大规模语言模型限制,构建新的应用方法——LangChain

大模型 大模型的出现和落地开启了人工智能(AI)新一轮的信息技术革命,改变了人们的生 活方式、工作方式和思维方式。大模型的落地需要数据、算力和算法三大要素。经过几 年发展,大模型的数据集(包括多模态数据集)制作已经形成了规约,Meta、Go…...

MacOS 下 pico/pico2 学习笔记

1.安装开发工具 cmake brew install cmakeopenocd brew install openocdarm-none-eabi-gcc 用 brew 安装的版本会出现如下错误: arm-none-eabi-gcc: fatal error: cannot read spec file nosys.specs: No such file or directory用 arm 官方的版本没有问题。 cd …...

Leetcode 每日一题 1.两数之和

目录 问题描述 示例 示例 1 示例 2 示例 3 提示 解决方案 算法思路 过题图片 代码实现 复杂度分析 注意事项 题目链接 结论 问题描述 给定一个整数数组 nums 和一个目标值 target,请你找出数组中和为目标值的那两个整数,并返回它们的数组下…...

柯桥职场商务英语生活英语口语培训外贸纺织口语学习

"等一下"该怎么说? 大家应该都知道,wait a moment是一个祈使句,祈使句就难免带有命令的口吻,还有点不耐烦。 如果你把“等一下”说成wait a moment,外国人多半认为你是个傲慢无礼的人。毕竟在他们看来wait a…...

ElasticSearch如何做性能优化?

大家好,我是锋哥。今天分享关于【ElasticSearch如何做性能优化?】面试题。希望对大家有帮助; ElasticSearch如何做性能优化? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Elasticsearch 中,性能优化是…...

深度学习常用损失函数介绍

均方差损失(Mean Square Error,MSE) 均方误差损失又称为二次损失、L2损失,常用于回归预测任务中。均方误差函数通过计算预测值和实际值之间距离(即误差)的平方来衡量模型优劣。即预测值和真实值越接近&…...

PSHuman 部署笔记

目录 github地址: 依赖项: xformers安装: 解决方法,安装xformers smpl_data下载: 推理步骤: SMPLDataset 香港科技大学提出了一种叫PSHuman的新框架。这个方法利用了一个多视角扩散模型的“先验知识…...

怎么样能使Ubuntu的文件浏览器显示当前目录的路径,而不是只显示一个文件名?

默认情况下Ubuntu的文件浏览器是只显示当前目录的目录名的,这很不便我们查看路径或直接利用路径进行定位,那么怎么样能使Ubuntu的文件浏览器显示当前目录的路径呢? 两种方法: 第1种-临时方法 按下快捷键 Ctrl L,导航…...

自回归模型(AR )

最近看到一些模型使用了自回归方法,这里就学习一下整理一下相关内容方便以后查阅。 自回归模型(AR ) 自回归模型(AR )AR 模型的引入AR 模型的定义参数的估计方法模型阶数选择平稳性与因果性条件自相关与偏自相关函数优…...

工具推荐-js爬取工具

现在测试方向都偏向于从js中的接口来入手找到可以进的点,关于快速扫描js文件来发现敏感接口的工具有很多,下面的jjjjs就是其一 项目地址: GitHub - ttstormxx/jjjjjjjjjjjjjs: 爬网站JS文件,自动fuzz api接口,指定api接口&#x…...

CSS学习记录05

CSS外边距 CSS margin属性用于在任何定义的边框之外,为元素周围创建空间。通过CSS,您可以完全控制外边距,一些属性可用于设置元素每侧(上、右、下和左)的外边距。 Margin - 单独的边 CSS拥有用于为元素的每一侧指定…...

差异基因富集分析(R语言——GOKEGGGSEA)

接着上次的内容,上篇内容给大家分享了基因表达量怎么做分组差异分析,从而获得差异基因集,想了解的可以去看一下,这篇主要给大家分享一下得到显著差异基因集后怎么做一下通路富集。 1.准备差异基因集 我就直接把上次分享的拿到这…...

ISO 45001 职业健康安全管理体系的实施具有多方面的重要意义

对企业的意义 提升企业形象:实施 ISO 45001 体系体现了企业对员工职业健康安全的重视和承诺,有助于树立良好的企业形象,增强企业在社会公众、客户、投资者等方面的认可度和美誉度,提升企业的市场竞争力。增强员工满意度和忠诚度&a…...

HarmonyOS-中级(三)

文章目录 合理使用动画和转场Web组件和WebView给应用添加通知和提醒 🏡作者主页:点击! 🤖HarmonyOS专栏:点击! ⏰️创作时间:2024年12月08日12点12分 合理使用动画和转场 动效场景设计&#x…...

报错:Invalid HTTP method: PATCH executing PATCH http://XXX.XXX

分析: 问题在于我使用feignclietn调用PatchMapping方法时,发送的 PATCH 请求方法出现了不匹配的情况。虽然说springboot自带了RESTful风格的方法(GET、POST、PUT、DELETE、PATCH,但是PATCH相较于前几个来说算是新的HTTP方法&#…...

Open WebUI项目源码学习记录(从0开始基于纯CPU环境部署一个网页Chat服务)

感谢您点开这篇文章:D,鼠鼠我是一个代码小白,下文是学习开源项目Open WebUI过程中的一点笔记记录,希望能帮助到你~ 本人菜鸟,持续成长,能力不足有疏漏的地方欢迎一起探讨指正,比心心&#xff5e…...

WPF Prism 01-BootstrapperShell

Prism介绍 Prism 是一个用于在 WPF、.NET MAUI、Uno 平台和 Xamarin Forms 中构建松耦合、可维护和可测试的 XAML 应用程序的框架。每个平台都有单独的发布版本,并且这些版本将在独立的开发时间线上进行开发。Prism 提供了一组设计模式的实现,这些模式有…...

在Ubuntu22.04 jammy下用qemu模型riscv32环境装鸿蒙(未完成,待续)

在使用实体ESP32C3 安装鸿蒙失败后,就是这个:完全按照手册win10里装Ubuntu 虚拟机然后编译ESP32(主要是想针对ESP32C3和S3)开发板的鸿蒙系统(失败)-CSDN博客转向用qemu模拟环境装鸿蒙 学习手册riscv32_virt/README_zh.md OpenHar…...

第2章:CSS基本语法 --[CSS零基础入门]

CSS(层叠样式表,Cascading Style Sheets)是用来描述HTML或XML(包括各种XML:SVG, MathML 或 XHTML)等文档的外观和格式的语言。以下是CSS的基本语法: 1.选择器 1.元素选择器 元素选择器是基于HTML标签名称来选择元素的。当你使用元素选择器时,你是在告诉浏览器对页面…...

win11 恢复任务栏copilot图标, 亲测有效

1、修改C:\Windows\System32\IntegratedServicesRegionPolicySet.json,解除中国不能使用copilot的限制。 使用Notepad搜索copilot全文搜索,将下面两处的“CN,”删除,删除后如下: {"$comment": "Show Copilot on t…...

Python爬虫实战:抓取拼多多商品详情数据(基于pdd.item_get接口)

在当前的电商市场中,拼多多以其独特的拼团模式和优惠价格吸引了大量用户,成为继淘宝、京东之后的又一大电商平台。对于数据分析和市场研究者来说,获取拼多多的商品详情数据显得尤为重要。本文将介绍如何使用Python爬虫技术,通过调…...

如何在x86模拟器和鸿蒙API9如何使用MQTT模块ohos_mqtt

目录 引言 安装失败的原因 如何编译so文件的x86_64版本 下载源代码 安装NDK 代码编译 安装MQTT软件包 避免MQTT软件包自动升级 设置libs 客户端程序的编写 运行测试 结语 参考文献 引言 在上周的博客(如何在鸿蒙API9和x86模拟器中使用MQTT-CSDN博客&am…...

VB.NET 从入门到精通:开启编程进阶之路

摘要: 本文全面深入地阐述了 VB.NET 的学习路径,从基础的环境搭建与语法入门开始,逐步深入到面向对象编程、图形用户界面设计、数据访问、异常处理、多线程编程以及与其他技术的集成等核心领域,通过详细的代码示例与理论讲解&…...

芝法酱学习笔记(1.3)——SpringBoot+mybatis plus+atomikos实现多数据源事务

一、前言 1.1 业务需求 之前我们在讲解注册和登录的时候,有一个重要的技术点忽略了过去。那就是多数据源的事务问题。 按照我们的业务需求,monitor服务可能涉及同时对监控中心数据库和企业中心数据库进行操作,而我们希望这样的操作在一个事…...

图像处理插件:让小程序焕发视觉新生的秘密武器

在小程序开发中,图像处理是一个重要的环节,它涉及到图片的加载、显示、裁剪、压缩等多个方面。为了简化这一复杂过程,开发者通常会使用图像处理插件。这些插件不仅提供了丰富的图像处理功能,还封装了底层的图像操作逻辑&#xff0…...

力扣刷题TOP101: 27.BM34 判断是不是二叉搜索树

目录: 目的 思路 复杂度 记忆秘诀 python代码 目的: 给定一个二叉树根节点,请判断这棵树是不是二叉搜索树。 二叉搜索树满足每个节点的左子树上的所有节点均小于当前节点且右子树上的所有节点均大于当前节点。 思路 什么是二叉搜索树&am…...

Linux图形化工具推荐

1、MobaXterm MobaXterm Xserver with SSH, telnet, RDP, VNC and X11 - DownloadFree X server for Windows with tabbed SSH terminal, telnet, RDP, VNC and X11-forwarding - Downloadhttps://mobaxterm.mobatek.net/download.html 2、FinalShell FinalShell SSH工具,服…...

蓝队基础:企业网络安全架构与防御策略

声明 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,此文章为对视频内容稍加整理发布,文章所提到的网站以及内容,只做学习交流,其他…...

数据结构:栈

什么是栈: 栈是一种特殊的线性表,仅能在线性表的一端操作,栈顶允许操作,栈底不允许操作。 栈的特点是:先进后出,或者说是后进先出,从栈顶放入元素的操作叫入栈,取出元素叫出栈。 栈…...

tcp_recvmsg 函数

tcp_recvmsg 函数是 Linux 内核 TCP 栈的一部分,它主要用于处理从 TCP socket 接收数据的过程。这个函数的主要任务是从 TCP 接收队列中提取数据,并将这些数据拷贝到用户空间提供的缓冲区中。 以下是 tcp_recvmsg 函数的一般工作流程和功能解释: 函数签名和参数 int tcp_re…...

《数据结构》(应用题)

历年真题(09~24) 2009 最短路径(Dijkstra青春版) 【2009统考真题】带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径。假设从初始顶点…...

阿里内部正式开源“Spring Cloud Alibaba (全彩小册)”

年轻的毕业生们满怀希望与忐忑,去寻找、竞争一个工作机会。已经在职的开发同学,也想通过社会招聘或者内推的时机争取到更好的待遇、更大的平台。 然而,面试人群众多,技术市场却相对冷淡,面试的同学们不得不面临着 1 个…...

LeetCode题练习与总结:根据字符出现频率排序--451

一、题目描述 给定一个字符串 s ,根据字符出现的 频率 对其进行 降序排序 。一个字符出现的 频率 是它出现在字符串中的次数。 返回 已排序的字符串 。如果有多个答案,返回其中任何一个。 示例 1: 输入: s "tree" 输出: "eert" …...

Excel VBA学习系列汇总20241205

整理几年工作中,实用VBA代码,绝对干货! 方便自己查询,方便大家学习, 有缘人可复制使用,记得分享给大家免费学习哦! 序历史文章1新学期开始,如何新学期开始,如何按成绩名次…...

给el-table表头添加icon图标,以及鼠标移入icon时显示el-tooltip提示内容

在你的代码中,你已经正确地使用了 el-tooltip 组件来实现鼠标划过加号时显示提示信息。el-tooltip 组件的 content 属性设置了提示信息的内容,placement 属性设置了提示信息的位置。 你需要确保 el-tooltip 组件的 content 属性和 placement 属性设置正…...

基于LLM智能问答系统【阿里云:天池比赛】

流程: 1、分别识别问题及提供的资料文件中的公司名实体,有公司名的走语义检索,无公司名的走结构化召回 2、结构化召回:Qwen根据问题生成sql,执行sql获取结果数值,把结果数值与问题给到Qwen生成最终结果 …...

k8s-Informer概要解析(2)

Client-go 主要用在 k8s 控制器中 什么是 k8s Informer Informer 负责与 kubernetes APIServer 进行 Watch 操作,Watch 的资源,可以是 kubernetes 内置资源对象,也可以 CRD。 Informer 是一个带有本地缓存以及索引机制的核心工具包&#x…...

Leetcode 3376. Minimum Time to Break Locks I

Leetcode 3376. Minimum Time to Break Locks I 1. 解题思路2. 代码实现 题目链接:3376. Minimum Time to Break Locks I 1. 解题思路 这一题我最开始的思路走的是贪婪算法的路子,优先走X的增长,不过很不幸失败了,后面还是暴力…...

介绍8款开源网络安全产品

01 HFish蜜罐 HFish是一款开源的蜜罐系统,用于模拟各种网络服务和应用,以吸引潜在的黑客攻击。它能够记录攻击尝试并收集攻击者的信息,从而帮助网络管理员识别潜在的威胁。HFish支持多种协议和服务,包括HTTP、FTP、SSH等&#…...

vue2面试题|[2024-12-5]

开题答辩终于结束了,又要开始我的前端面试学习啦!!! 1.v-model双向绑定原理 class Vue{constructor(options){this.$options optionsthis.$watchEvent {}if(typeof options.beforeCreate function){options.beforeCreate.bind…...

共筑数字安全防线,2024开源和软件安全沙龙即将启幕

随着数字化转型进程的加快以及开源代码的广泛应用,开源凭借平等、开放、协作、共享的优秀创作模式,逐渐成为推动数字技术创新、加速传统行业转型升级的重要模式。但随着软件供应链日趋复杂多元,使得其安全风险不断加剧,针对软件供…...

目标跟踪领域经典论文解析

亲爱的小伙伴们😘,在求知的漫漫旅途中,若你对深度学习的奥秘、JAVA 、PYTHON与SAP 的奇妙世界,亦或是读研论文的撰写攻略有所探寻🧐,那不妨给我一个小小的关注吧🥰。我会精心筹备,在…...

SQL DQL数据查询语言(后续)

SQL DQL数据查询语言(后续) 1.子查询 在查询语句中的WHERE条件子句中,又嵌套了另外一个查询语句在返回列中嵌套一个查询 where条件中嵌套 要求:查询课程为《高等数学-2》且分数不小于80分的学生的学号和姓名select a.StudentNo,a…...

Gitee配置SSH公钥

采用SSH协议同步Git仓库代码的好处就是高效。在配置好SSH公钥后,不需要每次操作都要输入用户名和密码(主要针对命令行来说)。 以我个人项目为例。 生成 SSH 公钥 1. 通过命令 ssh-keygen 生成 SSH Key: ssh-keygen -t ed25519…...

机器学习——感知机模型

文章目录 前言1.感知机模型介绍1.1基本概念1.2数学表达1.3几何解释1.4优缺点 2.二分类应用2.1应用介绍2.2准备数据集2.2.1环境检查2.2.2数据集介绍2.2.3获取数据2.2.4划分数据集 2.3可视化训练集2.4训练过程2.4.1首轮梯度下降2.4.2多轮梯度下降 2.5可视化分类结果2.6在验证集验…...

如何选择安全、可验证的技术?

澳大利亚信号局的澳大利亚网络安全中心 (ASD 的 ACSC) 发布了一份指导文件,题为《选择安全和可验证的技术》,旨在帮助组织在采购软件(专有或开源)、硬件(例如物联网设备)和云服务(SaaS、MSP 服务…...