Telemetry介紹
上一篇文章我們介紹了Intel Developer Cloud Telemetry的概念和功能,通過該功能的數據分析,可以更好地優化產品方案。有關Telemetry 的工作原理和集成方法,我將在這篇文章里細細解釋。耐心看下去,相信您肯定可以在自己應用中開啟這個功能。Telemetry收集流程
| 圖 1-2 Telemetry收集數據流程概括來說,對自定義AI模型上運行模型優化,由Intel OpenVINO進行推理,完成對AI模型的推理后,您就可以獲得計算節點上可用的遙測指標。具體步驟如下:1. 導入所有自定義模型文件(tensorflow、kaldi、onnx 等)2. 使用模型優化器以必要的精度創建模型中間表示 (IR) 文件3. 創建用于在計算節點上提交運行推理的作業文件 (.sh)4. 使用 Application Metrics Writer 啟用遙測5. 為不同的計算節點提交作業并監控作業狀態直到完成(提交作業會調用bash和自定義python文件)6. 在遙測儀表板上顯示模型指標注意:流程里不止包含Telemetry。而是AI應用在DevCloud上運行的流程,以便您可以了解Telemetry功能在應用里的位置。參考:https://www.embedded.com/enabling-telemetry-for-custom-models-in-intel-devcloud-for-the-edge/Telemetry集成
這次依然選擇object-detection-python實例來介紹集成方法,應用程序的 python 代碼中調用了applicationMetricWriter模塊向Telemetry傳遞數據指標如,幀率、推理時間、模型名稱、推理硬件信息,下面通過具體代碼來展示詳細信息。-
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數據訪問
https://devcloud.intel.com/edge/metrics/d/+ID
比如:https://devcloud.intel.com/edge/metrics/d/573403訪問該路徑即可獲取Telemetry 的數據了。| 圖 3-3 Telemetry界面總 結
看到這相信您一定理解了Intel Developer Cloud Telemetry 的集成方法了,它并沒有我們想象的那么復雜。我這里總結出來,只是為了方便剛開始接觸這塊的您更快上手,不用花費太多精力就可以更快的把事情搞定。如果您在使用過程中有碰到問題,期待一起交流。這篇就到這吧。審核編輯 :李倩
-
AI
+關注
關注
87文章
30728瀏覽量
268886 -
應用程序
+關注
關注
37文章
3265瀏覽量
57678 -
數據分析
+關注
關注
2文章
1445瀏覽量
34050
原文標題:Intel Developer Cloud Telemetry數據分析(二)
文章出處:【微信號:SDNLAB,微信公眾號:SDNLAB】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論