Telemetry 介绍
Telemetry(遥测)是指Intel Developer Cloud帮助开发者收集应用程序执行时开发者指定的信息,并通过UI 的形式展现的功能,该功能可以被启动或关闭。
Intel Developer Cloud提供的遥测指标,包括有关计算设备运行状态和应用运行数据。在Intel Developer Cloud的部分实例调用了Telemetry Dashboard模块,我们可以通过运行这块单元格来查看边缘节点上运行应用过程中实际数据,这些数据对于想要为其应用程序做出数据驱动决策以确定适合其解决方案的最佳硬件的用户来说是很有参考价值的。
Telemetry 涉及的内容比较多,我们本仅从Telemetry概念,功能做介绍,对于如何把Telemetry 功能集成到自己的应用中去,我们后面会再做分析。
Telemetry 流程
Intel Developer Cloud示例的整体工作流程如下:
| 工作流程图
1.注册Intel Developer Cloud
2.启动并打开 Jupyter Notebook
3.使用指定的目标硬件开发模型并将作业发送到作业队列
4. 应用运行时调用Telemetry 接口记录数据
5.指标/结果由 Jupyter Notebook 访问
6.通过 Grafana 仪表板生成遥测数据
Telemetry 数据包含在给定作业运行期间的应用程序详细信息——即:平均推理时间 (MS)、推理计数、目标硬件。它还包括以下指标:每秒帧数、推理时间、推理期间的 CPU/GPU 使用率、平均 CPU/GPU 温度以及推理期间的内存使用率。
裸机实例演示
>Step1. 进入Jupyter Lab环境
登录Intel Developer Cloud主页后,选择“Bare Metal Deployment”的 “Get Started”,进入Jupyter Notebook开发环境。
| 点击进入Jupyter Notebook
>Step2. 运行参考实例
这次我们并不去细究Telemetry调用,所以选择已经集成了Telemetry 的预置实例——物体检测。我在多个介绍文章里选择把这个预置实例拎出来,主要是因为它功能非常齐全,很适合做演示。当然平台还有很多预置程序,可以自行去探索,大可不必局限于这个实例。
进入Jupyter Notebook开发环境后,依次点击文件夹~/Reference-samples/iot-devcloud/openvino-dev-latest/developer-samples/python/,然后找到object-detection-python应用,打开object_detection_demo.ipynb文件:
依次运行notebook上模块(Cell),需要注意的是要等在边缘节点上的应用运行完毕后,再去点击notebook最后Telemetry Dashboard模块,会生成进入Telemetry数据页面的链接地址,点击即可进入数据页面,观察边缘设备运行对象检测应用的数据指标。注意:数据收集发生在应用过程,并随应用终止而结束,需等收集结束后才可查看数据。
| Submit jobs
| Telemetry Dashboard
| 观察数据
总 结
Telemetry虽然功能简单,却是十分关键。获取AI应用执行过程中设备的状态,通过数据分析,找到一个更合理的硬件搭配,发现我们设备资源瓶颈,才能更好地优化我们的方案。
上面只是演示了裸机部署实例,在DevCloud 容器化环境下也是支持Telemetry功能的,原理一样,这里不再赘述,您可以自行去探索一下。
审核编辑 :李倩
全部0条评论
快来发表一下你的评论吧 !