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

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

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

3天內不再提示

為什么機器學習在嵌入式系統(tǒng)中不成功

Wildesbeast ? 來源:今日頭條 ? 作者:聞數起舞 ? 2020-02-12 16:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

換個角度思考,深入研究嵌入式世界以及迄今為止機器學習行業(yè)無法解決的問題

Photo by Daniel Wiadro on Unsplash

如今,機器學習達到了頂峰,并最終在各個地方得到了應用。 您可以在機場看到人臉識別系統(tǒng),并在Facebook中看到個性化廣告。

雖然,當我們談論將ML與嵌入式設備結合時,仍然存在很大差距。

1.我們不了解什么是嵌入式世界

使用ML,我們曾經擁有巨大的計算能力。

AlexNet需要727 MegaFlops和235Mb的內存來處理小的227x227px圖像。 例如,Google Nexus S上的ARM Cortex-A8每秒可產生66個MegaFlops。 因此,您必須等待?11秒才能進行推斷。 好慢??!

· FLOP —浮點運算

查看更多信息:各種CNN的內存消耗和FLOP計數以及ARM內核的浮點性能及其效率的估計。

我在大學里有幾門與ML相關的課程。 我們在功課上做了很多很酷的事情。 但是即使在那里我的4GB GTX1050也不足以訓練所有模型。

Problem understanding is essential to build the right product

一般的ML工程師很少考慮計算資源。 此外,他/她很少關心內存使用情況。 為什么? 因為價格便宜,甚至您的手機都具有不錯的CPU和大量內存。

上次聚會中的照片時,手機上是否仍然缺少內存? 想象一下,您使用的是具有256KB閃存的TrueTouch感應控制器。 是的,256KB。 而且由于現有固件,您無法使用所有這些功能。 因此,大約100KB。 查看您上一次的模型的尺寸。 可能更大。

變得有趣了嗎? 讓我們繼續(xù):)

當您聽到"嵌入式設備"時您怎么看? 想象一下圖片并牢記在心。

1.它是任何電器,甚至我的微波爐和洗衣機

Photo by Marcos Ramírez on Unsplash

嗯你是對的!

如今,幾乎所有的電氣設備都是嵌入式設備。 它內部可能具有一個或幾個控制器來負責每個確切的功能:觸摸感應,發(fā)動機狀態(tài)監(jiān)控等。

2. Arduino或/和Raspberry PI

Photos by Harrison Broadbent on Unsplash

MAKEBLOCK Arduino MegaPi 編程學習主控板 10050

¥209

購買

恭喜,您再次正確!

它們是用于DIY項目的最受歡迎和使用最廣泛的工具包之一。 是的,它們是嵌入式設備。

3. Jetson Nano和類似產品

Photo by NVIDIA

moft 英偉達NVIDIA Jetson Nano TX2嵌入式開發(fā)套件nvidia AGX開發(fā)板 Jetson Nano【開13%增票】

¥846

購買

再次正確。

這是一個特殊的開發(fā)套件" aka mini-computer",專門為在其上運行ML模型而開發(fā)。 它非常強大,說實話,超級性感。

但是這里有些遺漏

我有很多朋友正在做很棒的硬件寵物項目。 他們通常在那里使用Arduino或STM32(又名Hardcore

Arduino)。

Smart helmet, Robotic car and ALU

我認識幾個對Jetson Nano和類似設備感到興奮的AI工程師。 他們被認為是嵌入式AI的未來。

Photo by Nvidia

現在。 請考慮"在生產級別使用了多少這種設備?"

答案-小

考慮一下您家中有多少個電氣設備。 然后在您的汽車中添加大量的控制器。 您工作中的安全系統(tǒng)。 我可以繼續(xù)很長的清單。

每個設備都有一個控制器。 通常,它是微型且超級便宜。 它無法與Jetson或Raspberry的資源和功能相提并論。

假設您有一個微控制器。 它的主要任務是處理您的手指觸摸屏幕。 它具有ARM Cortex-M0處理器,256KB內存(其中只有80–120可用)。 這是一個實時系統(tǒng),因此您可以花很少的時間來推斷模型,例如100微秒。 您的目標是在那里改善或替換某些算法。

祝您好運,歡迎來到"嵌入式AI"世界。

嵌入式世界"由資源有限的1-2美元成本的芯片組成。 這就是在生產水平上使用的東西。

2.純基礎設施

我一直在從事上述項目。 一切都很棒。 我開發(fā)了一個可能必須適合該微控制器的小型網絡。

Photo by Matty Lynn Barnes on Unsplash

是時候開始將模型從我的電腦轉移到設備了!

1.量化。

該處理器無法執(zhí)行浮點數運算。 即使可以,我們也不會使用它,因為這是一個非常復雜的操作,需要很多時間。

因此,我對權重量化進行了模型化-將值的連續(xù)范圍轉換為離散值的有限范圍。

你猜怎么著? PyTorch和TensorflowLite都不完全支持它。 它們不支持所有激活函數(盡管我使用了非常簡單的HardTanh)。 PyTorch甚至無法將量化模型保存到文件中。

所以,我不得不手工做。

2.推理代碼生成

您想在該控制器上運行模型。 對? 因此,您需要使用C代碼進行模型推理。

很難過,但您必須手動完成。 為什么? PyTorch沒有推理代碼生成的功能。 相比之下,TFLite具有功能,但功能相當有限,并且不支持常見的激活函數。

因此,我再次手動完成。

我在工作中遇到了很多這樣的情況。 這不是PyTorch或TF方面的重拳,而是"呼救聲"。

*** ML社區(qū)的另一面是,正在尋找"嵌入式AI"的專業(yè)工具,但還找不到它。 ***

有什么好處嗎

我看到大型半導體公司對AI產生了極大的興趣,它們正在做非常有價值和重要的事情。 它們值得另一篇文章,因此我列出其中一些,以免使本文太長。

CMSIS-NN —用于Arm Cortex-M CPU的高效神經網絡內核

產生高效推理代碼的編譯器,這些推理代碼根據您擁有的硬件進行了優(yōu)化

還有很多其他很酷的東西

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

    關注

    41

    文章

    3747

    瀏覽量

    133644
  • 機器學習
    +關注

    關注

    66

    文章

    8553

    瀏覽量

    136962
  • cnn
    cnn
    +關注

    關注

    3

    文章

    355

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    嵌入式單片機開發(fā)學習路徑

    路徑,讓你的學習過程更加輕松有趣。 1. 入門基礎 1.1 了解嵌入式系統(tǒng) 開始學習之前,首先需要了解什么是
    發(fā)表于 02-09 15:42

    什么是嵌入式應用開發(fā)?

    概述 所謂的嵌入式應用開發(fā)就是嵌入式操作系統(tǒng)下進行開發(fā)、軟硬件綜合開發(fā) ?嵌入式應用開發(fā)?是指在嵌入
    發(fā)表于 01-12 16:13

    系統(tǒng)嵌入式學習路線

    的知識太多,太雜,太廣,很多嵌入式初學者陷入嵌入式知識的海洋,東學一點,西學一點,找不到學習的方向。 我從事嵌入式開發(fā)工作有10年,
    發(fā)表于 12-16 07:49

    分享一個嵌入式開發(fā)學習路線

    如果你想要學習嵌入式開發(fā),我建議按照這個學習路線準備: 1. 基礎鋪墊期(1-2個月) 理解嵌入式系統(tǒng)的“硬件基礎”和“編程入門”,能看懂
    發(fā)表于 12-04 11:01

    ARM嵌入式這樣學

    , UCOS 等等,一個操作系統(tǒng)移植到里面去,跑起來,然后就自己利用操作系統(tǒng)的接口寫一些應用軟件,就可以直接控制其強大的外設了。當然了,這中間還有另外一種工程師工作,就是嵌入式驅動工
    發(fā)表于 12-04 07:48

    嵌入式系統(tǒng)的定義和應用領域

    嵌入式系統(tǒng),簡而言之,就是一種專為特定設備或裝置設計的計算機系統(tǒng)。它們通常配備一個嵌入式處理器,其控制程序被存儲ROM
    發(fā)表于 11-17 06:49

    嵌入式電力儀表配電系統(tǒng)的應用與選型

    現代配電系統(tǒng),對電力參數的精確測量、電能計量以及設備運行狀態(tài)的可靠監(jiān)控,是保障供電安全、實現能效管理的基礎。各類嵌入式電力儀表作為關鍵測量元件,廣泛應用于進線柜、出線柜等場景,為
    的頭像 發(fā)表于 09-26 09:37 ?639次閱讀
    <b class='flag-5'>嵌入式</b>電力儀表<b class='flag-5'>在</b>配電<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中</b>的應用與選型

    scons --target=mdk5編譯不成功如何解決?

    使用scons —target=mdk5編譯不成功,報錯如下: scons --target=mdk5 scons: Reading SConscript files ... UV4.exe
    發(fā)表于 09-26 07:20

    入行嵌入式應該怎么準備?

    不同的領域,如汽車、醫(yī)療、工業(yè)控制等。對于特定領域的了解將使你更具競爭力。因此,了解不同領域的特點和要求是非常有益的。 入行嵌入式需要掌握的技術能力遠不止上述幾點,但這些是入門的基礎。通過學習和實踐,方可逐漸提高自己的技術水平,并在
    發(fā)表于 08-06 10:34

    嵌入式開發(fā),如何選擇適合的系統(tǒng)?

    嵌入式ARM開發(fā),面對多種操作系統(tǒng)的選擇,如何做出最適合項目的決策?本文將為您梳理常見系統(tǒng)的特性,幫助您快速了解它們的優(yōu)缺點,以便更好地
    的頭像 發(fā)表于 05-20 11:32 ?1148次閱讀
    <b class='flag-5'>嵌入式</b>開發(fā),如何選擇適合的<b class='flag-5'>系統(tǒng)</b>?

    嵌入式開發(fā)入門指南:從零開始學習嵌入式

    隨著物聯網、智能硬件的發(fā)展,嵌入式開發(fā)成為熱門技能之一。以下將為初學者提供一份詳細的嵌入式開發(fā)入門指南,涵蓋學習路徑、必備工具、推薦資源等內容。 1. 嵌入式
    發(fā)表于 05-15 09:29

    嵌入式適合自學嗎?

    缺乏系統(tǒng)的規(guī)劃,而學習到一些不相關或不重要的內容。 2)缺乏實踐機會:嵌入式開發(fā)需要大量的實踐,而自學的學習者可能缺乏實際的項目練習和實踐機會。這會導致
    發(fā)表于 04-27 09:54

    基于RISC-V內核的嵌入式系統(tǒng)機器人關節(jié)控制的應用研究

    控制提供了新的選擇。本文結合多個基于RISC-V內核的芯片案例,詳細探討了基于RISC-V內核的嵌入式系統(tǒng)機器人關節(jié)控制的應用研究,分析
    的頭像 發(fā)表于 04-13 00:00 ?1636次閱讀

    Python嵌入式系統(tǒng)的應用場景

    你想把你的職業(yè)生涯提升到一個新的水平?Python嵌入式系統(tǒng)中正在成為一股不可缺少的新力量。盡管傳統(tǒng)上嵌入式開發(fā)更多地依賴于C和C++語言,Python的優(yōu)勢在于其簡潔的語法、豐富的
    的頭像 發(fā)表于 03-19 14:10 ?1500次閱讀

    訓練好的ai模型導入cubemx不成功怎么處理?

    訓練好的ai模型導入cubemx不成功咋辦,試了好幾個模型壓縮了也不行,ram占用過大,有無解決方案?
    發(fā)表于 03-11 07:18