边缘计算开源平台

news2024/9/21 20:46:20

边缘计算


文章目录

  • 边缘计算
  • 前言
    • 01 边缘计算开源平台概述
    • 02 面向物联网端的边缘计算开源平台
      • 2.1 EdgeXFoundry
      • 2.2 ApacheEdgent
    • 03 面向边缘云的边缘计算开源平台
      • 3.1 CORD
      • 3.2 Akraino EdgeStack
    • 04 面向云边融合的边缘计算开源平台
    • 05 构建边缘计算平台的开源软件
    • 06 结束语


前言

边缘计算中的边缘(edge)指的是网络边缘上的计算和存储资源,这里的网络边缘与数据中心相对,无论是从地理距离还是网络距离上来看都更贴近用户。作为一种新的计算范式,边缘计算将计算任务部署于接近数据产生源的网络边缘,利用边缘资源为用户提供大量服务或功能接口,大大减少上传至云数据中心的数据量,缓解网络带宽压力,同时可以更好地解决数据安全和隐私问题。

在边缘计算环境下,数据具有异构性且数据量较大,数据处理的应用程序具有多样性,不同应用程序所关联的计算任务又不尽相同,对于计算任务的管理具有较大的复杂性,而简单的中间件软件结构无法有效保证计算任务可行性、应用程序的可靠性以及资源利用的最大化。同时,面向不同应用或场景的边缘计算系统所要实现的功能有所差异性。因此,边缘计算平台对边缘计算领域的推广和发展有着重要的意义和影响。

01 边缘计算开源平台概述

边缘计算系统是一个分布式系统范例,在具体实现过程中需要将其落地到一个计算平台上,各个边缘平台之间如何相互协作提高效率,如何实现资源的最大利用率,对设计边缘计算平台、系统和接口带来挑战。例如,网络边缘的计算、存储和网络资源数量众多但在空间上分散,如何组织和统一管理这些资源,是一个需要解决的问题。在边缘计算的场景下,尤其是物联网,诸如传感器之类的数据源,其软件和硬件以及传输协议等具有多样性,如何方便有效地从数据源中采集数据也是一个需要考虑的问题。此外,在网络边缘的计算资源并不丰富的条件下,如何高效地完成数据处理的任务也是一个需要解决的问题。

目前,边缘计算平台的发展方兴未艾。由于针对的问题不同,各边缘计算平台的设计多种多样,但也不失一般性,边缘计算平台的一般性功能框架如图 1 所示。在该框架中,资源管理功能用于管理网络边缘的计算、网络和存储资源。设备接入和数据采集功能分别用于接入设备和从设备中获取数据。安全管理用于保障来自设备的数据的安全。平台管理功能用于管理设备和监测控制边缘计算应用的运行情况。

在这里插入图片描述

图1-边缘计算平台一般性功能框架

各边缘计算平台的差异可从以下方面进行对比和分析:

(1)设计目标。边缘计算平台的设计目标反映了其所针对解决的问题领域,并对平台的系统结构和功能设计有关键性的影响。
(2)目标用户。在现有的各种边缘计算平台中,有部分平台是提供给网络运营商以部署边缘云服务,有的边缘计算平台则没有限制,普通用户可以自行在边缘设备上部署使用。
(3)可扩展性。为满足用户应用动态增加和删除的需求,边缘计算平台需要具有良好的可扩展性。目前,虚拟机技术和容器技术常被用于支持可扩展性。
(4)系统特点。面向不同应用领域的边缘计算开源平台具有不同的特点,而这些特点能为不同的边缘计算应用的开发或部署带来方便。
(5)应用场景:常见的应用领域包括智能交通、智能工厂和智能家居等多种场景,还有增强现实(AR)/虚拟现实(VR)应用、边缘视频处理和无人车等对响应时延敏感的应用场景。

根据边缘计算平台的设计目标和部署方式,可将目前的边缘计算开源平台分为3 类:面向物 联网端的边缘计算开源平台、面向边缘云服务的边缘计算开源平台、面向云边融合的边缘计算开源平台。

02 面向物联网端的边缘计算开源平台

面向物联网端的边缘计算开源平台,致力于解决在开发和部署物联网应用的过程中存在的问题,例如设备接入方式多样性问题等。这些平台部署于网关、路由器和交换机等边缘设备, 为物联网边缘计算应用提供支持。代表性的平台是Linux基金会发布的 EdgeXFoundry和 Apache软件基金会的Apache Edgent。

2.1 EdgeXFoundry

EdgeXFoundry 是一个面向工业物联网边缘计算开发的标准化互操作性框架,部署于路由器和交换机等边缘设备上,为各种传感器、设备或其他物联网器件提供即插即用功能并管理 它们,进而收集和分析它们的数据,或者导出至边缘计算应用或云计算中心做进一步处理。EdgeXFoundry 针对的问题是物联网器件的互操作性问题。目前,具有大量设备的物联网产生大量数据,迫切需要结合边缘计算的应用,但物联网的软硬件和接入方式的多样性给数据 接入功能带来困难,影响了边缘计算应用的部署。EdgeXFoundry 的主旨是简化和标准化工业物联网边缘计算的架构,创建一个围绕互操作性组件的生态系统。

图2展示了EdgeX Foundry的架构。在图中的最下方是“南侧”,指的是所有物联网器件, 以及与这些设备,传感器或其他物联网器件直接通信的边缘网络。在图的最上方是“北侧”, 指的是云计算中心或企业系统,以及与云中心通信的网络部分。南侧是数据产生源,而北侧 收集来自南侧的数据,并对数据进行存储、聚合和分析。如图2所示,EdgeXFoundry 位于 南侧和北侧两者之间,由一系列微服务组成,而这些微服务可以被分成 4个服务层和2个底层增强系统服务。微服务之间通过一套通用的Restful应用程序编程接口(API)进行通信。
在这里插入图片描述
图2- EdgeXFoundry的架构图

BACNET:楼宇自动化与控制网络

BLE:低功耗蓝牙

MQTT:消息队列遥测传输

OPC-UA:OPC统一框架

REST:RESTful应用程序编程接口

SDK:软件开发工具包

SNMP:简单网络管理协议

VIRTUAL:虚拟设备

(1)设备服务层。设备服务层主要提供设备接入的功能,由多个设备服务组成。每个设备服务是用户根据设备服务软件开发工具包(SDK)编写生成的一个微服务。EdgeXFoundry使用设备文件去定义一个南侧设备的相关信息,包括源数据格式,存储在EdgeXFoundry 中 的数据格式以及对该设备的操作命令等信息。设备服务将来自设备的数据进行格式转换,并 发送至核心服务层。目前,EdgeX Foundry提供了消息队列遥测传输协议(MQTT)、ModBus串行通信协议和低功耗蓝牙协议(BLE)等多种接入方式。
(2)核心服务层。核心服务层由核心数据、命令、元数据、注册表和配置4个微服务组件 组成。核心数据微服务存储和管理来自南侧设备的数据、元数据微服务存储和管理设备的元 数据。命令微服务将定义在设备文件的操作命令转换成通用的API,提供给用户以监测控制 该设备。注册表和配置微服务存储设备服务的相关信息。
(3)支持服务层。支持服务层提供边缘分析和智能服务,以规则引擎微服务为例,允许用户设定一些规则,当检测到数据满足规则要求时,将触发一个特定的操作。例如规则引擎可 监测控制温度传感器,当检测到温度低于25度时,触发对空调的关闭操作。
(4)导出服务层。导出服务层用于将数据传输至云计算中心,由客户端注册和分发等微服务组件组成。前者记录已注册的后端系统的相关信息,后者将对应数据从核心服务层导出至 指定客户端。
(5)系统管理和安全服务:系统管理服务提供安装、升级、启动、停止和监测控制EdgeX Foundry 微服务的功能。安全服务用以保障来自设备的数据和对设备的操作安全。

最新版本的 EdgeXFoundry 没有为用户自定义应用提供计算框架,用户可以将应用部署在网络边缘,将该应用注册为导出客户端,进而将来自设备的数据导出至应用来处理。EdgeX Foundry 的设计满足硬件和操作系统无关性,并采用微服务架构。EdgeXFoundry 中的所有微服务能够以容器的形式运行于各种操作系统,且支持动态增加或减少功能,具有可扩展性。EdgeXFoundry 的主要系统特点是为每个接入的设备提供通用的 RestfulAPI以操控该设备, 便于大规模地监测控制物联网设备,满足物联网应用的需求。EdgeXFoundry 的应用领域主 要在工业物联网,如智能工厂、智能交通等场景,以及其他需要接入多种传感器和设备的场景。

2.2 ApacheEdgent

Apache Edgent 是一个开源的编程模型和微内核风格的运行时,它可以被嵌入到边缘设备上,用于提供对连续数据流的本地实时分析。Edgent解决的问题,是如何对来自边缘设备的数据进行高效的分析处理。为加速边缘计算应用在数据分析处理上的开发过程,Edgent 提供一个开发模型和一套API用于实现数据的整个分析处理流程。基于Java或安卓的开发环境,Edgent应用的开发模型如图3所示。
image.png
图3-Edgent应用的开发模型

该模型由提供者、拓扑、数据流、数据流的分析处理、后端系统5个组件组成。

(1)提供者。一个提供者对象包含了有关Edgent应用程序的运行方式和位置信息,并具有创建和执行拓扑的功能
(2)拓扑。拓扑是一个容器,描述了数据流的来源和如何更改数据流的数据。数据的输入、处理和导出至云的过程都记录在拓扑中。
(3)数据流。Edgent提供了多种连接器以不同方式接入数据源,比如支持消息队列遥测传输(MQTT)、超文本传输协议(HTTP)和串口协议等,用户还可以添加自定义代码以控制 传感器或设备的数据输入。此外,Edgent的数据不局限于来自真实传感器或者设备的数据,还支持文本文件和系统日志等。
(4)数据流的分析处理。Edgent提供一系列功能性的API 以实现对数据流的过滤、分裂、 变换和聚合等操作。
(5)后端系统。由于边缘设备的计算资源稀缺,Edgent 应用程序无法支撑复杂的分析任务。用户可以使用连接器,通过MQTT和ApacheKafka方式连接至后端系统,或者连接至IBMWatson IoT平台进一步对数据做处理。

Edgent 应用可部署于运行 Java虚拟机的边缘设备中,实时分析来自传感器和设备的数据, 减少了上传至后端系统如云数据中心的数据量,并降低了传输成本。Edgent的主要系统特点是提供了一套丰富的数据处理API,切合物联网应用中数据处理的实际需求,降低应用的开发难度并加速开发过程。Edgent的主要应用领域是物联网,此外,它还可以被用于分析日志、文本等类型的数据,例如嵌入服务器软件中用以实时分析错误的日志。

03 面向边缘云的边缘计算开源平台

网络运营商的网络边缘,如蜂窝网络基站、中央端局和在网络边缘的小型数据中心等,是用 户接入网络的地方,其计算、存储和网络资源也可用以部署边缘计算应用。面向边缘云服务的边缘计算平台着眼于优化或重建网络边缘的基础设施以实现在网络边缘构建数据中心,并提供类似云中心的服务。代表性的平台有开放网络基金会(ONF)的CORD项目和Linux基金会的AkrainoEdge Stack 项目。

3.1 CORD

CORD 是为网络运营商推出的开源项目,旨在利用软件定义网络(SDN)、网络功能虚拟化(NFV)和云计算技术重构现有的网络边缘基础设施,并将其打造成可灵活地提供计算和网 络服务的数据中心。现有网络边缘基础设施构建于由电信设备供应商提供的封闭式专有的软 硬件系统,不具备可扩展性,无法动态调整基础设备的规模,导致资源的低效利用。CORD计划利用商用硬件和开源软件打造可扩展的边缘网络基础设施,并实现灵活的服务提供平台, 支持用户的自定义应用。

在这里插入图片描述
图4 为CORD的硬件架构图,CORD利用商用服务器和白盒交换机提供计算、存储和网络资源,并将网络构建为叶脊拓扑架构以支持横向网络的通信带宽需求。此外,CORD 使用专用接入硬件将移动、企业和住宅用户接入网络中。

图4-CORD的硬件架构
CORD的软件架构如图5所示,云平台管理项目 OpenStack用以管理计算和存储资源,创建和配置虚拟机以及提供基础设施即服务(IaaS)功能。开源网络操作系统(ONOS)为网 络提供控制平面,用于管理网络组件如白盒交换网络结构等,并提供通信服务。容器引擎Docker 使用容器技术来实例化提供给用户的服务。服务控制平台 XOS用于整合上述软件, 以组装、控制和组合服务。

在这里插入图片描述
图5- CORD的软件架构

DOCKER: 容器引擎

ONOS: 开源网络操作系统

OPENSTACK: 开源的云计算管理平台项目

根据用户类型和使用案例的不同,CORD可被具体实现为 M-CORD、R-CORD和E-CORD。以 M-CORD为例,M-CORD面向无线网络(特别是5G 网络),使用蜂窝网络将用户接入。M-CORD基于 NFV和云计算技术将蜂窝网络功能进行分解和虚拟化,实现网络功能的动态扩展同时增强资源利用率。在此基础上,M-CORD 支持多接入边缘服务,为用户提供定制 服务和差异化体验质量(QoE)。此能力切合具备移动性的边缘计算应用的需求,能通过无 线网络为手机、无人车和无人机等移动设备的边缘计算应用就近提供强大的计算能力。R-CORD 和 E-CORD同样可以在网络边缘支持住宅用户或企业用户的边缘计算应用,如VR和AR 应用等,以获得更快的响应时间和更好的服务体验。

对于用户而言,CORD 在运营商网络边缘提供的边缘云服务,具有与云计算相同的优点,即无需用户提供计算资源和搭建计算平台,降低了软硬件和管理成本。此外,有线和无线网络 的广泛分布使用户提交边缘计算应用不受地理位置的影响。目前,运营商正研究如何部署CORD,中国联通发起成立了CORD产业联盟,推动CORD项目的落地。

3.2 Akraino EdgeStack

AkrainoEdge Stack 是一个面向高性能边缘云服务的开源项目,并为边缘基础设施提供整体的解决方案。Akraino Edge Stack 致力于发展一套开源软件栈,用于优化边缘基础设施的网 络构建和管理方式,以满足边缘计算云服务的要求,比如高性能、低延迟和可扩展性等。Akraino Edge Stack 项目涉及的范围从基础设施延伸至边缘计算应用,其范围可以划分为 3个层面。

在最上面的应用层面,AkrainoEdge Stack致力于打造边缘计算应用程序的生态系 统以促进应用程序的开发。中间层面着眼于开发中间件和框架以支持上面层次的边缘计算应 用。在这个层面中,AkrainoEdge Stack 将开发API 和框架以接入现有互补性的开源边缘计算项目,例如上述的面向物联网的互操作性框架EdgeX Foundry,最大化利用开源社区的现有成果。在最下面的基础设施层面中,AkrainoEdge Stack 将提供一套开源软件栈用于优化基础设施。此外,Akraino Edge Stack 为每种使用案例提供蓝图以构建一个边缘计算平台。每个蓝图是涵盖上述3个层次的声明性配置,其中包括对硬件、各层面的支撑软件、管理工具和交付点等的声明。

Akraino Edge Stack 基于使用案例提供边缘云服务,可部署于电信运营商的塔楼、中央端局或线缆中心等。其应用领域包括边缘视频处理、智能城市、智能交通等。Akraino Edge Stack目前是一个初创项目,于2018年8月进入执行阶段。

04 面向云边融合的边缘计算开源平台

云计算服务提供商是边缘计算的重要推动者之一,基于“云边融合”的理念,致力于将云服务能力拓展至网络边缘。目前,亚马逊公司推出了AWSGreengrass ,微软公司推出了Azure IoT Edge ,阿里云公司推出了物联网边缘计算平台 LinkIoT Edge。微软公司在2018年宣布将Azure IoT Edge 开源。

Azure IoT Edge是一种混合云和边缘的边缘计算框架,旨在将云功能拓展至如路由器和交换机等具备计算能力的边缘设备上,以获得更低的处理时延和实时反馈。Azure IoT Edge运行于边缘设备上,但使用与云上的AzureIoT 服务相同的编程模型;因此用户在开发应用的过程中除对计算能力的考量外,无需考虑边缘设备上部署环境的差异,还可以将在云上原有的应用迁移至边缘设备上运行。

如图6 所示,AzureIoTEdge由IoTEdge模块、IoTEdge运行时和IoTEdge云界面组成,前两者运行在边缘设备上,后者则是一个在Azure云上提供服务的管理界面。

image.png
图6- Azure IoT Edge的架构图

(1)IoTEdge 模块。IoTEdge 模块对应于用户的边缘计算应用程序。一个模块镜像即一个Docker 镜像,模块里包含用户的应用代码,而一个模块实例就是一个运行着对应的模块镜像的 Docker 容器。基于容器技术,IoTEdge 具备可扩展性,用户可动态添加或删除边缘计算应用。由于相同的编程模型,Azure 机器学习和 Azure数据流分析等 Azure云服务也可以 部署到 IoTEdge模块,此特性便于在网络边缘部署复杂的人工智能应用,加快了开发过程。

(2)IoTEdge运行时。IoTEdge运行时由IoTEdge中心和IoTEdge代理2个组件构成,前 者负责通信功能,后者负责部署和管理 IoTEdge 模块,并监测控制模块的运行。IoT中心 是在 Azure云上的消息管理中心,IoT Edge中心与IoT 中心连接并充当其代理。IoT Edge 中心通过MQTT、高级消息队列协议(AMQP)和HTTPS协议获取来自传感器和设备的数据,实现设备接入的功能。此外,IoT Edge 中心作为消息中转站,连接 IoTEdge 模块之间 的消息通信。IoTEdge代理从IoTHub接收IoTEdge模块的部署信息,实例化该模块,并保 证该模块的正常运行,如对故障模块进行重启,并将各模块的运行状态报告至IoT中心。

(3)IoT云界面。云界面提供了设备管理的功能。用户通过云界面进行添加设备,部署应用和监测控制设备等操作,为用户大规模部署边缘计算应用提供了方便。

Azure IoT Edge 的主要系统特点是强大的Azure 云服务的支持,尤其是人工智能和数据分析 服务的支持。AzureIoT Edge具有广阔的应用领域,除了物联网场景,原有在云上运行的应 用也可以根据需求迁移至网络边缘上运行。目前AzureIoTEdge已有智能工厂、智能灌溉系 统和无人机管理系统等使用案例。

05 构建边缘计算平台的开源软件

一些开源软件能为边缘计算平台提供组件功能,具体包括:

(1)网络管理。开源网络自动化平台(ONAP)是一个为物理或虚拟网络功能的自动化 和实时策略驱动化编排提供平台的开源项目,在边缘云中可用于定制网络服务。Linux基金会在2018年将ONAP与其他5个功能类似的开源项目合并成LFNetworkingFund项目。ONOS是一个开源网络操作系统,它提供一个控制平面用于管理网络组件,运行软件程序和模块,并为终端主机提供通信服务。目前,ONAP应用于 Akraino EdgeStack 项目中,ONOS应用于CORD 项目中。

(2)容器技术。Docker作为一个开源的应用容器引擎,被多个边缘计算平台使用以提供灵活的应用部署方式。Kubernetes是一个对容器化应用进行自动化部署、扩展和管理的开源项目,可用于边缘计算平台中以提供可靠和可扩展的容器编排。

(3)云平台。OpenStack是一个开源的云计算管理平台项目,可用于构建边缘云,管理边缘云基础设备的计算、存储和网络资源。StarlingX是一个用于构建分布式边缘云的开源项目,提供一套完整的云基础架构软件栈,现应用于AkrainoEdge Stack 项目中。

(4)人工智能技术。引入人工智能技术是边缘计算的发展趋势之一。Acumos 人工智能(AI)是一个用于训练、部署和共享AI应用程序的开源框架,可用于边缘云中以提供AI边缘计算应用的快速开发和部署。Acumos AI 目前已用于Akraino Edge Stack 项目中。

06 结束语

边缘计算平台为基于边缘计算的应用提供了一种降低延迟、提高数据处理实时性的架构和软件栈支撑。目前,边缘计算平台仍处于快速发展时期,本文中我们对其未来的发展趋势 进行如下分析:

(1)面向特定应用场景的专用性边缘计算平台将迅速发展。目前,智能家居、智能工厂和智慧城市都是受关注的应用场景,如何系统化支持这些场景的功能需求是边缘计算平台的 发展趋势之一。
(2)边缘计算平台的数据安全与隐私保护问题将变得更加突出。边缘设备相互协作时的数据安全如何保证、边缘平台如何避免暴露用户的位置隐私信息、尤其是边缘计算设备的计算资源、存储能力有限,使得边缘计算平台的安全防御具有更高的挑战性。
(3)边缘计算平台将结合更多人工智能技术。目前,以深度学习为代表的人工智能技术发展十分迅速,但“智能边缘”的研究才刚刚起步,未来的边缘计算平台将引入人工智能技术, 实现边缘数据的智能处理。

本文首发于《中兴通讯技术》

作者简介
梁家越,中山大学数据科学与计算机学院在读硕士研究生;研究方向为边缘计算。

刘斌,中国科学院电子学研究所在读博士生;研究方向为边缘计算。

刘芳,中山大学数据科学与计算机学院副教授;研究方向为计算机系统结构与存储技术;先后主持和参加国家自然科学基金、科技部重点研发、“863”计划等项目10余项;获中山大学“百人计划”中青年杰出人才,获军队科技进步二等奖1次;发表论文70余篇,授权国 家发明专利10余项。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

类皮肤全属性凝胶电子皮肤

目前电子皮肤相关工作仅①提升单一或几个刺激感知属性(压力、温度等);②研究部分理化属性和感知属性的结合。但这些工作仅覆盖皮肤的两种或三种属性,距离实现皮肤般丰富的刺激感知感官和理化特性还有很大差距。而覆盖人类皮肤的所…

linux-virtualbox安装centOS7.9

一、windows10安装virtualbox 安装包->右键->以管理员身份运行->下一步 ->选择安装位置->下一步 ->是(网络中断?) ->是(安装一些辅助工具包) ->安装 ->完成 二、virtualbox新建centOS7.9虚…

【Python 基础篇】Python 文件操作

文章目录 导言一、文件操作的作用二、文件的基本操作1、打开文件2、读写文件① 读取文件② 写入文件 3、关闭文件 三、文件备份四、文件和文件夹的操作结语 导言 在编程领域中,文件操作是一项基础且常见的任务。无论是读取配置文件、处理数据文件,还是备…

MySQL保姆安装教程

文章目录 前言一、MySQL官网二、离线安装包步骤三、环境配置四、验证安装是否成功在这里插入图片描述 五、可视化工具连接总结 前言 对于第一次安装mysql是有点难度,现在我会把安装流程搞出来。 一、MySQL官网 MySQL Installer 8.0.33安装(不想安装这个…

Windows下redis的安装与使用

一、下载 redis.io 官网没有Windows版本的,需要去redis-windows下载。 二、使用与配置 2.1 解压安装 redis的Windows版本,有.msi和.zip两种格式。这里使用更为方便,直接解压就可以使用的.zip格式。 将Redis-x64-5.0.14.1.zip解压至D盘的…

【Java-SpringBoot+Vue+MySql】Day3.3-MybatisPlus说明与使用

目录 一、MybatisPlus快速入门 1、知识轰炸 2、实操演练 (1)新建项目 (2)添加依赖 (3)添加配置 (4)添加映射层 (5)启动类中添加注解 (6&a…

【通过Data Studio连接openGauss】---快速入门

【通过Data Studio连接openGauss】---快速入门 🔻 一、访问openGauss🔰 1.1 确认连接信息(单节点)🔰 1.2 使用gsql访问openGauss(本地连接数据库)🔰 1.3 使用gsql访问openGauss&…

玩机搞机------安卓手机分区操作中的的各种工具 提取分区 备份分区 檫除分区 推荐一

喜欢玩机搞机的朋友们经常对手机系统进行安装玩机操作。但有时候指令类输入和操作步骤比较繁琐。耽误时间。有些工具就比较方便操作。陆续会整理一些玩机搞机中的简单工具给爱好者使用。本期整理一些关于手机分区的工具推荐 💔💔💔 AB AVB分…

Android的详细介绍

目录: Android诞生 Android系统架构 Android系统版本 Android应用开发特色 Android诞生 2003年10月,Andy Rubin等人创建了Android公司,并组建了Android团队。 2005年8月17日,Google低调收购了成立仅22个月的高科技企…

【新星计划·2023】Linux目录结构

作者:Insist-- 个人主页:insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 前言 本文将讲解Linux目录结构与功能,以及目录解释,最近这段时间会持续更新关于Linux的基础知识,期待你的…

机器视觉初步6-1:基于梯度的图像分割

把基于梯度的图像分割单独拿出来。 文章目录 一、图像梯度相关算子的原理1. Sobel算子2. Prewitt算子3. Roberts算子 二、python和halcon算子实现1.python实现2.halcon实现 基于梯度的图像分割方法利用像素之间的梯度信息来进行图像分割。 梯度 1是图像中像素灰度值变化最快的…

macOS Monterey 12.6.7 (21G651) 正式版发布,ISO、IPSW、PKG 下载

macOS Monterey 12.6.7 (21G651) 正式版发布,ISO、IPSW、PKG 下载 本站下载的 macOS 软件包,既可以拖拽到 Applications(应用程序)下直接安装,也可以制作启动 U 盘安装,或者在虚拟机中启动安装。另外也支持…

macOS Big Sur 11.7.8 (20G1351) 正式版 ISO、PKG、DMG、IPSW 下载

macOS Big Sur 11.7.8 (20G1351) 正式版 ISO、PKG、DMG、IPSW 下载 本站下载的 macOS 软件包,既可以拖拽到 Applications(应用程序)下直接安装,也可以制作启动 U 盘安装,或者在虚拟机中启动安装。另外也支持在 Window…

Windows 10 |VMware开启虚拟化的最全面说明

前言: Windows作为工作机,对于计算机系的同学来说,主要是在于利用图形化的界面直观的创建虚拟机(典型的有代表性的是virtualbox和VMware这两家公司的桌面级虚拟化软件),尤其是小白这样的初学者&#xff0c…

吴恩达ChatGPT《Prompt Engineering》笔记

ChatGPT 提示词工程师教程 1. 课程介绍 1.1 ChatGPT 相关术语 LLM:Large Language Model,大语言模型 Instruction Tuned LLM:经过指令微调的大语言模型 Prompt:提示词 RLHF:Reinforcement Learning from Human F…

英特尔oneAPI人工智能黑客松 - 机器视觉挑战案例

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成…

K8S 生态周报| Kubernetes 公布两个全版本受影响的漏洞

“ 「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s生态」[1]。 ” 大家好,我是张晋涛。 KIND v0.20.0 正式发布 KIND 是我一直参与,也日常一直在使用的项目,用于快速的在本地或者 C…

强化学习:AI领域的下一步里程碑

第一章:引言 近年来,人工智能(AI)的快速发展引起了全球范围内的广泛关注。在AI的众多技术领域中,强化学习(Reinforcement Learning)作为一种类似于人类学习的方式,在解决复杂问题方…

VMware虚拟机中安装Ubuntu20.04小白教程

安装Ubuntu20.04 1.Ubuntu镜像下载2.配置Ubuntu 2.1创建新的虚拟机,进入新建虚拟机向导2.2选择自定义类型配置2.3选择硬件兼容性2.4选择稍后安装操作系统2.5选择客户机操作系统2.6命名虚拟机2.7处理器配置2.8 虚拟机内存2.9配置网络类型2.10选择I/O控制器类型2.11选…

webpakc原理之开发一个清除console.log(xxx)的loader

一、webpack中清除console的方法 当然想要清除console我们可以使用babel-loader结合babel-plugin-transform-remove-console插件来实现。 安装babel-loader和babel-plugin-transform-remove-console插件 npm install babel-loader babel-plugin-transform-remove-console -D…