91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內不再提示

如何快速部署邊緣就緒的機器學習應用

海闊天空的專欄 ? 來源:Stephen Evanczuk ? 作者:Stephen Evanczuk ? 2023-10-03 14:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:Stephen Evanczuk

機器學習 (ML) 為創(chuàng)造智能產品提供了巨大的潛力,但神經網(wǎng)絡 (NN) 建模和為邊緣創(chuàng)建 ML應用非常復雜且困難,限制了開發(fā)人員快速交付有用解決方案的能力。雖然現(xiàn)成的工具使 ML 模型的創(chuàng)建在總體上更加容易,但傳統(tǒng)的 ML 開發(fā)實踐并不是為了滿足物聯(lián)網(wǎng)IoT)、汽車、工業(yè)系統(tǒng)和其他嵌入式應用解決方案的獨特要求而設計的。

本文首先對 NN 建模進行簡要介紹,然后介紹并描述如何使用 NXP Semiconductors 的綜合 ML 平臺讓開發(fā)人員更有效地交付邊緣就緒的 ML應用。

NN 建??焖倩仡?/p>

ML算法為開發(fā)人員提供了截然不同的應用開發(fā)選擇。開發(fā)人員不是編寫軟件代碼來明確解決諸如圖像分類等問題,而是提供一組數(shù)據(jù)——例如標注了所含實體的真實名稱(或類別)的圖像——來訓練NN 模型。訓練過程使用各種方法來計算模型的參數(shù),即每個神經元和每層的權重和偏置值,使模型能夠對輸入圖像的正確類別提供相當準確的預測(圖 1)。

1.png

除圖 1 所示的通用全連接 NN 外,ML 研究人員還發(fā)展了范圍廣泛的 NN 架構。例如,圖像分類應用通常利用一種專門的架構——卷積神經網(wǎng)絡(CNN),它將圖像識別分成兩個階段:初始階段查找圖像的關鍵特征,分類階段預測它可能屬于訓練期間確定的多個類別中的哪一類(圖 2)。

1.png

盡管只有 ML
專家能夠選擇適當?shù)哪P图軜嫼陀柧毞桨福喾N開源和商用工具的出現(xiàn)極大地簡化了大規(guī)模部署的模型開發(fā)。如今,開發(fā)人員使用幾行代碼便可定義模型(清單1),然后利用開源 Netron 模型查看器等工具生成模型的圖形表示(圖 3),以檢查每一層的定義和連接。

def model_create(shape_in, shape_out):

from keras.regularizers import l2

tf.random.set_seed(RANDOM_SEED)

model = tf.keras.Sequential()

model.add(tf.keras.Input(shape=shape_in, name=‘acceleration’))

model.add(tf.keras.layers.Conv2D(8, (4, 1), activation=‘relu’))

model.add(tf.keras.layers.Conv2D(8, (4, 1), activation=‘relu’))

model.add(tf.keras.layers.Dropout(0.5))

model.add(tf.keras.layers.MaxPool2D((8, 1), padding=‘valid’))

model.add(tf.keras.layers.Flatten())

model.add(tf.keras.layers.Dense(64, kernel_regularizer=l2(1e-4),
bias_regularizer=l2(1e-4), activation=‘relu’))

model.add(tf.keras.layers.Dropout(0.5))

model.add(tf.keras.layers.Dense(32, kernel_regularizer=l2(1e-4),
bias_regularizer=l2(1e-4), activation=‘relu’))

model.add(tf.keras.layers.Dropout(0.5))

model.add(tf.keras.layers.Dense(shape_out, activation=‘softmax’))

model.compile(optimizer=‘adam’, loss=‘categorical_crossentropy’,
metrics=[‘acc’])

return model

清單 1:開發(fā)人員只需使用幾行代碼便可定義 NN 模型。(代碼來源:NXP Semiconductors)

1.png

對于最終部署,其他工具會剝離僅訓練期間需要的模型結構,并執(zhí)行其他優(yōu)化以創(chuàng)建高效的推理模型。

為智能產品開發(fā)基于 ML 的應用為什么如此困難

為物聯(lián)網(wǎng)或其他智能產品定義和訓練模型,與為企業(yè)級機器學習應用創(chuàng)建模型的工作流程相似。然而,盡管相似,但為邊緣開發(fā) ML應用存在多種額外的挑戰(zhàn)。除模型開發(fā)外,設計人員還面臨一些常見的挑戰(zhàn),即開發(fā)所需的主應用以運行其基于微控制器MCU) 的產品。因此,將 ML引入邊緣需要管理兩個相互關聯(lián)的工作流程(圖 4)。

2.png

雖然嵌入式開發(fā)人員熟悉 MCU 項目的工作流程,但當開發(fā)人員努力創(chuàng)建一個優(yōu)化的 ML 推理模型時,ML 項目會對基于 MCU的應用提出額外的要求。事實上,ML項目會極大地影響嵌入式設備的要求。模型執(zhí)行通常涉及繁重的計算負載和存儲器需求,這可能超出了物聯(lián)網(wǎng)和智能產品中使用的微控制器資源的能力。為了減少資源需求,ML專家會運用各種技術,例如:模型網(wǎng)絡修剪、壓縮、量化到較低精度,甚至使用單比特參數(shù)和中間值,以及其他方法。

然而,即使采用這些優(yōu)化方法,開發(fā)人員仍可能發(fā)現(xiàn)常規(guī)微控制器在處理與 ML 算法相關的大量數(shù)學運算方面性能不足。另一方面,使用高性能應用處理器可以處理 ML計算負載,但這種方法可能導致延遲增加和非確定性響應,影響其嵌入式設計的實時特性。

除了硬件選擇方面的挑戰(zhàn),為邊緣提供優(yōu)化的 ML 模型還存在嵌入式應用開發(fā)所特有的額外挑戰(zhàn)。為企業(yè)級 ML應用開發(fā)的大量工具和方法,可能無法很好地擴展到嵌入式應用開發(fā)人員的應用和工作環(huán)境中。即使經驗豐富的嵌入式應用開發(fā)人員,為了能夠快速部署基于 ML的設備,也可能需要在大量可用的 NN 模型架構、工具、框架和工作流程中竭力尋找有效的解決方案。

NXP 解決了邊緣 ML 開發(fā)的硬件性能和模型實現(xiàn)兩方面的問題。在硬件層面,NXP 的高性能 i.MX RT1170 跨界微控制器滿足了邊緣 ML的廣泛性能要求。為了充分利用這一硬件基礎,NXP 的 eIQ(邊緣智能)ML 軟件開發(fā)環(huán)境和應用軟件包提供了一種高效解決方案以創(chuàng)建邊緣就緒的 ML應用,它既適合沒有經驗的 ML 開發(fā)人員,也適合 ML 開發(fā)專家。

用于開發(fā)邊緣就緒 ML 應用的高效平臺

NXP 的 i.MX RT 跨界處理器兼具傳統(tǒng)嵌入式微控制器的實時、低延遲響應與高性能應用處理器的執(zhí)行能力。NXP 的 i.MX RT1170跨界處理器系列集成了高能效 Arm?Cortex?-M4 和高性能 Arm Cortex-M7處理器,以及運行嚴苛應用所需的大量功能塊和外設,包括嵌入式設備中基于 ML 的解決方案(圖 5)。

1.png

NXP 的 eIQ 環(huán)境完全集成到 NXP 的 MCUXpresso SDK 和 Yocto 開發(fā)環(huán)境中,專門用于促進在利用 NXP微處理器和微控制器構建的嵌入式系統(tǒng)上實現(xiàn)推理模型。eIQ 環(huán)境中包含 eIQ 工具包,后者通過多個工具支持“自帶數(shù)據(jù)”(BYOD) 和“自帶模型”(BYOM)工作流程,這些工具包括 eIQ Portal、eIQ Model Tool 和命令行工具(圖 6)。

1.png

eIQ Portal 旨在同時支持 ML 模型開發(fā)專家和新手開發(fā)人員的 BYOD 工作流程,它提供了一個圖形用戶界面(GUI),以幫助開發(fā)人員更輕松地完成模型開發(fā)工作流程的每個階段。

在開發(fā)的初始階段,eIQ Portal 的數(shù)據(jù)集管理工具幫助開發(fā)人員導入數(shù)據(jù),從連接的相機中捕獲數(shù)據(jù),或從遠程設備中捕獲數(shù)據(jù)(圖 7)。

1.png

開發(fā)人員使用數(shù)據(jù)集管理工具給數(shù)據(jù)集中的每個項目添加注釋或標記,既可標記整幅圖像,也可只標記指定邊界框內包含的特定區(qū)域。擴展功能通過使圖像模糊、添加隨機噪聲、更改特征(如亮度或對比度)及其他方法,幫助開發(fā)人員為數(shù)據(jù)集提供所需的多樣性。

在下一階段,eIQ Portal幫助開發(fā)人員選擇最適合應用的模型類型。對于不確定模型類型的開發(fā)人員,模型選擇向導會根據(jù)應用類型和硬件基礎引導開發(fā)人員完成選擇過程。如果已經知道自己需要的模型類型,開發(fā)人員可以選擇eIQ 安裝時提供的自定義模型或其他自定義實現(xiàn)方法。

eIQ Portal 引導開發(fā)人員完成下一關鍵訓練步驟,并提供一個直觀的圖形用戶界面,以便用戶修改訓練參數(shù)和查看模型預測精度隨每個訓練步驟的變化(圖8)。

1.png

在下一步,eIQ Portal GUI幫助開發(fā)人員驗證模型。在此階段,模型轉換至目標架構上運行,以確定其實際性能。完成驗證后,驗證屏幕會顯示混淆矩陣——這是一個基本的 ML驗證工具,允許開發(fā)人員將輸入對象的實際類別與模型預測的類別進行比較(圖 9)。

1.png

對于最終部署,該環(huán)境允許開發(fā)人員根據(jù)處理器選擇目標推理引擎,包括:

Arm CMSIS-NN(通用微控制器軟件接口標準,神經網(wǎng)絡)— 為在 Arm Cortex-M處理器內核上實現(xiàn)神經網(wǎng)絡的性能最大化和內存占用最小化而開發(fā)的神經網(wǎng)絡內核

Arm NN SDK(神經網(wǎng)絡,軟件開發(fā)套件)— 一套工具和推理引擎,用于在現(xiàn)有神經網(wǎng)絡框架和 Arm Cortex-A 處理器之間搭建橋梁等

DeepViewRT — 用于 i.MX RT 跨界 MCU 的 NXP 專有推理引擎

Glow NN — 基于 Meta 的 Glow (graph lowering) 編譯器,由 NXP 針對 Arm Cortex-M 內核進行優(yōu)化,使用CMSIS-NN 內核的函數(shù)調用或 Arm NN 庫(如有),或者從其自身的本地庫編譯代碼

ONXX Runtime — Microsoft Research 的工具,旨在針對 Arm Cortex-A 處理器優(yōu)化性能

用于微控制器的 TensorFlow Lite — TensorFlow Lite 的較小版本,為在 i.MX RT 跨界 MCU上運行機器學習模型而優(yōu)化

TensorFlow Lit — TensorFlow 的一個版本,為較小系統(tǒng)提供支持

對于 BYOM 工作流程,開發(fā)人員可以使用 eIQ Model Tool 直接進入模型分析和每層時間剖析。對于 BYOD 和 BYOM工作流程,開發(fā)人員可以使用 eIQ 命令行工具訪問工具功能以及非直接通過 GUI 提供的 eIQ 特性。

除了本文描述的特性外,eIQ 工具包還支持一系列廣泛的功能,包括遠遠超出本文范圍的模型轉換和優(yōu)化。然而,為了快速開發(fā)邊緣就緒 ML應用的原型,開發(fā)人員通??梢钥焖偻瓿砷_發(fā)和部署,幾乎不需要使用 eIQ 環(huán)境中許多較復雜的功能。事實上,NXP 的專業(yè)應用軟件 (App SW)包提供了完整的應用,開發(fā)人員可以使用這些應用立即開展評估,或將其作為自己定制應用的基礎。

如何使用應用軟件包快速評估模型開發(fā)

NXP 的應用軟件包集生產就緒的源代碼、驅動程序、中間件和工具于一體,提供完整的基于 ML 的應用。例如,NXP 的 ML狀態(tài)監(jiān)測應用軟件包為基于傳感器輸入確定復雜系統(tǒng)的狀態(tài)這一常見問題提供了一個基于 ML 的快速解決方案(圖 10)。

1.png

ML 狀態(tài)監(jiān)測應用軟件包實現(xiàn)了一個完整的應用解決方案,可檢測風扇工作在四種狀態(tài)中的哪一種狀態(tài):

ON

OFF

CLOGGED,當風扇開啟但氣流被阻擋時

FRICTION,當風扇開啟,但一個或多個風扇葉片在運行過程中遇到過大摩擦時

對于模型開發(fā)人員,同樣重要的是,ML 狀態(tài)監(jiān)測應用軟件包除包括 ML 模型外,還包括一個完整數(shù)據(jù)集,它代表了風扇在這四種狀態(tài)下運行的加速度計讀數(shù)。

開發(fā)人員可以研究 ML狀態(tài)監(jiān)測應用軟件包提供的代碼、模型和數(shù)據(jù),以了解如何使用傳感器數(shù)據(jù)訓練模型,創(chuàng)建推理模型,并針對驗證傳感器數(shù)據(jù)集驗證推理。事實上,NXP 的應用軟件包中包含的ML_State_Monitor.ipynb Jupyter Notebook 提供了一個開箱即用的工具,支持在任何硬件部署之前研究模型開發(fā)工作流程。

Jupyter Notebook 是一個基于瀏覽器的互動式 Python 執(zhí)行平臺,允許開發(fā)人員立即查看 Python 代碼的執(zhí)行結果。運行Jupyter Notebook 會生成一個 Python代碼塊,緊接著出現(xiàn)該代碼塊的運行結果。這些結果不是簡單的靜態(tài)展示,而是通過運行代碼得到的實際結果。例如,開發(fā)人員運行 NXP 的ML_State_Monitor.ipynb Jupyter Notebook 時,可以立即查看輸入數(shù)據(jù)集的摘要(圖 11)。

1.png

Notebook 中的下一部分代碼為用戶提供了輸入數(shù)據(jù)的圖形顯示,以時間序列和頻率的單獨圖形呈現(xiàn)(圖 12)。

1.png

其他代碼部分提供了進一步的數(shù)據(jù)分析、規(guī)一化、整形和其他準備工作,直至代碼執(zhí)行到清單 1 中顯示的模型創(chuàng)建函數(shù)定義 model_create()。接下來的代碼部分將執(zhí)行此 model_create() 函數(shù),并打印出摘要以供快速驗證(圖 13)。

1.png

在部分模型訓練和評估代碼之后,ML_State_Monitor.ipynb Jupyter Notebook顯示完整數(shù)據(jù)集、訓練數(shù)據(jù)集和驗證數(shù)據(jù)集(從訓練數(shù)據(jù)集中排除的數(shù)據(jù)集的子集)的每個混淆矩陣。在這種情況下,完整數(shù)據(jù)集的混淆矩陣展現(xiàn)出良好的精度和一定的誤差,其中最明顯的是模型將一小部分數(shù)據(jù)集混淆為處于ON 狀態(tài),而根據(jù)原始數(shù)據(jù)集的注釋,它們實際上處于 CLOGGED 狀態(tài)(圖 14)。

1.png

在后面的代碼部分,模型被導出為幾種不同的模型類型和格式,由 eIQ 開發(fā)環(huán)境支持的各種推理引擎使用(圖 15)。

1.png

推理引擎的選擇對于滿足特定性能要求至關重要。對于該應用,NXP測量了以幾種不同推理引擎為目標的模型大小、代碼大小和推理時間(對單一輸入對象完成推理所需的時間),一個以 996 MHz 運行,一個以 156 MHz 運行(圖16 和 17)。

1.png

正如 NXP 指出的那樣,此樣例應用使用的是一個非常小的模型,所以這些數(shù)字的差異相當明顯,但對于復雜分類所用的大型模型,差異可能要小得多。

構建用于狀態(tài)監(jiān)測的系統(tǒng)解決方案

除了用于交互式探索模型開發(fā)工作流程的 Jupyter Notebook,NXP 的 ML 狀態(tài)監(jiān)測應用軟件包還提供完整的源代碼,用于在 NXP 的MIMXRT1170-EVK 評估板上實現(xiàn)設計。評估板圍繞 NXP 的 MIMXRT1176DVMAA 跨界 MCU構建,提供一個全面的硬件平臺,并配備了額外的存儲器和多個接口(圖 18)。

1.png

將 MIMXRT1170-EVK 評估板與可選的 NXP FRDM-STBC-AGM01 傳感器板、Arduino 擴展板和合適的 5 V無刷直流風扇(如 Adafruit 的 4468)堆疊起來,開發(fā)人員便可使用 NXP 的風扇狀態(tài)應用來預測風扇的狀態(tài)(圖 19)。

1.png

借助 MCUXpresso 集成開發(fā)環(huán)境 (IDE),開發(fā)人員可以配置應用以簡單地獲取和存儲風扇狀態(tài)數(shù)據(jù),或立即使用 TensorFlow推理引擎、DeepViewRT 推理引擎或 Glow 推理引擎對獲取的數(shù)據(jù)運行推理(清單 2)。

/* Action to be performed */

#define SENSOR_COLLECT_LOG_EXT 1 // Collect and log data externally

#define SENSOR_COLLECT_RUN_INFERENCE 2 // Collect data and run inference

/* Inference engine to be used */

#define SENSOR_COLLECT_INFENG_TENSORFLOW 1 // TensorFlow

#define SENSOR_COLLECT_INFENG_DEEPVIEWRT 2 // DeepViewRT

#define SENSOR_COLLECT_INFENG_GLOW 3 // Glow

/* Data format to be used to feed the model */

#define SENSOR_COLLECT_DATA_FORMAT_BLOCKS 1 // Blocks of samples

#define SENSOR_COLLECT_DATA_FORMAT_INTERLEAVED 2 // Interleaved samples

/* Parameters to be configured by the user: */

/* Configure the action to be performed */

#define SENSOR_COLLECT_ACTION SENSOR_COLLECT_RUN_INFERENCE

#if SENSOR_COLLECT_ACTION == SENSOR_COLLECT_LOG_EXT

/* If the SD card log is not enabled the sensor data will be streamed to the
terminal */

#define SENSOR_COLLECT_LOG_EXT_SDCARD 1 // Redirect the log to SD card,
otherwise print to console

清單 2:開發(fā)人員可以通過修改 sensor_collect.h 頭文件中包含的定義,輕松配置 NXP 的 ML 狀態(tài)監(jiān)測樣例應用。(代碼來源:NXPSemiconductors)

該應用的工作流程簡單明了。main.c 中的主例程創(chuàng)建一個名為 MainTask 的任務,后者是位于sensor_collect.c模塊中的一個例程。

void MainTask(void *pvParameters)

{

status_t status = kStatus_Success;

printf(“MainTask startedrn”);

#if !SENSOR_FEED_VALIDATION_DATA

status = SENSOR_Init();

if (status != kStatus_Success)

{

goto main_task_exit;

}

#endif

g_sensorCollectQueue = xQueueCreate(SENSOR_COLLECT_QUEUE_ITEMS,
sizeof(sensor_data_t));

if (NULL == g_sensorCollectQueue)

{

printf(“collect queue create failed!rn”);

status = kStatus_Fail;

goto main_task_exit;

}

#if SENSOR_COLLECT_ACTION == SENSOR_COLLECT_LOG_EXT

uint8_t captClassLabelIdx;

CAPT_Init(&captClassLabelIdx, &g_SensorCollectDuration_us,
&g_SensorCollectDuration_samples);

g_SensorCollectLabel = labels[captClassLabelIdx];

if (xTaskCreate(SENSOR_Collect_LogExt_Task, “SENSOR_Collect_LogExt_Task”,
4096, NULL, configMAX_PRIORITIES - 1, NULL) != pdPASS)

{

printf(“SENSOR_Collect_LogExt_Task creation failed!rn”);

status = kStatus_Fail;

goto main_task_exit;

}

#elif SENSOR_COLLECT_ACTION == SENSOR_COLLECT_RUN_INFERENCE

if (xTaskCreate(SENSOR_Collect_RunInf_Task, “SENSOR_Collect_RunInf_Task”,
4096, NULL, configMAX_PRIORITIES - 1, NULL) != pdPASS)

{

printf(“SENSOR_Collect_RunInf_Task creation failed!rn”);

status = kStatus_Fail;

goto main_task_exit;

}

#endif

清單 3:在 NXP 的 ML 狀態(tài)監(jiān)測樣例應用中,MainTask 調用一個子任務來獲取數(shù)據(jù)或運行推理。(代碼來源:NXPSemiconductors)

MainTask 先執(zhí)行各種初始化任務,再啟動兩個子任務中的一個,具體哪一個取決于用戶在 sensor_collect.h 中的設置:

如果 SENSOR_COLLECT_ACTION 被設置為 SENSOR_COLLECT_LOG_EXT,則 MainTask 啟動子任務
SENSOR_Collect_LogExt_Task(),收集數(shù)據(jù)并將其存儲在 SD 卡上(如已配置)

如果 SENSOR_COLLECT_ACTION 被設置為 SENSOR_COLLECT_RUN_INFERENCE,則 MainTask 啟動子任務SENSOR_Collect_RunInf_Task(),針對所收集的數(shù)據(jù)運行 Sensor_collect.h中定義的推理引擎(Glow、DeepViewRT 或 TensorFlow);如果定義了SENSOR_EVALUATE_MODEL,則還會顯示相應的性能和分類預測

if SENSOR_COLLECT_ACTION == SENSOR_COLLECT_LOG_EXT

void SENSOR_Collect_LogExt_Task(void *pvParameters)

{

[code deleted for simplicity]

while (1)

{

[code deleted for simplicity]

bufSizeLog = snprintf(buf, bufSize, “%s,%ld,%d,%d,%d,%d,%d,%d,%drn”,
g_SensorCollectLabel, (uint32_t)(sensorData.ts_us/1000),

sensorData.rawDataSensor.accel[0], sensorData.rawDataSensor.accel[1],
sensorData.rawDataSensor.accel[2],

sensorData.rawDataSensor.mag[0], sensorData.rawDataSensor.mag[1],
sensorData.rawDataSensor.mag[2],

sensorData.temperature);

#if SENSOR_COLLECT_LOG_EXT_SDCARD

SDCARD_CaptureData(sensorData.ts_us, sensorData.sampleNum,
g_SensorCollectDuration_samples, buf, bufSizeLog);

#else

printf(“%.*s”, bufSizeLog, buf);

[code deleted for simplicity]

}

vTaskDelete(NULL);

}

#elif SENSOR_COLLECT_ACTION == SENSOR_COLLECT_RUN_INFERENCE

[code deleted for simplicity]

void SENSOR_Collect_RunInf_Task(void *pvParameters)

{

[code deleted for simplicity]

while (1)

{

[code deleted for simplicity]

/* Run Inference */

tinf_us = 0;

SNS_MODEL_RunInference((void*)g_clsfInputData, sizeof(g_clsfInputData),
(int8_t*)&predClass, &tinf_us, SENSOR_COLLECT_INFENG_VERBOSE_EN);

[code deleted for simplicity]

#if SENSOR_EVALUATE_MODEL

/* Evaluate performance */

validation.predCount++;

if (validation.classTarget == predClass)

{

validation.predCountOk++;

}

PRINTF(“rInference %d?%d | t %ld us | count: %d/%d/%d | %s ”,

validation.classTarget, predClass, tinf_us, validation.predCountOk,

validation.predCount, validation.predSize, labels[predClass]);

tinfTotal_us += tinf_us;

if (validation.predCount 》= validation.predSize)

{

printf(“rnPrediction Accuracy for class %s %.2f%%rn”,
labels[validation.classTarget],

(float)(validation.predCountOk * 100)/validation.predCount);

printf(“Average Inference Time %.1f (us)rn”,
(float)tinfTotal_us/validation.predCount);

tinfTotal_us = 0;

}

#endif

}

exit_task:

vTaskDelete(NULL);

}

#endif /* SENSOR_COLLECT_ACTION */

清單 4:NXP 的 ML 狀態(tài)監(jiān)測樣例應用演示了獲取傳感器數(shù)據(jù)和對獲取的數(shù)據(jù)運行所選推理引擎的基本設計模式。(代碼來源:NXPSemiconductors)

由于 NXP 的 ML狀態(tài)監(jiān)測應用軟件包提供了完整的源代碼以及全套必需的驅動程序和中間件,因此開發(fā)人員可以輕松擴展該應用以增加特性,或將其作為起點來開發(fā)自己的定制應用。

總結

在物聯(lián)網(wǎng)和其他應用中的智能產品的邊緣實施 ML 可以提供一系列強大的功能,但現(xiàn)有 ML 工具和方法大多是為企業(yè)級應用而開發(fā)的,邊緣 ML開發(fā)人員使用起來往往很吃力。有了由跨界處理器和專門的模型開發(fā)軟件組成的 NXP 開發(fā)平臺,無論 ML 專家還是幾乎沒有 ML經驗的開發(fā)人員都能更有效地創(chuàng)建專門設計的 ML 應用,以滿足對高效邊緣性能的要求。

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

    關注

    42

    文章

    4838

    瀏覽量

    107869
  • 物聯(lián)網(wǎng)

    關注

    2945

    文章

    47843

    瀏覽量

    415437
  • 開源
    +關注

    關注

    3

    文章

    4219

    瀏覽量

    46191
  • ML
    ML
    +關注

    關注

    0

    文章

    154

    瀏覽量

    35484
  • 機器學習
    +關注

    關注

    66

    文章

    8554

    瀏覽量

    136996
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何通過生產就緒平臺快速構建和部署自適應邊緣視覺應用

    作者:Stephen Evanczuk 在越來越多的嵌入式視覺應用中,如機器視覺、安保、零售和機器人,人工智能 (AI) 在基于邊緣的智能攝像頭上的應用已迅速獲得認可。雖然可獲得機器
    的頭像 發(fā)表于 10-03 14:24 ?1428次閱讀
    如何通過生產<b class='flag-5'>就緒</b>平臺<b class='flag-5'>快速</b>構建和<b class='flag-5'>部署</b>自適應<b class='flag-5'>邊緣</b>視覺應用

    快速高效地實施網(wǎng)絡邊緣機器學習

    機器學習正在從云端轉移到網(wǎng)絡邊緣,目的是進行實時處理、降低延遲、提高安全性、更高效地使用可用帶寬以及降低整體功耗。而處于這些邊緣節(jié)點上的物聯(lián)網(wǎng) (IoT) 設備只有有限的資源,因此開發(fā)
    的頭像 發(fā)表于 09-02 11:36 ?3901次閱讀

    超低功耗FPGA解決方案助力機器學習

    本帖最后由 曾12345 于 2018-5-23 15:49 編輯 全新的毫瓦級功耗FPGA解決方案為機器學習推理在大眾市場物聯(lián)網(wǎng)應用中實現(xiàn)快速部署創(chuàng)造機遇。1. 將AI加速
    發(fā)表于 05-23 15:31

    微型機器學習

    人工智能 AI 正在加快速度從云端走向邊緣,進入到越來越小的物聯(lián)網(wǎng)設備中。而這些物聯(lián)網(wǎng)設備往往體積很小,面臨著許多挑戰(zhàn),例如功耗、延時以及精度等問題,傳統(tǒng)的機器學習模型無法滿足要求,那
    發(fā)表于 09-15 09:23

    高性能的機器學習邊緣計算更給力

    、智能零售、智能工廠和智慧城市等應用領域而言是必不可少的。以前,機器學習需要成本昂貴而又復雜的云計算,也就是“基于云的人工智能”。但現(xiàn)在,很多機器學習操作可在網(wǎng)絡
    發(fā)表于 10-15 13:58

    為什么需要將機器學習遷移到邊緣設備

    專注于邊緣計算。第一章:為什么需要將機器學習遷移到邊緣設備?機器學習(ML)是新計算時代以來計算
    發(fā)表于 12-20 06:35

    部署基于嵌入的機器學習模型

    1、如何在生產中部署基于嵌入的機器學習模型  由于最近大量的研究,機器學習模型的性能在過去幾年里有了顯著的提高。雖然這些改進的模型開辟了新的
    發(fā)表于 11-02 15:09

    創(chuàng)建一個邊緣機器學習系統(tǒng)

    本指南適用于系統(tǒng)設計人員,可能使用Arm Flexible access程序。 本指南將幫助您開發(fā)可以執(zhí)行機器學習的片上系統(tǒng)(SoC)在邊緣。本指南中介紹的SoC可以處理與機器
    發(fā)表于 08-02 11:02

    機器學習部署的難點

    根據(jù)我作為顧問的經驗,只有非常少的機器學習項目能夠投入生產。一個人工智能項目可能會因為多種原因而失敗,其中之一就是部署
    的頭像 發(fā)表于 05-04 12:05 ?1786次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>學習部署</b>的難點

    邊緣機器學習成功的關鍵因素

    ABI Research預測,2021年至2026年,具有邊緣機器學習功能的設備出貨量將以24.5%的平均復合增長率(CAGR)增長。開發(fā)人員深知該市場潛力,都希望能夠利用該技術,但在開發(fā)模型和產品時卻面臨著各種挑戰(zhàn)。值得慶幸的
    的頭像 發(fā)表于 12-31 09:55 ?2299次閱讀

    什么是邊緣學習

    所謂邊緣學習即指“邊緣深度學習”, 其是將基于規(guī)則的高效機器視覺嵌入到一套預先訓練的深度學習算法
    的頭像 發(fā)表于 10-20 09:31 ?3532次閱讀

    如何快速部署邊緣就緒機器學習應用程序

    發(fā)表于 11-24 19:20 ?0次下載
    如何<b class='flag-5'>快速</b><b class='flag-5'>部署</b><b class='flag-5'>邊緣</b><b class='flag-5'>就緒</b><b class='flag-5'>機器</b><b class='flag-5'>學習</b>應用程序

    TDK機器學習解決方案促進邊緣人工智能前景大幅擴展

    物聯(lián)網(wǎng)技術的進步為大量設備帶來了互聯(lián)網(wǎng)連接能力。此外,邊緣計算的發(fā)展如今還為邊緣設備提供機器學習*1,將人工智能的版圖從云端擴展到外圍。本文將深入介紹一款突破性軟件解決方案,該方案將從
    的頭像 發(fā)表于 10-27 12:18 ?792次閱讀
    TDK<b class='flag-5'>機器</b><b class='flag-5'>學習</b>解決方案促進<b class='flag-5'>邊緣</b>人工智能前景大幅擴展

    如何快速設計和部署 IIoT 就緒機器

    作者:Jeff Shepard 投稿人:DigiKey 北美編輯 2024-08-14 快速設計和部署可直接集成到工業(yè)物聯(lián)網(wǎng) (IIoT) 的機器并非易事。IIoT 就緒
    的頭像 發(fā)表于 10-02 15:51 ?1347次閱讀
    如何<b class='flag-5'>快速</b>設計和<b class='flag-5'>部署</b> IIoT <b class='flag-5'>就緒</b>型<b class='flag-5'>機器</b>

    邊緣計算中的機器學習:基于 Linux 系統(tǒng)的實時推理模型部署與工業(yè)集成!

    你好,旅行者!歡迎來到Medium的這一角落。在本文中,我們將把一個機器學習模型(神經網(wǎng)絡)部署邊緣設備上,利用從ModbusTCP寄存器獲取的實時數(shù)據(jù)來預測一臺復古音頻放大器的當前
    的頭像 發(fā)表于 06-11 17:22 ?1010次閱讀
    <b class='flag-5'>邊緣</b>計算中的<b class='flag-5'>機器</b><b class='flag-5'>學習</b>:基于 Linux 系統(tǒng)的實時推理模型<b class='flag-5'>部署</b>與工業(yè)集成!