人工智能--目标检测

2a20c54b85e042bfa2440367ae4807e9.gif

欢迎来到 Papicatch的博客

文章目录

🍉引言

🍉概述

🍈目标检测的主要流程通常包括以下几个步骤

🍍数据采集

🍍数据预处理

🍍特征提取

🍍目标定位

🍍目标分类

🍈目标检测在许多领域都有广泛的应用

🍍自动驾驶

🍍安防监控

🍍工业检测

🍈目标检测技术仍面临一些挑战

🍉 区域卷积神经网络

🍈介绍

🍈R-CNN 的详细工作原理

🍍工作流程

🍌候选区域生成

🍌特征提取 

🍈关键技术要点

🍈R-CNN 的优点详细分析 

🍍高精度检测

🍍 灵活性和通用性

🍍推动技术发展

🍈R-CNN 的局限性

🍍计算效率低下

🍍训练流程复杂

🍍候选区域质量依赖

🍍检测速度慢

🍈R-CNN 的影响和发展

🍍影响

🍌检测效果好

🍌奠定研究基础

🍍发展

🍉YOLO 卷积神经网络

🍈YOLO 的主要工作原理如下

🍈YOLO 系列算法在不断发展和改进。例如,YOLO v3 相比之前的版本有一些改进和特点

🍈YOLO 算法的优点包括

🍈YOLO 算法的局限性包括 

🍉 单发多框架检测SSD

🍈其主要流程如下

🍍特征提取

🍍生成锚框

🍍类别和边界框预测

🍍筛选和调整

🍈SSD 算法的一些优点包括

 🍈SSD 算法的一些局限性包括

🍉 示例

🍈代码分析

🍉总结


2a20c54b85e042bfa2440367ae4807e9.gif

🍉引言

        在当今科技飞速发展的时代,人工智能正以前所未有的速度改变着我们的生活和工作方式。其中,目标检测作为人工智能领域中一个关键且极具应用价值的方向,吸引了众多研究者的目光。它不仅为我们打开了理解和处理视觉信息的新大门,也为解决各种实际问题提供了强大的技术支持。

🍉概述

        目标检测是计算机视觉和人工智能领域中的一项重要任务,其目的是在图像或视频中准确地识别和定位感兴趣的目标对象。

🍈目标检测的主要流程通常包括以下几个步骤

🍍数据采集

        收集大量包含目标对象的图像或视频数据,这些数据应具有多样性和代表性,以涵盖各种可能的场景和情况。

  • 例如,在检测汽车时,需要收集不同品牌、颜色、角度、光照条件下的汽车图像。

🍍数据预处理

        对采集到的数据进行清洗、标注和增强等处理。标注是指为图像中的目标对象添加边界框和类别标签,以便模型学习。

  • 数据增强技术如翻转、旋转、缩放等,可以增加数据的数量和多样性,减少过拟合的风险。

🍍特征提取

        使用深度学习模型自动从图像中提取有意义的特征。常见的模型架构如卷积神经网络(CNN)能够有效地捕捉图像的局部和全局特征。

  • 例如,ResNet、VGG 等网络在特征提取方面表现出色。

🍍目标定位

        确定目标对象在图像中的位置,通常通过预测边界框的坐标来实现。

🍍目标分类

        确定目标对象的类别,例如人、车、动物等。

🍈目标检测在许多领域都有广泛的应用

🍍自动驾驶

        检测道路上的车辆、行人、交通标志等,为车辆的行驶决策提供依据。

🍍安防监控

        实时监测监控画面中的异常情况,如入侵人员、异常行为等。

🍍工业检测

        检测产品的缺陷、尺寸等,提高生产质量和效率。

🍈目标检测技术仍面临一些挑战

  • 小目标检测:对于尺寸较小的目标,由于其特征不明显,检测难度较大。
  • 复杂场景:在背景复杂、光照变化剧烈、目标遮挡等情况下,准确检测目标具有挑战性。
  • 实时性要求:在一些实时应用场景中,需要在短时间内完成检测任务,对算法的效率要求较高。

🍉 区域卷积神经网络

🍈介绍

        区域卷积神经网络(Region-based Convolutional Neural Network,R-CNN)是目标检测领域的一个重要里程碑,为后续更先进的目标检测算法奠定了基础。

🍈R-CNN 的详细工作原理

        R-CNN(Region-based Convolutional Neural Network)是目标检测领域的一项开创性工作,其独特的方法为后续的目标检测算法提供了重要的思路和基础。

🍍工作流程

🍌候选区域生成
  • 运用选择性搜索(Selective Search)算法,基于图像的颜色、纹理、形状等特征,将图像分割成多个可能包含目标的区域。
  • 例如,对于一张包含猫和狗的图像,选择性搜索可能会生成多个矩形框,其中一些框可能准确地覆盖了猫和狗的区域。
🍌特征提取 
  • 将生成的候选区域调整为固定大小(例如 227×227),以适应预训练的卷积神经网络(如 AlexNet)的输入要求。
  • 将调整后的候选区域输入到卷积神经网络中,提取 4096 维的特征向量。

🍌分类

  • 使用为每个类别训练的支持向量机(SVM)对提取的特征向量进行分类。
  • 例如,如果有猫、狗、鸟三个类别,就会有三个对应的 SVM 分类器,分别判断候选区域属于哪个类别。

🍌边界框回归

  • 对于每个被分类为目标的候选区域,使用线性回归模型对其边界框进行微调,以得到更精确的位置。
  • 例如,初始的候选区域可能不完全准确地框住目标,通过回归可以对边界框的坐标进行修正。

🍈关键技术要点

  • 利用预训练的卷积神经网络进行特征提取,充分利用了深度网络学习到的强大特征表示能力。

  • 选择性搜索算法能够生成质量较高的候选区域,为后续的检测提供了良好的基础。

  • 分类和回归的分开处理,使得每个步骤可以专注于其特定的任务,提高了检测的准确性。

🍈R-CNN 的优点详细分析 

🍍高精度检测

        深度特征学习:R-CNN 引入了卷积神经网络(CNN)进行特征提取,相比于传统的手工设计特征,CNN 能够自动学习到更具代表性和判别性的特征。这些深度特征能够捕捉图像中目标的复杂结构和语义信息,从而显著提高了检测的准确性。

  • 例如,对于形状不规则的物体或在复杂背景下的目标,传统方法可能难以准确识别,但 R-CNN 学习到的深度特征能够更好地区分目标和背景。

        候选区域筛选:通过选择性搜索等方法生成候选区域,能够覆盖可能包含目标的各种位置和尺度,增加了检测到目标的可能性。 

  • 例如,在一张包含多个不同大小和位置物体的图像中,R-CNN 能够全面地考虑各种可能的区域,减少漏检的情况。

🍍 灵活性和通用性

        可迁移学习:可以利用在大规模图像分类数据集(如 ImageNet)上预训练好的 CNN 模型,并在目标检测数据集上进行微调。这种迁移学习的策略使得 R-CNN 能够受益于已有的大规模数据训练成果,并且能够应用于各种不同的目标检测任务。

  • 比如,原本在 ImageNet 上训练用于识别猫的模型,经过微调可以用于检测汽车等其他目标。

         适应多种目标类别:R-CNN 对于不同类型的目标检测任务具有较好的通用性,无论是常见的物体(如人、车、动物)还是特定领域的目标(如医学图像中的病变区域),都可以通过适当的训练来实现检测。

🍍推动技术发展

        启发后续研究:R-CNN 的出现为后续的目标检测算法提供了重要的思路和基础,激发了大量的研究工作,推动了整个目标检测领域的快速发展。

  • 例如,后续的 Fast R-CNN、Faster R-CNN 等算法都是在 R-CNN 的基础上进行改进和创新的。

        促进算法融合:R-CNN 的成功促使研究者将其与其他技术(如增强学习、注意力机制等)相结合,进一步提升了目标检测的性能和灵活性。

🍈R-CNN 的局限性

🍍计算效率低下

        重复计算:对每个候选区域都要单独进行卷积神经网络(CNN)的前向传播,存在大量的重复计算。这导致处理一幅图像的时间非常长,难以满足实时性要求。

  • 例如,对于 2000 个候选区域,就需要进行 2000 次完整的 CNN 计算。

        特征存储:提取的特征需要大量的存储空间来保存,增加了硬件成本和处理的复杂性。  

🍍训练流程复杂

        多阶段训练:R-CNN 的训练分为多个阶段,包括 CNN 的微调、SVM 的训练以及边界框回归器的训练。每个阶段都需要单独的优化和调整,流程繁琐且难以优化。

  • 不同阶段的训练数据和优化目标不同,需要精心设计和协调。

        数据需求大:每个阶段都需要大量的标注数据,增加了数据准备的难度和工作量。

🍍候选区域质量依赖

         选择性搜索的不足:生成候选区域的选择性搜索算法并非完美,可能会产生过多的无效候选区域,或者遗漏一些关键区域。

  • 例如,对于一些紧密相邻的目标,可能会生成一个包含多个目标的大候选区域,影响检测精度。

        区域大小固定:在特征提取阶段,将候选区域调整为固定大小可能会导致信息丢失或变形,影响检测效果。

🍍检测速度慢

        实时性差:由于上述的计算效率和训练复杂性问题,R-CNN 在实际应用中的检测速度非常慢,难以应用于实时场景,如自动驾驶、视频监控等。

🍈R-CNN 的影响和发展

🍍影响

🍌检测效果好

        R-CNN在VOC2007数据集上的检测效果相比传统方法有很大提升,其mAP(平均精度均值)达到了53.3%,相较于之前的最佳结果提高了30%以上。

🍌奠定研究基础

        R-CNN算法的出现,为目标检测领域的研究奠定了基础。后续的很多研究工作都是基于R-CNN算法进行的,例如Fast R-CNN、Faster R-CNN等。

🍌推动技术发展

        R-CNN算法的成功应用,推动了深度学习技术在目标检测领域的发展。它证明了深度学习方法在目标检测任务中的有效性,促使更多的研究人员投入到这个领域的研究中。

🍍发展

  • R-CNN:R-CNN算法首先使用选择性搜索等方法提取图像中的候选区域,然后对这些区域使用CNN提取特征,最后通过SVM进行分类。
  • Fast R-CNN:为了解决R-CNN的计算量大、训练过程复杂的问题,Fast R-CNN被提出。它在R-CNN的基础上进行了改进,直接在特征图上进行边框回归和分类,减少了计算量,并提高了检测速度。
  • Faster R-CNN:Faster R-CNN进一步改进了物体检测流程,它引入了区域建议网络(RPN),该网络与检测网络共享卷积特征,实现了端到端的训练。RPN的引入不仅提高了检测的速度,还提升了检测的准确性。

🍉YOLO 卷积神经网络

🍈YOLO 的主要工作原理如下

  1. 输入图像:将整幅图像作为网络的输入。
  2. 划分网格:YOLO 将输入图像划分成多个网格。
  3. 预测边界框:每个网格单元负责预测一定数量的边界框(bounding box)。这些边界框包含了目标的位置信息(如中心坐标、宽度和高度)。
  4. 类别预测:同时,每个边界框还会预测相关的类别概率,即该边界框内包含某类目标的可能性。
  5. 输出:通过对每个网格单元的预测结果进行综合分析,得到最终的目标检测结果,包括目标的类别和其对应的边界框。

        YOLO 仅利用卷积层,是一个全卷积网络(FCN)。例如在 YOLO v3 中,作者提出了名为 Darknet-53 的特征提取器架构,它包含 53 个卷积层,每个卷积层后跟随批量归一化层和 Leaky ReLU 激活函数,使用带有步长 2 的卷积层来降采样特征图,有助于防止池化导致的低级特征丢失。 

🍈YOLO 系列算法在不断发展和改进。例如,YOLO v3 相比之前的版本有一些改进和特点

  • 边界框预测:使用维度集群作为锚框(anchor boxes),通过预测 4 个坐标(tx、ty、tw、th)来确定边界框的位置。采用逻辑回归预测每个边界框的目标性得分。
  • 类别预测:使用多标签分类预测边界框可能包含的类别,不使用 softmax,而是采用独立的逻辑分类器,训练时使用二元交叉熵损失进行类预测。这种方法在处理存在重叠标签的数据集(如 Open Images Dataset)时更有效。
  • 多尺度预测:在不同尺度上进行预测,以更好地检测不同大小的目标。

🍈YOLO 算法的优点包括

  • 速度快:能够快速处理图像并实时给出检测结果。
  • 全局特征推理:利用全局上下文信息,对背景的判断更准确。
  • 泛化性较好:训练好的模型在新的领域或不期望的输入情况下仍有较好的效果。

🍈YOLO 算法的局限性包括 

  1. 对小目标检测不够好:虽然 YOLO 系列算法在小目标检测方面相对其他一些算法有改进,但在检测极小目标时,仍可能出现误检或漏检的情况;
  2. 对密集目标检测效果欠佳:由于其采用网格化的方式进行检测,对于相互靠近或密集的目标,检测效果可能不太理想,容易造成重叠检测或遗漏检测;
  3. 对目标形状变化不太敏感:YOLO 算法通常采用固定大小的输入图像,对于形状变化较大或非正常宽长比的目标,其识别效果可能受到一定影响;
  4. 定位精度问题:YOLO 算法在损失函数中对大边框和小边框的误差同等对待,但实际上同一损失对于不同尺寸边框的交并比(IOU)影响不同,这可能导致定位误差较大;
  5. 每个网格单元的限制:每个格点单元仅预测固定数量的边界框,并且只能预测一类目标,具有较强的空间局限性,当同一单元格内存在多个物体的中心时,可能只检测出其中某一种;
  6. 分类精度有限:作为一种端到端的检测方法,其分类结果的精度可能不及专业的分类模型。

🍉 单发多框架检测SSD

        SSD(Single Shot MultiBox Detector,单发多框检测器)是一种基于深度学习的目标检测算法,具有检测速度快、精度较高等优点。

🍈其主要流程如下

🍍特征提取

        将输入的图像通过一个卷积神经网络(CNN)进行特征提取,得到一系列特征图。常用的基础网络可以是 VGG、ResNet 等。

🍍生成锚框

        对于每个特征图上的每个位置,生成一组预测框(anchor boxes),这些预测框具有不同的宽高比和尺度。生成锚框时,会考虑多种尺度和长宽比,以适应不同形状和大小的目标。

🍍类别和边界框预测

  • 类别卷积:把特征图放入单 CNN 卷积层,预测每个锚框的类别。使用卷积层的通道来表示类别预测,通道数为锚框数量乘以类别数加 1(包含背景类)。
  • 边界框卷积:同样把特征图放入单 CNN 卷积层,预测每个锚框的边界框,用左上右下的 x、y 坐标表示边界框。输出通道数为锚框数量乘以 4。

🍍筛选和调整

        根据预测结果进行筛选和调整,得到最终的检测结果。通过非极大值抑制(NMS)等方法移除相似的预测边界框,找到预测概率最大的边界框 B,并移除和 B 交并比大于某阈值的其他边界框,直到所有边界框都完成筛选。

🍈SSD 算法的一些优点包括

  • 检测速度快:采用单发多框的检测方式,不需要像一些两阶段检测算法那样进行区域提议等复杂操作,提高了检测效率。
  • 多尺度检测:在不同尺度的特征图上进行预测,能够较好地检测不同大小的目标。
  • 精度较高:通过合理设置锚框和使用卷积进行预测,在保持一定检测速度的同时,也能获得较好的检测精度。

 🍈SSD 算法的一些局限性包括

  • 对小目标的检测效果仍有待提高:虽然它在多尺度检测方面有一定优势,但在检测极小目标时,可能还是会出现一些困难。
  • 锚框的设计需要经验和技巧:锚框的尺度和长宽比等参数的选择对检测结果有较大影响,需要进行适当的调整和优化。
  • 可能会产生一些冗余的预测框:由于生成的锚框数量较多,可能会存在一些不必要的预测框,需要通过后处理进行筛选。

🍉 示例

以下是一个基于 YOLOv3 的目标检测的简单示例代码

import torch
import cv2
import numpy as np

# 加载预训练的 YOLOv3 模型
model = torch.hub.load('ultralytics/yolov3', 'yolov3')

# 读取图像
image = cv2.imread('image.jpg')

# 进行目标检测
results = model(image)

# 解析检测结果
labels = results.pandas().xyxy[0]['name']
boxes = results.pandas().xyxy[0][['xmin', 'ymin', 'xmax', 'ymax']].values

# 绘制检测框和标签
for label, box in zip(labels, boxes):
    xmin, ymin, xmax, ymax = box
    cv2.rectangle(image, (int(xmin), int(ymin)), (int(xmax), int(ymax)), (0, 255, 0), 2)
    cv2.putText(image, label, (int(xmin), int(ymin) - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)

# 显示结果
cv2.imshow('Detection Result', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

🍈代码分析

  1. model = torch.hub.load('ultralytics/yolov3', 'yolov3'):使用 torch.hub 加载预训练的 YOLOv3 模型。

  2. cv2.imread('image.jpg'):读取要进行目标检测的图像。

  3. results = model(image):将图像输入模型进行检测,得到检测结果。

  4. 解析结果部分,从 results 中提取出检测到的目标的标签和边界框坐标。

  5. 通过循环,使用 cv2.rectangle 和 cv2.putText 函数在图像上绘制检测框和标签。

  6. 最后显示检测结果图像。

🍉总结

  • 目标检测是计算机视觉领域的重要任务,旨在从图像或视频中准确识别和定位感兴趣的目标对象。
  • 目标检测技术的发展经历了从传统方法到基于深度学习的方法的重大转变。传统方法通常基于手工设计的特征和分类器,如 Haar 特征、HOG 特征结合 SVM 等,但其检测精度和泛化能力相对有限。
  •  随着深度学习的兴起,基于卷积神经网络(CNN)的目标检测算法取得了显著的成果。如 R-CNN 系列算法,引入了深度特征学习和区域建议的概念,大幅提高了检测精度。YOLO 和 SSD 等算法则采用单阶段检测方式,实现了更快的检测速度。
  • 目标检测在众多领域有着广泛的应用,包括自动驾驶、安防监控、工业检测、医疗影像分析等。然而,目前的目标检测技术仍面临一些挑战,例如对小目标和密集目标的检测效果有待提升,在复杂场景下的准确性和鲁棒性需要增强,以及如何在保证精度的同时进一步提高检测速度以满足实时应用的需求。
  • 未来,目标检测技术有望通过不断改进网络架构、融合多模态数据、优化训练策略等方式,取得更出色的性能,为各种实际应用提供更可靠和高效的解决方案。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

mac软件卸载后的残留文件删除 mac如何卸载应用程序

很多人都不知道,mac使用系统方式卸载后会有残留文件未被删除,久而久之就会占用大量的磁盘空间。今天小编就来教大家如何删除mac软件卸载后的残留文件,如果你想不留痕迹的删除,mac又该如何正确卸载应用程序,本文将一一为…

整合、速通 版本控制器-->Git 的实际应用

目录 版本控制器 -- Git1、Git 和 SVN 的区别2、Git 的卸载和安装2-1:Git 卸载1、先查下原本的Git版本2、删除环境变量3、控制面板卸载 Git 2-2:Git 下载安装1、官网下载2、详细安装步骤3、安装成功展示 3、Git 基础知识3-1:基本的 Linux 命令…

通俗易懂的chatgpg的原理简介

目录 一、深度学习与语言模型 二、ChatGPT训练三步走 三、情景学习与思维链 四、修改提示语优化结果 五、能力评估和注意问题 六.算法原理 简介: ChatGPT的人工智能原理主要基于深度学习技术,特别是大规模的预训练语言模型和Transformer结构。Cha…

SpringCloud_Eureka注册中心

概述 Eureka是SpringCloud的注册中心。 是一款基于REST的服务治理框架,用于实现微服务架构中的服务发现和负载均衡。 在Eureka体系中,有两种角色: 服务提供者和服务消费者。 服务提供者将自己注册到Eureka服务器,服务消费者从Eureka服务器中…

使用Qt制作一个简单的界面

1、创建工程 步骤一: 步骤二: 步骤三: 选择 build system,有qmake、CMake 和 Qbs 三个选项。 CMake 很常用,功能也很强大,许多知名的项目都是用它,比如 OpenCV 和 VTK,但它的语法繁…

【Android面试八股文】什么是ANR?如何分析和定位ANR?如何避免ANR?

文章目录 一、ANR概述二、触发ANR的主要场景三、Android四大组件中的潜在的ANR风险五、避免ANR的实践建议六、ANR的产生原因与出现的场景6.1 原因:6.2 出现场景:七、ANR的定位与分析7.1. ANR分析思路——traces7.2 ANR其他分析思路与相关日志7.2.1 分析logcat思路7.2.2 分析k…

Spring Cloud Circuit Breaker基础入门与服务熔断

官网地址&#xff1a;https://spring.io/projects/spring-cloud-circuitbreaker#overview 本文SpringCloud版本为&#xff1a; <spring.boot.version>3.1.7</spring.boot.version> <spring.cloud.version>2022.0.4</spring.cloud.version>【1】Circu…

易校网校园综合跑腿小程序源码修复运营版

简介&#xff1a; 易校网校园综合跑腿小程序源码修复运营版&#xff0c;带服务端客户端前端文档说明。 源码安装方法&#xff1a; 需要准备小程序服务号 服务器 备案域名 校园网跑腿小程序源码需要准备 1.小程序 2.服务器&#xff08;推荐配置2h4g3m&#xff09; 3.域名…

【Python实战因果推断】13_线性回归的不合理效果3

目录 Regression Theory Single Variable Linear Regression Multivariate Linear Regression Frisch-Waugh-Lovell Theorem and Orthogonalization Regression Theory 我不打算太深入地探讨线性回归是如何构建和估计的。不过&#xff0c;一点点理论知识将有助于解释线性回归…

更新!谷歌倾斜摄影OSGB数据V1.2版

谷歌倾斜摄影OSGB数据V1.2版终于来了&#xff01; 一个月前发布了谷歌倾斜摄影数据生成OSGB数据V1.0版&#xff0c;对谷歌倾斜摄影数据转换工具进行了重大更新&#xff0c;V1.1版主要解决了三个问题&#xff1a;1.支持Cesiumlab等数据处理软件&#xff0c;将OSGB数据转换成3DTi…

OFDM关键技术——PAPR降低技术

OFDM信号的峰均比问题 PAR问题由于不同子载波上N个正弦信号叠加引起&#xff0c;由于各个子载波的幅值和相位相互独立&#xff0c;当子载波数目较大时&#xff0c;由中心极限定理可知&#xff0c;同相分量的幅度服从高斯分布。 峰值功率&#xff1a;0.1033 平均功率&am…

网安小贴士(4)哈希函数

一、前言 哈希函数是密码学中的基础工具&#xff0c;哈希函数在密码学中扮演着至关重要的角色&#xff0c;广泛应用于确保数据的安全性和完整性。随着技术的发展&#xff0c;新的哈希算法和应用场景也在不断出现。 二、定义 哈希函数是一种数学函数&#xff0c;它接受一个输…

计算机I/O系统与外围设备详解:从基础概念到实际应用

计算机I/O系统与外围设备详解&#xff1a;从基础概念到实际应用 在计算机世界中&#xff0c;理解I/O系统和外围设备的基本概念对初学者来说至关重要。本文将详细介绍I/O系统的基础知识、I/O接口、计算机外围设备及其工作原理&#xff0c;帮助基础小白更好地理解这些概念。 I/O…

毫米波雷达深度学习技术-1.7训练一个神经网络

1.7 训练一个神经网络 对于训练神经网络&#xff0c;有两个步骤&#xff0c;即前向传递和误差反向传播。 1.7.1 前向传播和反向传播 在前向传递中&#xff0c;输入被馈送到模型并与权重向量相乘&#xff0c;并为每一层添加偏差以计算模型的输出。密集层或全连接层第l层的输入、…

中画幅巡检相机-SHARE 100M A10

【毫厘之间&#xff0c;洞见非凡】 ——SHARE 100M A10中画幅测量相机&#xff0c;巡检行业的新选择 在巡检行业&#xff0c;精准度是关键&#xff0c;深圳赛尔智控科技有限公司最新推出的SHARE 100M A10中画幅测量相机&#xff0c;基于先进的IMX461影像传感器&#xff0c;拥有…

prometheus 安装node_exporter, node_exporter 安装最新版 普罗米修思安装监控服务器client

1. 本文介绍两种安装方式&#xff0c;一种安装为service,使用systemctl start node_exporter管理&#xff0c;第二种为安装docker内 容器内使用。 1.1 安装到系统内&#xff1a; 1.1.1 github地址&#xff1a; Releases prometheus/node_exporter GitHub ​ 1.1.2 下载命…

解析Linux top 命令输出并生成动态图表

文章目录 0. 引言1. 原理2. 功能3. 程序架构流程图结构图 4. 数据解析模块5. 图表绘制模块6. 主程序入口7. 使用方法8. 总结9. 附录完整代码 0. 引言 在性能调优和系统监控中&#xff0c;top 命令是一种重要工具&#xff0c;提供了实时的系统状态信息&#xff0c;如 CPU 使用率…

PHP电商系统开发指南高级技巧

开发高级 php 电商系统所需的技巧包括&#xff1a;数据库优化&#xff1a;使用索引、规范化数据结构和缓存机制。性能优化&#xff1a;启用页面缓存、优化图像和使用 cdn。购物车管理&#xff1a;使用会话或数据库存储数据&#xff0c;实现实时更新和弃单恢复。支付集成&#x…

windows10如何打开开发者模式

按键盘上的win键或者点击屏幕左下角的开始图标&#xff0c;即可出现如下的界面 在打开的界面中找到设置按钮&#xff0c;点击设置按钮 进入windows设置界面后&#xff0c;找到‘更新和安全’的选项&#xff0c;随后点击进入 进去后在左侧的功能列表中找到‘开发者选…

Transformer模型原理细节解析

基本原理: Transformer 的核心概念是 自注意力机制(Self-Attention Mechanism),它允许模型在处理每个输入时“关注”输入序列的不同部分。这种机制让模型能够理解每个单词或符号与其他单词或符号之间的关系,而不是逐个地线性处理输入。 Transformer 主要由两个部分组成:…