Telemetry介紹
上一篇文章我們介紹了Intel Developer Cloud Telemetry的概念和功能,通過(guò)該功能的數(shù)據(jù)分析,可以更好地優(yōu)化產(chǎn)品方案。有關(guān)Telemetry 的工作原理和集成方法,我將在這篇文章里細(xì)細(xì)解釋。耐心看下去,相信您肯定可以在自己應(yīng)用中開(kāi)啟這個(gè)功能。Telemetry收集流程
| 圖 1-2 Telemetry收集數(shù)據(jù)流程概括來(lái)說(shuō),對(duì)自定義AI模型上運(yùn)行模型優(yōu)化,由Intel OpenVINO進(jìn)行推理,完成對(duì)AI模型的推理后,您就可以獲得計(jì)算節(jié)點(diǎn)上可用的遙測(cè)指標(biāo)。具體步驟如下:1. 導(dǎo)入所有自定義模型文件(tensorflow、kaldi、onnx 等)2. 使用模型優(yōu)化器以必要的精度創(chuàng)建模型中間表示 (IR) 文件3. 創(chuàng)建用于在計(jì)算節(jié)點(diǎn)上提交運(yùn)行推理的作業(yè)文件 (.sh)4. 使用 Application Metrics Writer 啟用遙測(cè)5. 為不同的計(jì)算節(jié)點(diǎn)提交作業(yè)并監(jiān)控作業(yè)狀態(tài)直到完成(提交作業(yè)會(huì)調(diào)用bash和自定義python文件)6. 在遙測(cè)儀表板上顯示模型指標(biāo)注意:流程里不止包含Telemetry。而是AI應(yīng)用在DevCloud上運(yùn)行的流程,以便您可以了解Telemetry功能在應(yīng)用里的位置。參考:https://www.embedded.com/enabling-telemetry-for-custom-models-in-intel-devcloud-for-the-edge/Telemetry集成
這次依然選擇object-detection-python實(shí)例來(lái)介紹集成方法,應(yīng)用程序的 python 代碼中調(diào)用了applicationMetricWriter模塊向Telemetry傳遞數(shù)據(jù)指標(biāo)如,幀率、推理時(shí)間、模型名稱、推理硬件信息,下面通過(guò)具體代碼來(lái)展示詳細(xì)信息。-
Step1. 登錄JupyterLab
-
Step2. 程序源碼分析
#!/usr/bin/env python
import applicationMetricWriter
...
def main():
...
try:
infer_time_start = time.time()
with open(processed_vid, "rb") as data:
while frame_count < video_len:
byte = data.read(CHUNKSIZE)
if not byte == b"":
deserialized_bytes = np.frombuffer(byte, dtype=np.uint8)
in_frame = np.reshape(deserialized_bytes, newshape=(n, c, h, w))
inf_time = time.time()
exec_net.start_async(request_id=current_inference,inputs={input_blob: in_frame})
# Retrieve the output of an earlier inference request
if previous_inference >= 0:
status = infer_requests[previous_inference].wait()
if status is not 0:
raise Exception("Infer request not completed successfully")
det_time = time.time() - inf_time
applicationMetricWriter.send_inference_time(det_time*1000)
res = output_postprocessor(exec_net.requests[previous_inference].output_blobs)
processBoxes(frame_count, res, labels_map, args.prob_threshold, width, height, result_file)
frame_count += 1
…
applicationMetricWriter.send_application_metrics(model_xml, args.device)
-
Step3.Telemetry數(shù)據(jù)訪問(wèn)
https://devcloud.intel.com/edge/metrics/d/+ID
比如:https://devcloud.intel.com/edge/metrics/d/573403訪問(wèn)該路徑即可獲取Telemetry 的數(shù)據(jù)了。| 圖 3-3 Telemetry界面總 結(jié)
看到這相信您一定理解了Intel Developer Cloud Telemetry 的集成方法了,它并沒(méi)有我們想象的那么復(fù)雜。我這里總結(jié)出來(lái),只是為了方便剛開(kāi)始接觸這塊的您更快上手,不用花費(fèi)太多精力就可以更快的把事情搞定。如果您在使用過(guò)程中有碰到問(wèn)題,期待一起交流。這篇就到這吧。審核編輯 :李倩
-
AI
+關(guān)注
關(guān)注
87文章
28877瀏覽量
266254 -
應(yīng)用程序
+關(guān)注
關(guān)注
37文章
3198瀏覽量
57364 -
數(shù)據(jù)分析
+關(guān)注
關(guān)注
2文章
1393瀏覽量
33909
原文標(biāo)題:Intel Developer Cloud Telemetry數(shù)據(jù)分析(二)
文章出處:【微信號(hào):SDNLAB,微信公眾號(hào):SDNLAB】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論