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

YOLOv10 解析与地平线 征程 6 模型量化

一,YOLOv10 解析

1.简介

近些年来,研究人员对 YOLO 的架构设计、优化目标、数据增强策略等进行了探索,取得了显著进展。然而,后处理对非极大值抑制(NMS)的依赖阻碍了 YOLO 的端到端部署,并对推理延迟产生不利影响。此外,YOLO 中各个组件的设计缺乏全面彻底的检查,导致明显的计算冗余并限制了模型的能力。

YOLOv10 的突破就在于从后处理和模型架构方面进一步提升了 YOLO 的性能 - 效率边界。

为此,研究团队首次提出了 YOLO 无 NMS 训练的一致双重分配(consistent dual assignment),这使得 YOLO 在性能和推理延迟方面有所改进。

研究团队为 YOLO 提出了整体效率 - 准确率驱动的模型设计策略,从效率和准确率两个角度全面优化 YOLO 的各个组件,大大降低了计算开销并增强了模型能力。

大量实验表明,YOLOv10 在各种模型规模上都实现了 SOTA 性能和效率。例如,YOLOv10-S 在 COCO 上的类似 AP 下比 RT-DETR-R18 快 1.8 倍,同时参数数量和 FLOP 大幅减少。与 YOLOv9-C 相比,在性能相同的情况下,YOLOv10-B 的延迟减少了 46%,参数减少了 25%。

img

2.方法介绍

为了实现整体效率 - 准确率驱动的模型设计,研究团队从效率、准确率两方面分别提出改进方法。

为了提高效率,该研究提出了轻量级分类 head、空间通道(spatial-channel)解耦下采样和排序指导的块设计,以减少明显的计算冗余并实现更高效的架构。

为了提高准确率,研究团队探索了大核卷积并提出了有效的部分自注意力(partial self-attention,PSA)模块来增强模型能力,在低成本下挖掘性能改进的潜力。基于这些方法,该团队成功实现了一系列不同规模的实时端到端检测器,即 YOLOv10-N / S / M / B / L / X。

3.用于无 NMS 训练的一致双重分配

在训练期间,YOLO 通常利用 TAL 为每个实例分配多个正样本。一对多的分配方式产生了丰富的监督信号,促进了优化并使模型实现了卓越的性能。

然而,这需要 YOLO 依赖于 NMS 后处理,这导致了部署时次优的推理效率。虽然之前的研究工作探索了一对一匹配来抑制冗余预测,但它们通常引入了额外的推理开销。

与一对多分配不同,一对一匹配对每个 ground truth 仅分配一个预测,避免 NMS 后处理。然而,这会导致弱监督,以至于准确率和收敛速度不理想。幸运的是,这种缺陷可以通过一对多分配来弥补。

该研究提出的「双标签分配」结合了上述两种策略的优点。如下图所示,该研究为 YOLO 引入了另一个一对一 head。它保留了与原始一对多分支相同的结构并采用相同的优化目标,但利用一对一匹配来获取标签分配。在训练过程中,两个 head 联合优化,以提供丰富的监督;在推理过程中,YOLOv10 会丢弃一对多 head 并利用一对一 head 做出预测。这使得 YOLO 能够进行端到端部署,而不会产生任何额外的推理成本。

img

4.整体效率 - 准确率驱动的模型设计

除了后处理之外,YOLO 的模型架构也对效率 - 准确率权衡提出了巨大挑战。尽管之前的研究工作探索了各种设计策略,但仍然缺乏对 YOLO 中各种组件的全面检查。因此,模型架构表现出不可忽视的计算冗余和能力受限。

YOLO 中的组件包括 stem、下采样层、带有基本构建块的阶段和 head。作者主要对以下三个部分执行效率驱动的模型设计。

  1. 轻量级分类 head。
  2. 空间通道解耦下采样。
  3. 排序指导的模块设计。

img

二,yolov10 训练

1.下载模型训练代码。

github 网址:https://github.com/THU-MIG/yolov10

拉取压缩包如下图

img

2.搭建 conda 训练环境

conda activate yolov10 #先激活自己的虚拟环境

pip install -r requirements.txt #一键安装相应的安装包

3.设置数据集

我使用的是 coco 数据集,如图

img

4.模型训练,代码如下图。

img

5.训练之后转 onnx 模型。

三,yolov10 模型量化

使用的是地平线 征程 6 的 docker,版本是 v3.0.22

1.首先进行模型检查。

在浮点模型准备好之后,我们建议先进行快速的模型验证,以确保其符合计算平台的支持约束。启动样例里面的脚本,修改一下路径即可,如下图。如果模型验证不通过,请根据终端打印或在当前路径下生成的日志文件确认报错信息和修改建议。

img

2.准备校准数据集。

PTQ 方案的校准数据一般是从训练集或验证集中筛选 100 份左右(可适当增减)的典型数据,并应避免非常少见的异常样本, 如纯色图片、不含任何检测或分类目标的图片等。筛选出的校准数据还需进行与模型 inference 前一致的预处理操作, 处理后保持与原始模型一样的数据类型、layout 和尺寸。

对于校准数据的预处理,地平线建议直接参考示例代码进行修改使用,preprocess.py 文件中 的 calibration_transformers 函数的包含了其校准数据的前处理 transformers,处理完的校准数据与其 yaml 配置文件保持一致,

aW1hZ2U=.png

3.编辑 yaml 文件进行模型量化编译

Yaml 配置文件共包含 4 个必选参数组和 1 个可选参数组, 每个参数组下也区分必选和可选参数(可选参数默认隐藏), 具体要求和填写方式可以参考 OE 文档里的具体章节。

准备完校准数据和 yaml 配置文件后,即可一步命令完成模型解析、图优化、校准、量化、编译的全流程转换。

img

4.编译模型结果查看

转换完成后,会在 yaml 文件配置的路径下保存各阶段流程产出的模型文件和编译器预估的模型 BPU 部分的静态性能评估文件。

各个算子余弦相似度如图

img)

生成包含模型静态性能预估的 html 和 json 文件,两者内容相同, 但 html 文件的可读性更好,如下图。

余弦相似度如图

[外链图片转存中…(img-410vo2h6-1740490280824)])

生成包含模型静态性能预估的 html 和 json 文件,两者内容相同, 但 html 文件的可读性更好,如下图。

img

相关文章:

YOLOv10 解析与地平线 征程 6 模型量化

一,YOLOv10 解析 1.简介 近些年来,研究人员对 YOLO 的架构设计、优化目标、数据增强策略等进行了探索,取得了显著进展。然而,后处理对非极大值抑制(NMS)的依赖阻碍了 YOLO 的端到端部署,并对推…...

基本网络安全的实现

基本网络安全的实现 一 :AAA AAA 是Authentication,Authorization and Accounting(认证、授权和计费)的简 称,它提供了一个用来对认证、授权和计费这三种安全功能进行配置的一致性框架, 它是对网络安全…...

ROS2 强化学习:案例与代码实战

一、引言 在机器人技术不断发展的今天,强化学习(RL)作为一种强大的机器学习范式,为机器人的智能决策和自主控制提供了新的途径。ROS2(Robot Operating System 2)作为新一代机器人操作系统,具有…...

Java数据结构第十四期:走进二叉树的奇妙世界(三)

专栏:数据结构(Java版) 个人主页:手握风云 目录 一、二叉树OJ练习题 1.1. 相同的树 1.2. 另一棵树的子树 1.3. 翻转二叉树 1.4. 平衡二叉树 1.5. 对称二叉树 一、二叉树OJ练习题 1.1. 相同的树 判断两棵树是否相同,我们是否只能遍历一…...

GO 进行编译时插桩,实现零码注入

Go 编译时插桩 Go 语言的编译时插桩是一种在编译阶段自动注入监控代码的技术,目的是在不修改业务代码的情况下,实现对应用程序的监控和追踪。 基本原理 Go 编译时插桩的核心思想是通过在编译过程中对源代码进行分析和修改,将监控代码注入到…...

《炎龙骑士团 1 邪神之封印》游戏信息

发行公司:1994 年由汉堂国际资讯公司发行。 游戏类型:回合制角色扮演游戏 故事背景 远古之战:在远古时代,圣族与魔族爆发大战,魔族领导者大邪神力量强大,圣族处于下风。圣族派出十二战士突袭,虽…...

本地大模型编程实战(23)用智能体(Agent)实现基于SQL数据构建问答系统(2)

本文将用 智能体(Agent) 实现对 SQLite 数据库的查询:用户用自然语言提出问题,智能体也用自然语言根据数据库的查询结果回答问题。 本次将分别在英文、中文环境下,使用 qwen2.5 、 MFDoom/deepseek-r1-tool-calling:7b 以及 llama3.1 做实验。…...

Flash-03

1-问题:Flash软件画两个图形,若有部分重合则变为一个整体 解决方法1:两个图形分属于不同的图层 解决方法2:将每个图形都转化为【元件】 问题2:元件是什么? 在 Adobe Flash(现在称为 Adobe Anim…...

防火墙双机热备---VRRP,VGMP,HRP(超详细)

双机热备技术-----VRRP,VGMP,HRP三个组成 注:与路由器VRRP有所不同,路由器是通过控制开销值控制数据包流通方向 防火墙双机热备: 1.主备备份模式 双机热备最大的特点就是防火墙提供了一条专门的备份通道(心…...

PC端-发票真伪查验系统-Node.js全国发票查询接口

在现代企业的财务管理中,发票真伪的验证至关重要。随着电子发票的普及,假发票问题日益严峻,如何高效、准确的对发票进行真伪查验,已经成为各类企业在日常运营中必须解决的关键问题。翔云发票查验接口做企业财务管理、税务合规的好…...

3.1部署filebeat:5044

beats是ELK体系中新增的一个工具,, 属于一个轻量的日志采集器。 1.安装(每台) # tar xf filebeat-6.4.1-linux-x86_64.tar.gz # mv filebeat-6.4.1-linux-x86_64 /usr/local/filebeat #yum -y install httpd #systemctl start httpd 2.测试…...

在 Windows 上配置 Ollama 服务并开放局域网访问

为了在局域网内共享 Ollama 服务,我们需要完成以下两步: 1、设置 Ollama 的环境变量 OLLAMA_HOST,使其监听局域网的 IP 地址。 (1) 配置 Ollama 服务的监听地址 Ollama 服务使用环境变量 OLLAMA_HOST 来指定监听的地…...

C#快速调用DeepSeek接口,winform接入DeepSeek查询资料 C#零门槛接入DeepSeek C#接入DeepSeek源代码下载

下载地址<------完整源码 在数字化转型加速的背景下&#xff0c;企业应用系统对智能服务的需求日益增长。DeepSeek作为先进的人工智能服务平台&#xff0c;其自然语言处理、图像识别等核心能力可显著提升业务系统的智能化水平。传统开发模式下&#xff0c;C#开发者需要耗费大…...

解决后端跨域问题

目录 一、什么是跨域问题&#xff1f; 1、跨域问题的定义 2、举例 3、为什么会有跨域问题的存在&#xff1f; 二、解决跨域问题 1、新建配置类 2、编写代码 三、结语 一、什么是跨域问题&#xff1f; 1、跨域问题的定义 跨域问题&#xff08;Cross-Origin Resource Sh…...

【教程】使用docker+Dify搭建一个本地知识库

现在AI火的一塌糊涂&#xff0c;再不搭建一个自己的AI知识库就有点落伍了&#xff0c;这里我是自己的windows11电脑。用了dockerdifydeepseek。 一、安装docker 网址&#xff1a;https://www.docker.com/ 什么是docker&#xff1f; Docker 是一种开放源代码的容器化平台&…...

微信小程序数据绑定与事件处理:打造动态交互体验

在上一篇中&#xff0c;我们学习了如何搭建微信小程序的开发环境并创建了一个简单的“Hello World”页面。然而&#xff0c;一个真正的小程序不仅仅是静态内容的展示&#xff0c;它需要与用户进行动态交互。本文将深入探讨微信小程序中的数据绑定和事件处理机制&#xff0c;通过…...

Spring MVC 的执行流程解析:从用户请求到响应返回

Spring MVC 是一种基于 Model-View-Controller 设计模式的 Web 框架&#xff0c;用于处理用户请求、执行相应的业务逻辑并返回响应。它广泛应用于 Java Web 开发&#xff0c;提供了灵活的架构和丰富的功能。 本文将详细介绍 Spring MVC 的执行流程&#xff0c;帮助你理解它是如…...

c++day5

作业&#xff1a; 编写一个如下场景&#xff1a; 有一个英雄Hero类&#xff0c;私有成员&#xff0c;攻击&#xff0c;防御&#xff0c;速度&#xff0c;生命值&#xff0c;以及所有的set get 方法 编写一个 武器 Weapon 类&#xff0c;拥有私有成员攻击力&#xff0c;以及set …...

Deepseek 实战全攻略,领航科技应用的深度探索之旅

想玩转 Deepseek&#xff1f;这攻略别错过&#xff01;先带你了解它的基本原理&#xff0c;教你搭建运行环境。接着给出自然语言处理、智能客服等应用场景的实操方法与代码。还分享模型微调、优化技巧&#xff0c;结合案例加深理解&#xff0c;让你全面掌握&#xff0c;探索科技…...

公共数据授权运营模式研究(总体框架、主要模式及发展趋势)

本报告以公共数据运营模式为核心&#xff0c;以释放公共数据价值为目标&#xff0c;深入分析公共数据概念及特征&#xff0c;厘清公共数据运营的内涵及本质&#xff0c;提出纵深分域数据要素市场运营体系的总体思路&#xff0c;构建了一座&#xff08;一个数据底座&#xff09;…...

本地开发用ASP.NET Core Web API项目创建及测试

1. 服务端代码&#xff08;C#&#xff09; 1.1 创建ASP.NET Core Web API项目 打开Visual Studio 2022。 选择“创建新项目”。 选择“ASP.NET Core Web API”模板&#xff0c;点击“下一步”。 输入项目名称&#xff08;如OracleApi&#xff09;&#xff0c;选择项目位置&…...

【虚拟仪器技术】labview操作指南和虚拟仪器技术习题答案(一)

今天是2025年2月24日&#xff0c;画的是fate/Grand Order里面的阿尔托莉雅.卡斯特&#xff0c;武内老师的画。 目录 第1章 第2章 第3章 第4章 第5章 关注作者了解更多 我的其他CSDN专栏 毕业设计 求职面试 大学英语 过程控制系统 工程测试技术 虚拟仪器技术 可编程…...

SpringCloud系列教程:微服务的未来(二十五)-基于注解的声明队列交换机、消息转换器、业务改造

前言 在现代分布式系统中&#xff0c;消息队列是实现服务解耦和异步处理的关键组件。Spring框架提供了强大的支持&#xff0c;使得与消息队列&#xff08;如RabbitMQ、Kafka等&#xff09;的集成变得更加便捷和灵活。本文将深入探讨如何利用Spring的注解驱动方式来配置和管理队…...

LLM之论文阅读——Context Size对RAG的影响

前言 RAG 系统已经在多个行业中得到广泛应用&#xff0c;尤其是在企业内部文档查询等场景中。尽管 RAG 系统的应用日益广泛&#xff0c;关于其最佳配置的研究却相对缺乏&#xff0c;特别是在上下文大小、基础 LLM 选择以及检索方法等方面。 论文原文: On the Influence of Co…...

C#实现本地AI聊天功能(Deepseek R1及其他模型)。

前言 1、C#实现本地AI聊天功能 WPFOllamaSharpe实现本地聊天功能,可以选择使用Deepseek 及其他模型。 2、此程序默认你已经安装好了Ollama。 在运行前需要线安装好Ollama,如何安装请自行搜索 Ollama下载地址&#xff1a; https://ollama.org.cn Ollama模型下载地址&#xf…...

git 查询包含某个文件夹的步骤

步骤 1&#xff1a;拉取最新的远程分支信息 确保本地缓存的远程分支信息是最新的&#xff1a; bash 复制 git fetch --all 步骤 2&#xff1a;遍历所有远程分支并检查目标文件夹 使用 git ls-tree 检查每个分支是否包含目标文件夹。以下脚本会列出所有包含 your_folder_pa…...

微软开源神器OmniParser-v2.0本地部署教程

安装python环境 我这里是以前安装好的版本&#xff1a;python 3.11.5&#xff0c;这里不再介绍&#xff0c;有需要的可以在网上找教程。 安装Anaconda 我这里是以前安装好的版本&#xff1a;conda 23.7.4&#xff0c;这里也不再介绍&#xff0c;有需要的可以在网上找教程。 …...

解决 Git 合并冲突:当本地修改与远程提交冲突时

目录 错误原因分析 解决方法 1. 暂存本地修改并合并&#xff08;保留更改&#xff09; 2. 丢弃本地修改&#xff08;强制覆盖&#xff09; 3. 暂存修改后合并&#xff08;推荐&#xff1a;使用 git stash&#xff09; 4. 选择性合并&#xff08;手动处理冲突文件&#xf…...

VScode中Markdown PDF无法正确输出包含数学公式的pdf解决方案

在使用VScode的Markdown PDF插件时&#xff0c;可能会遇到无法正确输出包含公式的PDF文件的问题。下面为你提供一种有效的解决方案。 具体操作步骤 步骤一&#xff1a;定位模板文件 在安装Markdown PDF插件后&#xff0c;你需要找到对应的模板文件。该文件的路径通常如下&am…...

uniapp 网络请求封装(uni.request 与 uView-Plus)

一、背景 在开发项目中&#xff0c;需要经常与后端服务器进行交互&#xff1b;为了提高开发效率和代码维护性&#xff0c;以及降低重复性代码&#xff0c;便对网络请求进行封装统一管理。 二、创建环境文件 2.1、根目录新建utils文件夹&#xff0c;utils文件夹内新建env.js文…...

Jtti.cc:站群服务器SEO优化建议,如何分配多IP?

站群优化的核心目标之一是尽可能通过多个网站互相引导流量&#xff0c;从而提升主站的权重。这时候&#xff0c;多IP的分配至关重要&#xff0c;因为搜索引擎会检测到同一IP下的网站之间的关联性。如果一个IP地址下有过多的相似站点&#xff0c;搜索引擎可能会认为这些站点存在…...

银行系统功能架构设计元模型

1. 元模型核心目标 ​规范性:定义功能模块的标准化描述方式,便于跨团队协作。​可复用性:抽象通用组件,减少重复开发。​可扩展性:支持未来业务创新和技术升级(如开放银行API集成)。​2. 元模型层级结构 采用分层架构模式,分为以下核心层级: ​**(1) 业务功能层** ​…...

uniapp写的h5跳转小程序

使用场景&#xff1a; 我们对接第三方支付的时候&#xff0c;对方只提供了原生小程序id和appid&#xff0c;由我们的app和h5平台跳转至小程序。 遇到的问题&#xff1a; app跳转本地正常&#xff0c;线上报错如下 解决办法&#xff1a; 需要去微信开放平台申请应用appid 易…...

DeepSeek点燃AI大模型战火:编程语言争霸,谁将问鼎“终极武器”王座?

DeepSeek点燃AI大模型战火&#xff1a;编程语言争霸&#xff0c;谁将问鼎“终极武器”王座&#xff1f; 一、DeepSeek&#xff1a;AI大模型竞赛的“导火索” 2023年&#xff0c;中国AI公司深度求索&#xff08;DeepSeek&#xff09;发布DeepSeek-R1大模型&#xff0c;凭借其超…...

游戏引擎学习第123天

仓库:https://gitee.com/mrxiao_com/2d_game_3 黑板&#xff1a;线程同步/通信 目标是从零开始编写一个完整的游戏。我们不使用引擎&#xff0c;也不依赖任何库&#xff0c;完全自己编写游戏所需的所有代码。我们做这个节目不仅是为了教育目的&#xff0c;同时也是因为编程本…...

钉钉快捷免登录 通过浏览器打开第三方系统,

一、钉钉内跳转至浏览器的实现 使用钉钉JSAPI的跳转接口 在钉钉内通过dd.biz.navigation.openLink方法强制在系统浏览器中打开链接。此方法需在钉钉开发者后台配置应用权限&#xff0c;确保应用具备调用该API的资格37。 示例代码&#xff1a; dd.ready(() > {dd.biz.navigat…...

塔能科技构建智慧隧道生态系统——城市升级改造的协同创新典范

一、智慧隧道生态系统的概念与意义 &#xff08;一&#xff09;概念解析 智慧隧道生态系统是一个涵盖多方面协同关系的复杂概念。在隧道建设方面&#xff0c;它不仅仅是简单的挖掘和结构搭建&#xff0c;而是将智能化技术融入其中&#xff0c;例如采用先进的传感器技术&#x…...

在Anaconda的虚拟环境中安装R,并在vscode中使用

在 Anaconda 的虚拟环境中使用 R&#xff0c;并且希望在 VS Code 中同时使用 Python 和 R&#xff0c;确实需要同时安装 Python 和 R。这是因为 VS Code 的 Jupyter 插件和内核管理依赖于 Python&#xff0c;而 R 则作为 Jupyter 的另一个内核运行。 以下是具体的操作步骤和逻…...

创建型模式 - 建造者模式 (Builder Pattern)

创建型模式 - 建造者模式 (Builder Pattern) 建造者模式是一种创建型设计模式&#xff0c;它将一个复杂对象的构建与表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。 需求描述 在游戏开发中&#xff0c;创建一个复杂的游戏角色&#xff0c;角色具有多种属性&…...

路由追踪核心技术深度解析:Traceroute与Tracert命令实战指南(跨平台/抓包/网络安全防护)

目录 路由器是什么&#xff1f; 路由器的基本功能&#xff1a; 路由追踪技术&#xff08;Traceroute&#xff09; 路由追踪的工作原理 实现技术 路由追踪的输出示例 路由追踪的用途 traceroute 命令&#xff08;Linux 和 macOS&#xff09; 基本语法 常用选项 示例 …...

音视频入门基础:RTP专题(12)——RTP中的NAL Unit Type简介

一、引言 RTP封装H.264时&#xff0c;RTP对NALU Header的nal_unit_type附加了扩展含义。 由《音视频入门基础&#xff1a;H.264专题&#xff08;4&#xff09;——NALU Header&#xff1a;forbidden_zero_bit、nal_ref_idc、nal_unit_type简介》可以知道&#xff0c;nal_unit…...

HTTP GET 请求示例

鸿蒙操作系统&#xff08;HarmonyOS&#xff09;是华为公司自主研发的面向全场景的分布式操作系统&#xff0c;旨在为用户提供一个安全、流畅且跨设备无缝连接的体验。它支持多种终端设备&#xff0c;如智能手机、平板电脑、智能电视、汽车等&#xff0c;并实现了模块化解耦&am…...

GO 快速升级Go版本

由于底层依赖升级了&#xff0c;那我们也要跟着升&#xff0c;go老版本已经不足满足需求了&#xff0c;必须要将版本升级到1.22.0以上 查看当前Go版本 命令查看go版本 go version [rootlocalhost local]# go version go version go1.21.4 linux/amd64 [rootlocalhost local]# …...

ELK搭建初入

ELK搭建&#xff1a; 1、安装ElasticSearch &#xff08;用于存储收集到的日志信息&#xff09; 解压安装包 tar -xzvf elasticsearch-8.17.2-linux-x86_64.tar.gz 启动es&#xff1a;bin/elasticsearch –d&#xff08;默认端口号9200&#xff09; 浏览器输入es地址。出现…...

【redis】数据类型之Bitfields

Redis的Bitfields&#xff08;位域&#xff09;与Bitmaps一样&#xff0c;在Redis中并不是一种独立的数据类型&#xff0c;而是一种基于字符串的数据结构&#xff0c;用于处理位级别的操作。允许用户将一个Redis字符串视作由一系列二进制位组成的数组&#xff0c;并对这些位进行…...

vscode软件中引入vant组件

一、vant简介 Vant 是一个轻量、可靠的移动端组件库&#xff0c;于 2017 年开源。 目前 Vant 官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本&#xff0c;并由社区团队维护 React 版本和支付宝小程序版本。 官网&#xff1a;介绍 - Vant Weapp 里面的快速上手的教程&a…...

DDR3模块、HDMI、晶振的布局原则

DDR3模块的布局原则 1.1片DDR就尽量靠近 我们CPU去摆放 2.DDRx2片&#xff0c;相对CPU需要严格对称 3.DDR滤波电容靠近管脚进行放置 4.端接匹配电阻摆放&#xff1a;串联端接电阻放置CPU端&#xff0c;并联端接电阻放置DDR端 5.地址线、控制线、时钟线都是单向传输&#xff0c…...

夜莺监控 - 边缘告警引擎架构详解

前言 夜莺类似 Grafana 可以接入多个数据源&#xff0c;查询数据源的数据做告警和展示。但是有些数据源所在的机房和中心机房之间网络链路不好&#xff0c;如果由 n9e 进程去周期性查询数据并判定告警&#xff0c;那在网络链路抖动或拥塞的时候&#xff0c;告警就不稳定了。所…...

【CSP/信奥赛通关课(六):信奥赛STL专题】

CSP/信奥赛通关课&#xff08;六&#xff09;&#xff1a;信奥赛STL专题 课程简介&#xff1a; 讲解信奥赛C中的STL核心组件&#xff1a;容器、迭代器、算法等&#xff0c;分析重点案例&#xff0c;让学生在实践的过程中熟练掌握信奥赛C相关的STL重要知识点。 课程教学目标&…...

【数据结构初阶第十五节】堆的应用(堆排序 + Top-K问题)

必须有为成功付出代价的决心&#xff0c;然后想办法付出这个代价。云边有个稻草人-CSDN博客 对于本节我们要提前掌握前一节课堆的相关实现才能学好本次的知识&#xff0c;一定要多画图多敲代码看看实现的效果是啥&#xff08;Crazy&#xff01;&#xff09;开始吧&#xff01; …...