虽然边缘计算在过去几年呈指数级增长,但开发人员在实施人工智能和边缘软件解决方案时遇到了问题。面向边缘的英特尔 DevCloud 通过为用户提供远程开发环境(包括确定给定解决方案的最佳硬件配置所需的工具)来解决这些挑战。 面向边缘的英特尔 DevCloud 允许用户开发、原型化和试验用于计算机视觉的 AI 工作负载。开发人员能够在各种最新的英特尔硬件上远程运行 AI 应用程序,并立即访问最新的英特尔 OpenVINO 工具包分发版。此外,它还提供了对各种 CPU、GPU、VPU 组合和 FPGA 的特定应用性能基准的访问。最后,DevCloud for the Edge 提供遥测指标,包括有关计算设备的强度和使用条件的数据。 对于想要为其应用程序启用遥测指标并做出数据驱动决策以确定适合其解决方案的最佳硬件的用户,本文将介绍如何操作。 要开始使用面向边缘的英特尔 DevCloud,请查看面向边缘的英特尔 DevCloud 入门。 1.1 简介 此示例应用程序讨论了启用 Intel DevCloud for the Edge 环境中内置的遥测仪表板所需的条件。具体来说,在自定义模型上运行指标的步骤,由英特尔 OpenVINO 工具套件分发支持,用于推理,输入数据(图像和视频)。完成对模型应用程序的推理后,您就可以比较计算节点上可用的遥测指标。 这是使用此示例应用程序在英特尔 GPU 上进行人员检测的遥测仪表板输出结果。
(来源:英特尔)仪表板包含在给定作业期间运行的应用程序详细信息——即:平均推理时间 (MS)、推理计数、目标硬件。它还包括以下指标:每秒帧数、推理时间、推理期间的 CPU/GPU 使用率、平均 CPU/GPU 温度以及推理期间的内存使用率。 在本教程结束时,您将能够为您的自定义模型生成此系统级数据和仪表板,并了解您的模型在不同英特尔硬件上的性能并确定最适合您的解决方案的硬件。 1.2 概述 Intel DevCloud for the Edge 示例的整体工作流程如下:
(来源:英特尔)- 注册面向边缘的英特尔 DevCloud
- 启动并打开 Jupyter Notebook
- 使用指定的目标硬件开发模型并将作业发送到作业队列
- 指标/结果由 Jupyter Notebook 访问
- 通过 Grafana 仪表板生成遥测数据
1.2.1 OpenVINO Toolkit 的 Intel 发行版 OpenVINO 工具包是一个强大的工具包,用于快速设计应用程序,通过英特尔硬件扩展计算机视觉和非视觉工作负载,优化效率,使用新一代人工神经网络。 1.2.2 模型优化器 模型优化器与使用支持的深度学习系统开发的网络模型配合使用。模型优化器创建网络的中间表示 (IR),推理引擎可以读取、加载和推断该表示。该模型由一对称为中间表示的文件定义,其中包括 an.xml(网络拓扑信息)和 a.bin(权重和偏差二进制数据)。 1.2.3 推理机 推理引擎包括一个适用于所有英特尔硬件的插件库,并允许加载经过训练的模型。为此,应用程序将告诉推理引擎要针对哪个硬件以及该设备的相应插件库。推理引擎对所有数据表示使用 blob,这些数据表示捕获模型的输入和输出数据。推理引擎 API 将用于加载插件、读取模型中间表示、将模型加载到插件中并处理输出。 1.2.4 Intel OpenVINO Metrics Writer(安装在DevCloud环境中) Intel DevCloud for the Edge 有一个预安装的 Python 包,用于收集 OpenVINO 应用指标。需要导入 applicationMetricWriter 并调用两个函数来捕获模型的信息以及推理时间。正确调用这两个函数后,它会将收集到的系统级数据发送到遥测 Grafana 仪表板。 注意*此存储库不是公开的,只能在面向边缘环境的英特尔 DevCloud 中使用。 1.3 示例应用 让我们开始在 DevCloud 环境中通过 Jupyter Notebook 启用遥测仪表板。
(来源:英特尔)这些是将要执行的任务: - 导入所有自定义模型文件(tensorflow、kaldi、onnx 等)
- 使用模型优化器以必要的精度创建模型中间表示 (IR) 文件(权重和架构 - 查看模型优化器以了解与推理引擎兼容的模型 -.xml 和 .bin 文件)
- 创建用于在计算节点上提交运行推理的作业文件 (.sh)
- 使用 Application Metrics Writer 启用遥测
- 为不同的计算节点提交作业并监控作业状态直到完成(提交作业会调用bash和自定义python文件)
- 在遥测仪表板上显示模型指标
这些是用于启用遥测指标的示例文件。
|