教师可以做网站吗/推广手段
目录
yolov8导航
YOLOv8(附带各种任务详细说明链接)
引言
YOLOv8配置文件概览
yolov8.yaml
1. nc
2. scales
3. backbone
4. head
yolov8-seg.yaml
1. 参数部分
2. 骨架(Backbone)部分
3. 头部(Head)部分
关键区别
yolov8-cls.yaml
1. 参数部分
2. 骨架(Backbone)部分
3. 头部(Head)部分
关键区别
yolov8-pose.yaml
1. 参数部分
2. 骨架(Backbone)部分
3. 头部(Head)部分
关键区别
总结
yolov8导航
如果大家想要了解关于yolov8的其他任务和相关内容可以点击这个链接,我这边整理了许多其他任务的说明博文,后续也会持续更新,包括yolov8模型优化、sam等等的相关内容。
YOLOv8(附带各种任务详细说明链接)
引言
近年来,YOLO(You Only Look Once)系列在目标检测领域取得了巨大成功。YOLOv8,作为该系列的最新成员,以其卓越的性能和灵活的配置受到广泛关注。今天,我们将深入探讨YOLOv8的配置文件(.yaml
),这对于理解模型的内部工作机制至关重要。
YOLOv8配置文件概览
YOLOv8的配置文件定义了模型的关键参数和结构,包括类别数、模型尺寸、骨架(backbone)和头部(head)结构。这些配置决定了模型的性能和复杂性。
yolov8.yaml
# Ultralytics YOLO 🚀, AGPL-3.0 license
# YOLOv8目标检测模型,具有P3-P5输出。使用示例请参见 https://docs.ultralytics.com/tasks/detect# Parameters
nc: 80 # 类别数目scales: # 模型复合缩放常数,例如 'model=yolov8n.yaml' 将调用带有 'n' 缩放的 yolov8.yaml# [depth, width, max_channels]n: [0.33, 0.25, 1024] # YOLOv8n概览:225层, 3157200参数, 3157184梯度, 8.9 GFLOPss: [0.33, 0.50, 1024] # YOLOv8s概览:225层, 11166560参数, 11166544梯度, 28.8 GFLOPsm: [0.67, 0.75, 768] # YOLOv8m概览:295层, 25902640参数, 25902624梯度, 79.3 GFLOPsl: [1.00, 1.00, 512] # YOLOv8l概览:365层, 43691520参数, 43691504梯度, 165.7 GFLOPsx: [1.00, 1.25, 512] # YOLOv8x概览:365层, 68229648参数, 68229632梯度, 258.5 GFLOPs# YOLOv8.0n骨架
backbone:# [from, repeats, module, args]- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4- [-1, 3, C2f, [128, True]]- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8- [-1, 6, C2f, [256, True]]- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16- [-1, 6, C2f, [512, True]]- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32- [-1, 3, C2f, [1024, True]]- [-1, 1, SPPF, [1024, 5]] # 9# YOLOv8.0n头部
head:- [-1, 1, nn.Upsample, [None, 2, 'nearest']]- [[-1, 6], 1, Concat, [1]] # 合并骨架P4- [-1, 3, C2f, [512]] # 12- [-1, 1, nn.Upsample, [None, 2, 'nearest']]- [[-1, 4], 1, Concat, [1]] # 合并骨架P3- [-1, 3, C2f, [256]] # 15 (P3/8-小)- [-1, 1, Conv, [256, 3, 2]]- [[-1, 12], 1, Concat, [1]] # 合并头部P4- [-1, 3, C2f, [512]] # 18 (P4/16-中)- [-1, 1, Conv, [512, 3, 2]]- [[-1, 9], 1, Concat, [1]] # 合并头部P5- [-1, 3, C2f, [1024]] # 21 (P5/32-大)- [[15, 18, 21], 1, Detect, [nc]] # 检测(P3, P4, P5)
在这个配置文件中,定义了多个不同尺寸的YOLOv8模型,每个模型具有不同的深度、宽度和通道数,以适应不同的计算能力和性能需求。骨架部分(backbone)定义了模型的基本结构,包括卷积层、自定义C2f模块和空间金字塔池化层。头部(head)则包括上采样、连接和检测层,负责将提取的特征用于最终的目标检测。
在yolov8.yaml
配置文件中,每个关键词都扮演着特定的角色,下面是对这些关键词及其含义的详细解释:
1. nc
- 含义:
nc
代表"number of classes",即模型用于检测的对象类别总数。 - 示例中的值:
80
,表示该模型配置用于检测80种不同的对象。
2. scales
- 含义:
scales
用于定义模型的不同尺寸和复杂度,它包含一系列缩放参数。 - 子参数:
n
,s
,m
,l
,x
表示不同的模型尺寸,每个尺寸都有对应的depth
(深度)、width
(宽度)和max_channels
(最大通道数)。
3. backbone
- 含义:
backbone
部分定义了模型的基础架构,即用于特征提取的网络结构。 - 关键组成:
[from, repeats, module, args]
表示层的来源、重复次数、模块类型和参数。Conv
表示卷积层,其参数指定了输出通道数、卷积核大小和步长。C2f
可能是一个特定于YOLOv8的自定义模块。SPPF
是空间金字塔池化层,用于在多个尺度上聚合特征。
4. head
- 含义:
head
部分定义了模型的检测头,即用于最终目标检测的网络结构。 - 关键组成:
nn.Upsample
表示上采样层,用于放大特征图。Concat
表示连接层,用于合并来自不同层的特征。C2f
层再次出现,可能用于进一步处理合并后的特征。Detect
层是最终的检测层,负责输出检测结果。
这部分,我这边会详细的叙述每一个关键词和节点的含义,以这个为标准,后续我这边概述其他.yaml的时候,我会更侧重描述他们跟这个的区别。
yolov8-seg.yaml
在详细说明yolov8-seg.yaml
配置文件之前,让我们先了解一下它是用于什么的。这个配置文件专门为YOLOv8-seg模型设计,这是一个用于实例分割的模型。实例分割是计算机视觉中的一项高级任务,不仅需要识别图像中的对象(如目标检测),还要为每个对象的每个像素提供精确的分类。
# Ultralytics YOLO 🚀, AGPL-3.0 license
# YOLOv8-seg instance segmentation model. For Usage examples see https://docs.ultralytics.com/tasks/segment# Parameters
nc: 80 # number of classes
scales: # model compound scaling constants, i.e. 'model=yolov8n-seg.yaml' will call yolov8-seg.yaml with scale 'n'# [depth, width, max_channels]n: [0.33, 0.25, 1024]s: [0.33, 0.50, 1024]m: [0.67, 0.75, 768]l: [1.00, 1.00, 512]x: [1.00, 1.25, 512]# YOLOv8.0n backbone
backbone:# [from, repeats, module, args]- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4- [-1, 3, C2f, [128, True]]- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8- [-1, 6, C2f, [256, True]]- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16- [-1, 6, C2f, [512, True]]- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32- [-1, 3, C2f, [1024, True]]- [-1, 1, SPPF, [1024, 5]] # 9# YOLOv8.0n head
head:- [-1, 1, nn.Upsample, [None, 2, 'nearest']]- [[-1, 6], 1, Concat, [1]] # cat backbone P4- [-1, 3, C2f, [512]] # 12- [-1, 1, nn.Upsample, [None, 2, 'nearest']]- [[-1, 4], 1, Concat, [1]] # cat backbone P3- [-1, 3, C2f, [256]] # 15 (P3/8-small)- [-1, 1, Conv, [256, 3, 2]]- [[-1, 12], 1, Concat, [1]] # cat head P4- [-1, 3, C2f, [512]] # 18 (P4/16-medium)- [-1, 1, Conv, [512, 3, 2]]- [[-1, 9], 1, Concat, [1]] # cat head P5- [-1, 3, C2f, [1024]] # 21 (P5/32-large)- [[15, 18, 21], 1, Segment, [nc, 32, 256]] # Segment(P3, P4, P5)
1. 参数部分
nc: 80
:表示模型用于检测的类别数目为80,与目标检测模型相同。scales
:定义模型的不同尺寸和复杂度,与目标检测模型相似,提供不同的缩放级别(n
,s
,m
,l
,x
)。
2. 骨架(Backbone)部分
- 这部分与
yolov8.yaml
非常相似,定义了模型的基础架构,包括多个卷积层(Conv)和自定义C2f层,用于特征提取。
3. 头部(Head)部分
- 在头部结构中,出现了上采样(
nn.Upsample
)、连接(Concat
)和C2f层,这与目标检测模型相似,用于处理和合并不同层次的特征。 - 最重要的区别在于最后的层:在实例分割模型中,使用的是
Segment
层而不是Detect
层。Segment
层的参数为[nc, 32, 256]
,其中nc
代表类别数,其余两个参数可能是特定于实例分割任务的配置,如用于分割的特定通道数和内部特征数量。
关键区别
- 任务类型:
yolov8-seg.yaml
针对的是实例分割任务,而yolov8.yaml
用于目标检测任务。实例分割不仅需要识别对象,还要为每个对象提供像素级的精确分类。 - 最后一层:
yolov8-seg.yaml
中使用的是Segment
层,专门用于实例分割,而yolov8.yaml
使用的是Detect
层,用于目标检测。
yolov8-seg.yaml
配置文件是YOLOv8-seg实例分割模型的核心,它在基本结构上与标准的YOLOv8目标检测模型相似,但在最后的层面上进行了调整,以适应实例分割的特殊需求。这种灵活性和调整能力展示了YOLOv8模型家族的多功能性和适应不同计算机视觉任务的能力。
yolov8-cls.yaml
yolov8-cls.yaml
配置文件专为YOLOv8-cls模型设计,这是一个面向图像分类任务的模型。与目标检测(YOLOv8)和实例分割(YOLOv8-seg)不同,图像分类的目的是为整个图像指定一个类别标签,而不是在图像中定位或分割特定对象。
# Ultralytics YOLO 🚀, AGPL-3.0 license
# YOLOv8-cls image classification model. For Usage examples see https://docs.ultralytics.com/tasks/classify# Parameters
nc: 1000 # number of classes
scales: # model compound scaling constants, i.e. 'model=yolov8n-cls.yaml' will call yolov8-cls.yaml with scale 'n'# [depth, width, max_channels]n: [0.33, 0.25, 1024]s: [0.33, 0.50, 1024]m: [0.67, 0.75, 1024]l: [1.00, 1.00, 1024]x: [1.00, 1.25, 1024]# YOLOv8.0n backbone
backbone:# [from, repeats, module, args]- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4- [-1, 3, C2f, [128, True]]- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8- [-1, 6, C2f, [256, True]]- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16- [-1, 6, C2f, [512, True]]- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32- [-1, 3, C2f, [1024, True]]# YOLOv8.0n head
head:- [-1, 1, Classify, [nc]] # Classify
1. 参数部分
nc: 1000
:表示模型用于分类的类别总数为1000。这比通常的目标检测或实例分割任务有更多的类别。scales
:与yolov8-seg.yaml
类似,定义了模型的不同尺寸和复杂度,通过提供不同的缩放级别(n
,s
,m
,l
,x
)来适应不同的计算能力和资源。
2. 骨架(Backbone)部分
- 这部分与
yolov8-seg.yaml
的骨架结构相似,包含多个卷积层(Conv)和自定义C2f层,用于提取图像特征。这表明无论是用于分类、检测还是分割,特征提取的基本原理是类似的。
3. 头部(Head)部分
- 这是与
yolov8-seg.yaml
最显著的不同之处。在图像分类模型中,头部结构相对简单,只包含一个Classify
层。Classify
层的参数[nc]
指定了类别的数量,这一层负责将提取的特征映射到类别标签上。
关键区别
- 任务类型:
yolov8-cls.yaml
是为图像分类任务设计的,而非目标检测或实例分割。这意味着模型的输出是整个图像的类别标签,而不是图像中各个对象的位置或分割掩码。 - 头部结构:与处理更复杂的任务(如实例分割)相比,图像分类模型的头部结构更加简单,只包含一个
Classify
层,直接对整个图像进行分类。
yolov8-cls.yaml
配置文件针对的是图像分类任务,它在结构上与目标检测和实例分割模型有共通之处,尤其是在特征提取的骨架部分。然而,头部结构的简化体现了图像分类任务的直接性和专注性。这种配置展示了YOLOv8模型家族的多功能性和在不同计算机视觉任务中的应用能力。
yolov8-pose.yaml
yolov8-pose.yaml
配置文件是专为 YOLOv8-pose 模型设计的,这是一个用于关键点/姿态估计的模型。关键点估计是计算机视觉中的一项高级任务,它涉及识别和定位图像中人体或其他对象的特定关键点。
# Ultralytics YOLO 🚀, AGPL-3.0 license
# YOLOv8-pose keypoints/pose estimation model. For Usage examples see https://docs.ultralytics.com/tasks/pose# Parameters
nc: 1 # number of classes
kpt_shape: [17, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
scales: # model compound scaling constants, i.e. 'model=yolov8n-pose.yaml' will call yolov8-pose.yaml with scale 'n'# [depth, width, max_channels]n: [0.33, 0.25, 1024]s: [0.33, 0.50, 1024]m: [0.67, 0.75, 768]l: [1.00, 1.00, 512]x: [1.00, 1.25, 512]# YOLOv8.0n backbone
backbone:# [from, repeats, module, args]- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4- [-1, 3, C2f, [128, True]]- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8- [-1, 6, C2f, [256, True]]- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16- [-1, 6, C2f, [512, True]]- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32- [-1, 3, C2f, [1024, True]]- [-1, 1, SPPF, [1024, 5]] # 9# YOLOv8.0n head
head:- [-1, 1, nn.Upsample, [None, 2, 'nearest']]- [[-1, 6], 1, Concat, [1]] # cat backbone P4- [-1, 3, C2f, [512]] # 12- [-1, 1, nn.Upsample, [None, 2, 'nearest']]- [[-1, 4], 1, Concat, [1]] # cat backbone P3- [-1, 3, C2f, [256]] # 15 (P3/8-small)- [-1, 1, Conv, [256, 3, 2]]- [[-1, 12], 1, Concat, [1]] # cat head P4- [-1, 3, C2f, [512]] # 18 (P4/16-medium)- [-1, 1, Conv, [512, 3, 2]]- [[-1, 9], 1, Concat, [1]] # cat head P5- [-1, 3, C2f, [1024]] # 21 (P5/32-large)- [[15, 18, 21], 1, Pose, [nc, kpt_shape]] # Pose(P3, P4, P5)
1. 参数部分
nc: 1
:表示模型用于检测的类别数目为1。在关键点估计任务中,通常关注的是单一类别(如人体)。kpt_shape: [17, 3]
:定义了关键点的数量和维度。在此例中,有17个关键点,每个关键点有3个维度(x, y坐标和可见性)。scales
:定义了模型的不同尺寸和复杂度,这与其他YOLOv8配置相似,提供不同的缩放级别(n
,s
,m
,l
,x
)。
2. 骨架(Backbone)部分
- 这部分与其他YOLOv8配置文件相似,包含多个卷积层(Conv)和自定义C2f层,用于提取图像特征。
3. 头部(Head)部分
- 头部结构与其他YOLOv8模型相似,包含上采样(
nn.Upsample
)、连接(Concat
)和C2f层,用于处理和合并不同层次的特征。 - 关键的不同之处在于最后的层:
Pose
层。这是专为关键点估计设计的层,其参数包括类别数(nc
)和关键点形状(kpt_shape
)。
关键区别
- 任务类型:
yolov8-pose.yaml
配置文件是为关键点/姿态估计任务设计的,与用于图像分类、目标检测或实例分割的模型有明显不同。关键点估计需要识别和定位图像中的特定点。 - 头部结构:最大的区别在于
Pose
层的使用,这是专门为关键点估计任务设计的,用于定位每个关键点的位置和可见性。
yolov8-pose.yaml
配置文件体现了YOLOv8模型在处理不同类型计算机视觉任务时的灵活性。它在基础结构上与其他YOLOv8模型相似,但通过特定于任务的头部结构调整,适应了关键点估计这一复杂的任务。这种配置展示了YOLOv8模型家族的多功能性,以及在不同计算机视觉任务中的应用能力。
总结
YOLOv8系列模型展示了其在多个计算机视觉任务中的适应性和高效性。通过其多样化的配置文件,YOLOv8不仅在目标检测领域表现出色,还成功扩展到实例分割、图像分类和关键点/姿态估计等领域。每个配置文件针对特定任务优化,从而确保模型在处理不同类型的视觉数据时保持高准确率和效率。这种灵活性和多功能性使得YOLOv8成为当前最先进的视觉识别系统之一,为未来的技术创新和应用提供了广阔的可能性。如果有哪里写的不够清晰,小伙伴本可以给评论或者留言,我这边会尽快的优化博文内容,另外如有需要,我这边可支持技术答疑与支持。
相关文章:

深入理解 YOLOv8:解析.yaml 配置文件目标检测、实例分割、图像分类、姿态检测
目录 yolov8导航 YOLOv8(附带各种任务详细说明链接) 引言 YOLOv8配置文件概览 yolov8.yaml 1. nc 2. scales 3. backbone 4. head yolov8-seg.yaml 1. 参数部分 2. 骨架(Backbone)部分 3. 头部(Head&…...

oracle与mysql的分析函数(窗口函数)
分析函数定义 在SQL语句中,很多查询语句需要进行GROUP BY分组汇总,但是一旦经过分组,SELECT返回的记录数就会减少。为了保留所有原始行记录,并且仍可以进行分组数据分析,分析函数应运而生。 Oracle 8i 版本开始支持窗…...

《微信小程序开发从入门到实战》学习六十五
6.4 交互API 6.4.5 页面滚动API 使用wx.pageScrollTo接口可使页面自动滚动到目标位置。该接口介绍Object参,该参支持属性如下所示: scrollTop:必填,滚动到页面的目标位置,单位为px duration:滚动动画的…...

开箱即用的企业级数据和业务管理中后台前端框架Ant Design Pro 5的开箱使用和偏好配置
Ant Design Pro 介绍 Ant Design Pro 是一个开箱即用的企业级前端解决方案,基于 Ant Design 设计体系,提供了丰富的组件和功能,帮助开发者更快速地开发和部署企业级应用。 Ant Design Pro 使用 React、umi 和 dva 这三个主要的前端开发技术…...

怎么用Facebook找客户?Facebook开发客户攻略分享
跨境人最了解的电商平台之一就是Facebook了,说到Facebook,它拥有超过20亿的活跃用户,所以你可以在这个平台上面找到更多的潜在客户。今天的文章就主要分享用Facebook开发客户的方法,全是干货,建议收藏! 一、…...

【Vue2+3入门到实战】(12)自定义指令的基本语法(全局、局部注册)、 指令的值、v-loading的指令封装 详细示例
目录 一、学习目标1.自定义指令 二、自定义指令1.指令介绍2.自定义指令3.自定义指令语法4.指令中的配置项介绍5.代码示例6.总结 三、自定义指令-指令的值1.需求2.语法3.代码示例 四、自定义指令-v-loading指令的封装1.场景2.需求3.分析4.实现5.准备代码 六、自定义指令总结 一、…...

Android studio socket客户端应用设计
一、XML布局设计: <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://schemas.android.com…...

【UTC格式】Oracle低版本实现UTC格式转换
Oracle低版本实现UTC格式转换 文章目录 Oracle低版本实现UTC格式转换前言一、创建 FUNCTION(GET_UTC_DATE)二、使用步骤1.跨年日期2.跨月日期(判断 闰年 or 平年、用于计算2月天数,正常大小月)3.跨日日期3.正常日期 总…...

[BUG] Hadoop-3.3.4集群yarn管理页面子队列不显示任务
1.问题描述 使用yarn调度任务时,在CapacityScheduler页面上单击叶队列(或子队列)时,不会显示应用程序任务信息,root队列可以显示任务。此外,FairScheduler页面是正常的。 No matching records found2.原…...

Java 缓存中间件
Java 缓存中间件 关键词:Spring Cache、J2Cache、JetCache 一 、JSR 107 JSR107 中制订了 Java 缓存的规范。 因此,在很多缓存框架、缓存库中,其 API 都参考了 JSR 107 规范。 img Java Caching 定义了 5 个核心接口 CachingProvider - 定义…...

使用cmake配置matplotlibcpp生成VS项目
https://gitee.com/feboreigns/matplotlibcpp 这篇文章需要一些cmake基础,python基础,visualstudio基础 准备环境 注意如果在VS平台使用必须要手动下载python,不能使用conda里面的,比如3.8版本,因为conda里面没有py…...

Android : 画布绘制矩形和文字 让其居中显示简单应用
示例图: CenterView.java package com.example.demo;import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.Log; import android.view.View;public class Center…...

科研学习|论文解读——融合类目偏好和数据场聚类的协同过滤推荐算法研究
论文链接(中国知网): 融合类目偏好和数据场聚类的协同过滤推荐算法研究 - 中国知网 (cnki.net) 摘要:[目的/意义]基于近邻用户的协同过滤推荐作为推荐系统应用最广泛的算法之一,受数据稀疏和计算可扩展问题影响&#x…...

算法学习系列(十五):最小堆、堆排序
目录 引言一、最小堆概念二、堆排序模板(最小堆)三、模拟堆 引言 这个堆排序的话,考的还挺多的,主要是构建最小堆,并且在很多情况下某些东西还用得着它来优化,比如说迪杰斯特拉算法可以用最小堆优化&#…...

HCIA-Datacom题库(自己整理分类的)——OSPF协议多选
ospf的hello报文功能是 邻居发现 同步路由器的LSDB 更新LSA信息 维持邻居关系 下列关于OSPF区域描述正确的是 在配置OSPF区域正确必须给路由器的loopback接配置IP地址 所有的网络都应在区域0中宣告 骨干区域的编号不能为2 区域的编号范围是从0.0.0.0到255.255.255.255…...

elasticsearch-hadoop.jar 6.8版本编译异常
## 背景 重新编译 elasticsearch-hadoop 包; GitHub - elastic/elasticsearch-hadoop at 6.8 编译 7.17 版本时很正常,注意设置下环境变量就好,JAVA8_HOME/.... 编译 6.8 版本时(要求jdk8 / jdk9),出现…...

面试经典150题(50-53)
leetcode 150道题 计划花两个月时候刷完,今天(第二十二天)完成了4道(50-53)150: 50.(141. 环形链表)题目描述: 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个…...

Jetpack Compose中使用Android View
使用AndroidView创建日历 Composable fun AndroidViewPage() {AndroidView(factory {CalendarView(it)},modifier Modifier.fillMaxWidth(),update {it.setOnDateChangeListener { view, year, month, day ->Toast.makeText(view.context, "${year}年${month 1}月$…...

《MySQL》事务篇
事务特性 ACID Atomicity原子性:事务中的操作要么全部完成,要么全部失败。 Consistency一致性:事务操作前后,数据满足完整性约束。 Isolation隔离性:允许并发执行事务,每个事务都有自己的数据空间&…...

高阶组件和高阶函数是什么
高阶组件和高阶函数都是在函数式编程中常见的概念。 高阶组件(Higher-Order Component, HOC)是一种函数,接受一个组件作为参数,并返回一个新的组件。它可以用来增强现有的组件,给它添加额外的功能或属性。高阶组件在R…...

初步认识API安全
一、认识API 1. 什么是API API(应用程序接口):是一种软件中介,它允许两个不相关的应用程序相互通信。它就像一座桥梁,从一个程序接收请求或消息,然后将其传递给另一个程序,翻译消息并根据 API 的程序设计执行协议。A…...

MybatisX逆向工程方法
官方文档链接:MybatisX快速开发插件 | MyBatis-Plus (baomidou.com) 使用MybatisX可以快速生成mapper文件,实体类和service及实现 效果 方法:首先下载mybatisX插件 然后创建数据库信息 然后选中表,右键,点击Mybatis…...

每日一题:LeetCode-LCR 179. 查找总价格为目标值的两个商品
每日一题系列(day 16) 前言: 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🔎…...

SpringBoot 3.2.0 基于Logback定制日志框架
依赖版本 JDK 17 Spring Boot 3.2.0 工程源码:Gitee 日志门面和日志实现 日志门面(如Slf4j)就是一个标准,同JDBC一样来制定“规则”,把不同的日志系统的实现进行了具体的抽象化,只提供了统一的日志使用接…...

微软发布安卓版Copilot,可免费使用GPT-4、DALL-E 3
12月27日,微软的Copilot助手,可在谷歌应用商店下载。目前,只有安卓版,ios还无法使用。 Copilot是一款类ChatGPT助手支持中文,可生成文本/代码/图片、分析图片、总结内容等,二者的功能几乎没太大差别。 值…...

【STM32】程序在SRAM中运行
程序在RAM中运行 1、配置内存分配。 2、修改跳转文件 FUNC void Setup(void) { SP _RDWORD(0x20000000); PC _RDWORD(0x20000004); } LOAD RAM\Obj\Project.axf INCREMENTAL Setup(); 3、修改下载ROM地址和RAM地址; 中断向量表映射 中断向量表映射到SRA…...

docker 部署mysql
docker pull mysql:5.7.25 docker run \ --name mysql \ -e MYSQL_ROOT_PASSWORD123456 \ -p 3306:3306 \ -v /soft/mysql/conf:/etc/mysql \ -v /soft/mysql/data:/var/lib/mysql \-d \mysql:5.7.25安装好之后可以用命令行进入查看 docker exec -it mysql mysql -u root -p密…...

科荣AIO ReportServlet存在目录遍历漏洞
文章目录 产品简介漏洞概述指纹识别漏洞利用修复建议 产品简介 科荣AIO是一款企业管理软件,提供企业一体化管理解决方案。它整合了ERP(如进销存、财务管理)、OA(办公自动化)、CRM(客户关系管理)…...

Ubuntu Desktop 22.04 桌面主题配置
Ubuntu Desktop 22.04 桌面主题配置 使用这么久 Ubuntu Desktop,本着不折腾的原则,简单介绍下自己的桌面主题配置。 安装 tweaks 安装 GNOME Shell 安装 GNOME theme安装 gnome-tweaks & chrome-gnome-shell sudo apt update # 安装 gnome-tweaks…...

SuperMap iServer发布的ArcGIS REST 地图服务如何通过ArcGIS API进行要素查询
作者:yx 前言 前面我们介绍了SuperMap iServer发布的ArcGIS REST 地图服务如何通过ArcGIS API加载,这里呢我们再来看看如何进行要素查询呢? 一、服务发布 SuperMap iServer发布的ArcGIS REST 地图服务如何通过ArcGIS API加载已经介绍如何发…...