0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Intel Developer Cloud之Telemetry數(shù)據(jù)分析

英特爾物聯(lián)網(wǎng) ? 來源:英特爾物聯(lián)網(wǎng) ? 2023-07-07 10:55 ? 次閱讀

文章作者:英特爾高級應(yīng)用工程師尹參軍

01Telemetry 介紹

在上一篇文章中介紹了 Intel Developer Cloud Telemetry的概念和功能,通過該功能的數(shù)據(jù)分析,可以更好地優(yōu)化產(chǎn)品方案。有關(guān) Telemetry 的工作原理和集成方法,我將在這篇文章里細細解釋。耐心看下去,相信您肯定可以在自己應(yīng)用中開啟這個功能。

02Telemetry 收集流程

ac6ebce4-1bec-11ee-962d-dac502259ad0.png

圖 1-2 Telemetry收集數(shù)據(jù)流程

概括來說,對自定義 AI 模型上運行模型優(yōu)化,由OpenVINO工具套件進行推理,完成對 AI 模型的推理后,您就可以獲得計算節(jié)點上可用的遙測指標(biāo)。具體步驟如下:

1導(dǎo)入所有自定義模型文件(tensorflow、kaldi、onnx 等)

2使用模型優(yōu)化器以必要的精度創(chuàng)建模型中間表示(IR)文件

3創(chuàng)建用于在計算節(jié)點上提交運行推理的作業(yè)文件(.sh)

4使用 Application Metrics Writer 啟用遙測

5為不同的計算節(jié)點提交作業(yè)并監(jiān)控作業(yè)狀態(tài)直到完成(提交作業(yè)會調(diào)用 bash 和自定義 python 文件)

6在遙測儀表板上顯示模型指標(biāo)

注意:流程里不止包含 Telemetry 。而是 AI 應(yīng)用在 DevCloud 上運行的流程,以便您可以了解 Telemetry 功能在應(yīng)用里的位置。

03Telemetry 集成

這次依然選擇 object-detection-python 實例來介紹集成方法,應(yīng)用程序的 python 代碼中調(diào)用了 applicationMetricWriter 模塊向 Telemetry 傳遞數(shù)據(jù)指標(biāo)如,幀率、推理時間、模型名稱、推理硬件信息,下面通過具體代碼來展示詳細信息。

Step.1

登錄 JupyterLab

登錄 Intel Developer Cloud 主頁后,點擊“Bare Metal Deployment” 的 “Get Started” 按鈕,進入 Jupyter Lab 開發(fā)環(huán)境。在左側(cè)目錄導(dǎo)航欄選擇這個路徑:

Reference-samples/iot-devcloud/openvino-dev-latest/developer-samples/python/

然后找到 object-detection-python 應(yīng)用。

Step.2

程序源碼分析

直接打開 object_detection.py ,可以看到在文件開頭部分導(dǎo)入了 applicationMetricWriter 模塊。我們可以在 Jupyter notebook 里直接查看它的函數(shù)。方法如下:

aca55c4a-1bec-11ee-962d-dac502259ad0.png

可以看到它只有兩個函數(shù),使用起來非常的簡單,我們來逐一介紹一下這兩個函數(shù)。send_inference_time() 用來向 Telemetry 數(shù)據(jù)發(fā)送每一幀推送所消耗的時間,唯一要注意的是每一幀哦。這就要求你能區(qū)分每一幀推理的時間。如果你選擇 async 模式,就需要考慮是不是適用了。 send_application_metrics 主要傳遞的是模型的名字和推理設(shè)備的名字,以便于你能更好地標(biāo)記這個任務(wù)。

看到這里,估計你的想法與我剛開始的一樣,怎么沒有看到上傳 CPU, GPU, Thermal 等數(shù)據(jù)上傳呢?其實是因為這些數(shù)據(jù)都是通用的,這塊就沒有必要放在用戶側(cè)來每次都重復(fù)寫一遍,在后端直接默認做了。從這里我們可以看到,最重要的數(shù)據(jù)還是推理時間的上傳。

現(xiàn)在這兩個函數(shù)在程序里的調(diào)用時機,這里我注釋了沒有必要的代碼,以方便觀察。

#!/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)

向右滑動查看完整代碼

step.3

Telemetry 數(shù)據(jù)訪問

等應(yīng)用程序在邊緣節(jié)點運行結(jié)束,我們就可以去查看 Telemetry 的數(shù)據(jù)了。數(shù)據(jù)的連接您可以參考這個object-detection-python 里的方法,直接點擊下圖中框① Telemetry 按鍵獲取連接方式。

accb8938-1bec-11ee-962d-dac502259ad0.png

當(dāng)然您也可以自己手動生成這樣一個連接,注意上圖中框②處的 ID 號。使用 Telemetry 服務(wù)器地址拼接該 ID 號,即可訪問該數(shù)據(jù)。

https://devcloud.intel.com/edge/metrics/d/+ID

比如:https://devcloud.intel.com/edge/metrics/d/573403

訪問該路徑即可獲取 Telemetry 的數(shù)據(jù)了。

ace6fb96-1bec-11ee-962d-dac502259ad0.png

03總結(jié)

看到這相信您一定理解了 Intel Developer Cloud Telemetry 的集成方法了,它并沒有我們想象的那么復(fù)雜。我這里總結(jié)出來,只是為了方便剛開始接觸這塊的您更快上手,不用花費太多精力就可以更快的把事情搞定。如果您在使用過程中有碰到問題,期待一起交流。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 英特爾
    +關(guān)注

    關(guān)注

    61

    文章

    9964

    瀏覽量

    171773
  • intel
    +關(guān)注

    關(guān)注

    19

    文章

    3482

    瀏覽量

    185997
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    30896

    瀏覽量

    269086
  • 數(shù)據(jù)分析
    +關(guān)注

    關(guān)注

    2

    文章

    1449

    瀏覽量

    34059
  • Developer
    +關(guān)注

    關(guān)注

    0

    文章

    25

    瀏覽量

    6417

原文標(biāo)題:Intel? Developer Cloud 之 Telemetry 數(shù)據(jù)分析 (二) | 開發(fā)者實戰(zhàn)

文章出處:【微信號:英特爾物聯(lián)網(wǎng),微信公眾號:英特爾物聯(lián)網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Intel PXA27x Processor Family Developer's Manual

    Intel PXA27x Processor Family Developer's Manual 共29章!值得一學(xué)!  
    發(fā)表于 11-23 09:56

    數(shù)據(jù)分析

    數(shù)據(jù)分析軟件
    發(fā)表于 05-28 22:31

    數(shù)據(jù)分析需要的技能

    商業(yè)價值的轉(zhuǎn)換,數(shù)據(jù)分析師是其中一個重要的職位,那么,想從事該職業(yè)需要具備哪些技能呢?1. 精通ExcelExcel處理技能是大數(shù)據(jù)分析師必備技能,并且需要十分精通,除了常規(guī)操作和函數(shù),一些不常
    發(fā)表于 04-10 15:59

    怎么有效學(xué)習(xí)Python數(shù)據(jù)分析

    Python在人工智能、機器學(xué)習(xí)領(lǐng)域受到火熱追捧,很大程度上在于它擁有非常龐大的第三方庫,以及強大的通用編程性能。因此,快速掌握Python進行數(shù)據(jù)分析,就是學(xué)習(xí)Python各種第三方庫、工具包
    發(fā)表于 06-28 15:18

    python數(shù)據(jù)分析安裝mysql數(shù)據(jù)

    python 數(shù)據(jù)分析基礎(chǔ) day11-mysql安裝
    發(fā)表于 03-20 11:18

    基于Python的數(shù)據(jù)分析

    《利用Python進行數(shù)據(jù)分析》 113日期范圍、頻率和移位
    發(fā)表于 05-01 11:24

    python數(shù)據(jù)分析基礎(chǔ)使用statasmodels進行線性回歸

    python 數(shù)據(jù)分析基礎(chǔ) day16-使用statasmodels進行線性回歸
    發(fā)表于 06-19 11:22

    怎么做自己做得快、老板看得開心的數(shù)據(jù)分析報表?

    本月公司支出費用上漲,只需雙擊就能層層鉆取,將與相關(guān)的所有數(shù)據(jù)起底式鉆取出來,精確到部門乃至個人。 SpeedBI數(shù)據(jù)分析云制作的數(shù)據(jù)分析報表雖然有一個預(yù)設(shè)的
    發(fā)表于 06-19 17:21

    BI數(shù)據(jù)分析軟件使用指南

    BI數(shù)據(jù)分析軟件做數(shù)據(jù)深度分析又快又直觀,還能靈活滿足不同人的數(shù)據(jù)分析需求,因此選擇BI數(shù)據(jù)分析軟件的企業(yè)與個人也越來越多,但卻仍有很大一部
    發(fā)表于 01-04 11:00

    電商數(shù)據(jù)分析攻略,讓你輕松搞定數(shù)據(jù)分析!

    在當(dāng)今的數(shù)字經(jīng)濟時代,運用大數(shù)據(jù)分析來促進業(yè)務(wù)增長已然成為一種普遍行為,擁有一套系統(tǒng)化的數(shù)據(jù)分析方案尤為重要。奧威BI電商數(shù)據(jù)分析方案是一種基于數(shù)據(jù)挖掘和機器學(xué)習(xí)技術(shù)的解決方案,以豐富
    發(fā)表于 06-27 09:22

    數(shù)據(jù)分析步驟

    數(shù)據(jù)分析過程的主要活動由識別信息需求、收集數(shù)據(jù)、分析數(shù)據(jù)、評價并改進數(shù)據(jù)分析的有效性組成。
    的頭像 發(fā)表于 12-19 16:36 ?4.9w次閱讀

    IBM Cloud Pak for Data平臺讓數(shù)據(jù)分析變得更簡單

    實驗室。但對非科技專業(yè)的學(xué)生和院系來說,分析數(shù)據(jù)的技術(shù)及工具很復(fù)雜和難用。因此,仁大選擇了IBM Cloud Pak for Data平臺,解決這個難題,令數(shù)據(jù)分析變得更簡單。
    的頭像 發(fā)表于 04-14 11:26 ?1880次閱讀

    Intel? Developer Cloud Telemetry數(shù)據(jù)分析

    Telemetry 數(shù)據(jù)包含在給定作業(yè)運行期間的應(yīng)用程序詳細信息——即:平均推理時間 (MS)、推理計數(shù)、目標(biāo)硬件。它還包括以下指標(biāo):每秒幀數(shù)、推理時間、推理期間的 CPU/GPU 使用率、平均 CPU/GPU 溫度以及推理期間的內(nèi)存使用率。
    的頭像 發(fā)表于 03-17 11:17 ?424次閱讀

    Intel Developer Cloud Telemetry數(shù)據(jù)分析(二)

    這次依然選擇object-detection-python實例來介紹集成方法,應(yīng)用程序的 python 代碼中調(diào)用了applicationMetricWriter模塊向Telemetry傳遞數(shù)據(jù)指標(biāo)如,幀率、推理時間、模型名稱、推理硬件信息,下面通過具體代碼來展示詳細信息
    的頭像 發(fā)表于 03-21 10:32 ?538次閱讀

    Intel Developer Cloud Telemetry數(shù)據(jù)分析(一)

    Telemetry(遙測)是指Intel Developer Cloud 幫助開發(fā)者收集應(yīng)用程序執(zhí)行時開發(fā)者指定的信息,并通過 UI 的形式展現(xiàn)的功能,該功能可以被啟動或關(guān)閉。
    的頭像 發(fā)表于 06-05 15:57 ?687次閱讀
    <b class='flag-5'>Intel</b> <b class='flag-5'>Developer</b> <b class='flag-5'>Cloud</b> <b class='flag-5'>Telemetry</b><b class='flag-5'>數(shù)據(jù)分析</b>(一)