六月婷婷AV,国产偷窥猎奇福利二区,日韩三级片。,好吊色网站,日韩成人中文在线视频,国产亚洲午夜啪啪,亚洲欧美另类国产精品,国产成人av1,任你艹在线观看

Intel AIxBoard?+時序數(shù)據(jù)庫 TDengine,更好地幫你預(yù)測“未來”

英特爾軟件架構(gòu)師, 馮偉

2023-07-24 / ,

英特爾數(shù)字化開發(fā)套件 AIxBoard 是一款 AI 架構(gòu)的人工智能嵌入式開發(fā)板,體積小巧功能強(qiáng)大,可以在時序數(shù)據(jù)預(yù)測、圖像分類、目標(biāo)檢測分割和語音處理等應(yīng)用中并行運行多個神經(jīng)網(wǎng)絡(luò)。作為一款面向?qū)I(yè)創(chuàng)客、開發(fā)者的功能強(qiáng)大的小型計算機(jī),借助開源人工智能工具套件 OpenVINO ,AIxBoard 能夠讓 CPU、iGPU 都具備強(qiáng)勁的 AI 推理能力。

Intel AIxBoard?+時序數(shù)據(jù)庫 TDengine,更好地幫你預(yù)測“未來” - TDengine Database 時序數(shù)據(jù)庫

如果時序數(shù)據(jù)庫(Time Series Database,TSDB)TDengine 高效的存儲查詢特性和開放易用的生態(tài)集成能力,疊加上 AIxBoard/OpenVINO 的人工智能分析能力,這一強(qiáng)強(qiáng)組合將可以幫助用戶更簡單快速地開發(fā)出一個強(qiáng)大的時序數(shù)據(jù)人工智能分析系統(tǒng)。 本文將為大家介紹 Intel 團(tuán)隊如何在 AIxBoard 開發(fā)套件上運行 TDengine、OpenVINO 和其他軟件,搭建時序數(shù)據(jù)收集、存儲、分析和展示的解決方案,模擬實現(xiàn)高速公路網(wǎng)的通行速度實時預(yù)測功能。

方案架構(gòu)

本方案采用了微服務(wù)架構(gòu),每個模塊都有各自的 Docker 鏡像,所有微服務(wù)均使用 docker compose 管理,代碼倉庫位于 https://github.com/wayfeng/traffic_prediction。

Intel AIxBoard?+時序數(shù)據(jù)庫 TDengine,更好地幫你預(yù)測“未來” - TDengine Database 時序數(shù)據(jù)庫

數(shù)據(jù)采集模塊

本方案使用的數(shù)據(jù)集來自加州交通部的 PeMS 交通數(shù)據(jù)庫——包含在加州的高速公路上收集的大量真實數(shù)據(jù)。我們模擬傳感器 sensor 應(yīng)用 MQTT 協(xié)議發(fā)布通行速度數(shù)據(jù),其中模擬數(shù)據(jù)來自 PeMSD7 數(shù)據(jù)集的測試部分,模擬模塊根據(jù)系統(tǒng)時間提取數(shù)據(jù)集對應(yīng)的當(dāng)時速度,再加上少量隨機(jī)分布的誤差,作為整個系統(tǒng)的輸入。通過 MQTT broker,我們能夠接收到模擬傳感器發(fā)布的速度數(shù)據(jù),隨后將這部分?jǐn)?shù)據(jù)轉(zhuǎn)發(fā)給 TDengine 進(jìn)行存儲。

數(shù)據(jù)存儲模塊

數(shù)據(jù)存儲使用 TDengine 的官方 Docker 鏡像進(jìn)行。借助 TDengine 豐富的生態(tài)協(xié)作能力,只需經(jīng)過簡單配置,即可通過 MQTT broker 將數(shù)據(jù)寫入 TDengine,并通過 Grafana 對 TDengine 存儲的數(shù)據(jù)進(jìn)行展示。

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

分析模塊(gcrnn)集成了 OpenVINO 和 TDengine 客戶端。在每一次分析過程中,我們使用 TDengine 客戶端查詢已經(jīng)存入的各路段通行速度,并使用 TDengine 的數(shù)據(jù)聚合函數(shù)獲取過去一小時的每 5 分鐘均值,將生成的張量作為 OpenVINO Runtime 的輸入,然后使用 TDengine 客戶端將 OpenVINO Runtime 推理輸出——也就是模型預(yù)測的未來通行速度——寫入TDengine。定時重復(fù)這一過程,即可實時預(yù)測各個路段未來的通行速度。

數(shù)據(jù)展示

數(shù)據(jù)展示模塊使用了 Grafana 官方提供的 Docker 鏡像。TDengine 官方支持 data source plugin,可以輕松為 Grafana 提供數(shù)據(jù)。為了避免重復(fù)配置數(shù)據(jù)源和 Dashboard,這里可以使用 Grafana 的 Profiling 功能,通過配置文件使 Grafana 容器在啟動時將 TDengine 設(shè)置為默認(rèn)數(shù)據(jù)源,同時也可以加載準(zhǔn)備好的 Dashboard。

相關(guān)資料參見 Provision Grafana:https://grafana.com/docs/grafana/latest/administration/provisioning

方案效果

本文本例中采用的 PeMSD7 子集,其中包含了加州第七區(qū) (District 7) 的高速公路網(wǎng)中設(shè)置的 228 個速度傳感器采集到的 44 個工作日的數(shù)據(jù),這些傳感器每 30 秒采集一次所在路段的通過速度,最終的數(shù)據(jù)則是通行速度每 5 分鐘的平均值。

Intel AIxBoard?+時序數(shù)據(jù)庫 TDengine,更好地幫你預(yù)測“未來” - TDengine Database 時序數(shù)據(jù)庫

下圖為隨機(jī)挑選的 3 個傳感器采集的三天通行速度曲線。圖中縱坐標(biāo)為通行速度,單位是 km/h。橫坐標(biāo)是時間,每個點代表 5 分鐘。從圖中很容易看出每個傳感器所在路段的通行速度隨一天時間變化都有比較明顯的規(guī)律,但不同路段各自的規(guī)律又有明顯的差別。

Intel AIxBoard?+時序數(shù)據(jù)庫 TDengine,更好地幫你預(yù)測“未來” - TDengine Database 時序數(shù)據(jù)庫

對某一個或多個變量,基于過去一段時間觀察到的值來預(yù)測未來一段時間內(nèi)可能可能發(fā)生的值,屬于典型的時序數(shù)據(jù)預(yù)測問題。在本案例中,我們希望通過每個路段過去一段時間的通行速度,來預(yù)測未來一段時間的通行速度。

Intel AIxBoard?+時序數(shù)據(jù)庫 TDengine,更好地幫你預(yù)測“未來” - TDengine Database 時序數(shù)據(jù)庫

模型訓(xùn)練

此前傳統(tǒng)統(tǒng)計模型(例如 ARIMA 模型及其各個變種模型)在時間序列預(yù)測問題取得了顯著成果,但這類傳統(tǒng)模型往往受限于數(shù)據(jù)平穩(wěn)性假設(shè),在處理多個變量時,變量間關(guān)系也無法體現(xiàn)在模型中。比如本例中,各個傳感器所在路段在地理上的關(guān)聯(lián)就在傳統(tǒng)模型中被忽略掉了。

相關(guān)資料參見 Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecasting:https://arxiv.org/abs/1709.04875 本文采用了上方參考資料中介紹的圖卷積(graph convolution)加 LSTM 的簡化模型。模型首先需要根據(jù)傳感器間的距離構(gòu)建一張無向圖,并使用圖卷積作為模型的第一層,配合 LSTM 層可以使模型同時學(xué)習(xí)空間和時間的信息。

Intel AIxBoard?+時序數(shù)據(jù)庫 TDengine,更好地幫你預(yù)測“未來” - TDengine Database 時序數(shù)據(jù)庫

我們提取了 PeMSD7 數(shù)據(jù)集中的 26 個傳感器的數(shù)據(jù),并按照訓(xùn)練(50%),驗證(20%),和測試(30%)對其進(jìn)行了分割,部分測試數(shù)據(jù)用來作為數(shù)據(jù)模擬模塊的輸入。

具體模型訓(xùn)練的細(xì)節(jié)參見 Traffic forecasting using graph neural networks and LSTM:https://keras.io/examples/timeseries/timeseries_traffic_forecasting/

模型轉(zhuǎn)換

OpenVINO 自帶的模型優(yōu)化器能夠?qū)?PyTorch、TensorFlow 等多種框架訓(xùn)練得到的模型轉(zhuǎn)換為 OpenVINO Runtime 需要的中間格式(IR)。具體轉(zhuǎn)換方法在 OpenVINO 官方文檔中有詳細(xì)解釋。

詳細(xì)信息可見《使用模型優(yōu)化器轉(zhuǎn)換模型》:https://docs.openvino.ai/cn/2022.1/openvino_docs_MO_DG_Deep_Learning_Model_Optimizer_DevGuide.html

展示效果

經(jīng)過一段時間運行,可以觀察到類似下圖的效果。

Intel AIxBoard?+時序數(shù)據(jù)庫 TDengine,更好地幫你預(yù)測“未來” - TDengine Database 時序數(shù)據(jù)庫

圖中第一列是隨機(jī)選取的幾個傳感器發(fā)送的實時數(shù)據(jù)和使用 gcrnn 模塊推理得到的一小段時間之后的預(yù)測值。下面的 4 個折線圖中,黃色曲線是 gcrnn 預(yù)測的通行速度,綠色曲線是實際的通行速度。可以看出,使用本例中的簡單模型進(jìn)行推理得到的預(yù)測結(jié)果與實際數(shù)據(jù)還是比較接近的。

總結(jié)

本文通過模擬高速公路網(wǎng)通行速度采集與實時預(yù)測的案例,介紹了構(gòu)建時間序列信號收集、存儲和分析的基本流程以及所需工具,展示了運行在 Intel AIxBoard? 上的 TDengine 便捷高效的數(shù)據(jù)收集、存儲、查詢和展示能力,以及 OpenVINO 基于深度學(xué)習(xí)進(jìn)行時間序列信號分析的能力。閱讀完本篇文章,你對時序數(shù)據(jù)處理和預(yù)測一定也有了更深的體會,如果你想要進(jìn)行深度技術(shù)交流,可以添加小Tvx:tdengine1,申請加入 TDengine 技術(shù)交流群。

作者介紹: 馮偉,英特爾軟件架構(gòu)師,16年軟件研發(fā)經(jīng)驗,涵蓋瀏覽器、計算機(jī)視覺、虛擬機(jī)等多個領(lǐng)域。2015年加入英特爾,近年來專注于邊緣計算、深度學(xué)習(xí)模型落地,以及時序數(shù)據(jù)分析等方向。