你有沒(méi)有被問(wèn)過(guò),“你不能用人工智能來(lái)提高我們系統(tǒng)的性能嗎?”
或者,“你能否通過(guò)將人工智能融入我們的設(shè)備來(lái)為我們的設(shè)備增加更多價(jià)值?”
人工智能、深度學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)……人工智能應(yīng)用正在呈指數(shù)級(jí)擴(kuò)展,沒(méi)有一天不聽這些話。另外,有很多人有同樣的想法——“我很感興趣,但即使我研究了一點(diǎn),我也不太明白如何使用它。我不知道如何在我的工作中使用它,我無(wú)法想象它會(huì)給我的工作帶來(lái)什么價(jià)值?!?/p>
在這篇博客中,我想介紹使用瑞薩嵌入式 AI 處理器 - RZ/V 系列的軟件包進(jìn)行 AI 評(píng)估。
什么是人工智能?
如果您已經(jīng)熟悉 AI 和深度學(xué)習(xí),這可能沒(méi)有必要,但我想先回顧一下有關(guān) AI 的一些基礎(chǔ)知識(shí)。
人工智能 (AI)。許多書籍和網(wǎng)站都以各種方式解釋了這一點(diǎn),例如人工智能可以像專業(yè)人士一樣下棋,或者只需要求它打開房間里的燈。但是,我想專注于人工智能的最狹義定義:使用神經(jīng)網(wǎng)絡(luò)技術(shù)的人工智能,特別是——視覺(jué)人工智能——可以對(duì)圖像進(jìn)行各種識(shí)別和判斷。
神經(jīng)網(wǎng)絡(luò)。如圖 1 所示,生物體大腦中的神經(jīng)接收來(lái)自多個(gè)其他神經(jīng)元的輸入,并將它們傳送到下一個(gè)神經(jīng)元。眾所周知,記憶、識(shí)別和判斷是基于兩種信號(hào)的組合:來(lái)自輸入側(cè)的信號(hào)被使用的強(qiáng)度(加權(quán))以及加權(quán)后每個(gè)輸入的總和如何傳輸?shù)捷敵鰝?cè)(激活功能)。
使用神經(jīng)網(wǎng)絡(luò)的人工智能模仿這種機(jī)制,通過(guò)大量的算術(shù)處理來(lái)進(jìn)行各種識(shí)別和判斷,例如對(duì)多個(gè)輸入進(jìn)行加權(quán)、求和,然后通過(guò)激活函數(shù)將結(jié)果傳遞到下一個(gè)階段。
以 3x3 卷積運(yùn)算為例,它經(jīng)常在 Vision AI 中用于量化輸入圖像的特征。圖像首先被細(xì)分為 3 像素 x 3 像素的圖像。對(duì)每個(gè)值(像素密度)進(jìn)行加權(quán),并使用激活函數(shù)將這些值的總和作為輸出值發(fā)送到下一個(gè)階段。(圖2)
圖 2 神經(jīng)網(wǎng)絡(luò)的 3x3 卷積運(yùn)算示例
這個(gè)過(guò)程首先在輸入圖像的整個(gè)表面上進(jìn)行,然后是由輸出創(chuàng)建的下一個(gè)圖像(因此它不完全是已經(jīng)可以看作圖像的數(shù)據(jù),它被稱為 - 特征值,這意味著抽象輸入圖像特征的數(shù)據(jù))被發(fā)送到下一個(gè)重復(fù)相同過(guò)程的神經(jīng)網(wǎng)絡(luò)。
即使是簡(jiǎn)單的圖像識(shí)別,比如區(qū)分?jǐn)?shù)字和字母,也需要幾層這樣的計(jì)算,而一般的物體識(shí)別需要幾十層這樣的計(jì)算,所以通過(guò)重復(fù)無(wú)數(shù)次的操作,我們就可以實(shí)現(xiàn)圖像識(shí)別,比如確定數(shù)字5 是 5 或從狗的圖像中識(shí)別狗的位置。
簡(jiǎn)而言之,最大的區(qū)別在于沒(méi)有人工智能的傳統(tǒng)計(jì)算機(jī)軟件——人們思考他們想要處理什么(算法)并構(gòu)建程序——而使用神經(jīng)網(wǎng)絡(luò)的人工智能——使用大量輸入和自動(dòng)準(zhǔn)備處理所需的內(nèi)部數(shù)據(jù)(加權(quán)參數(shù))。換句話說(shuō),在人工智能中,主角不是程序,而是數(shù)據(jù)。因此,雖然傳統(tǒng)的軟件開發(fā)側(cè)重于編程,但人工智能開發(fā)中最重要和最耗時(shí)的部分是準(zhǔn)備加權(quán)參數(shù)(學(xué)習(xí))的過(guò)程,以便它能夠以必要的精度和速度。
我們?cè)诖私榻B的 AI 評(píng)估軟件包使用了 PyTorch 等 AI 框架提供的預(yù)訓(xùn)練模型,因此您可以評(píng)估 AI 的圖像推理執(zhí)行情況,而無(wú)需耗時(shí)的學(xué)習(xí)過(guò)程。
讓我們考慮一個(gè)視覺(jué) AI 評(píng)估的具體說(shuō)明。
需要什么?
無(wú)需從一開始就購(gòu)買評(píng)估板。在這篇博客中,我將幫助您體驗(yàn)嵌入式 AI 處理器 RZ/V 系列的 Vision AI 實(shí)現(xiàn)流程,僅使用免費(fèi)的開源軟件(以下簡(jiǎn)稱 OSS)和瑞薩電子在網(wǎng)絡(luò)上免費(fèi)提供的軟件包。
*1 PyTorch、PyTorch 徽標(biāo)和任何相關(guān)標(biāo)記是 Facebook, Inc. 的商標(biāo)。
*2 TensorFlow、TensorFlow 徽標(biāo)和任何相關(guān)標(biāo)記是 Google Inc. 的商標(biāo)。
*3 DRP-AI Translator:瑞薩電子的 ONNX 轉(zhuǎn)換工具
圖 3 RZ/V2L AI實(shí)現(xiàn)工具流程整體架構(gòu)
圖 3 顯示了整個(gè)工具流程。人工智能學(xué)習(xí)有各種行業(yè)標(biāo)準(zhǔn)框架,大家熟悉,所以我們開發(fā)了RZ/V系列,“你可以使用現(xiàn)有的你熟悉的人工智能框架進(jìn)行人工智能訓(xùn)練,將訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型連接到瑞薩工具使用一種稱為 ONNX 的通用格式,”——這是一種 AI 開發(fā)流程。ONNX 是一種被廣泛采用的格式,大多數(shù) AI 框架都能夠直接輸出或使用轉(zhuǎn)換工具以 ONNX 格式輸出,但我們將使用 AI 框架 PyTorch 作為示例。
在 AI 世界中,Linux 而非 Windows 是事實(shí)上的標(biāo)準(zhǔn),這里使用的所有操作系統(tǒng)和軟件包也需要安裝 Linux(Ubuntu)的 PC。
有一種稱為 WSL2 的技術(shù)可以在 Windows 上將 Linux 作為虛擬操作系統(tǒng)運(yùn)行,但瑞薩評(píng)估包不保證可以與 WSL2 一起使用,因此請(qǐng)準(zhǔn)備一臺(tái)安裝了 Ubuntu 的 PC。如果你不打算做 AI 學(xué)習(xí),你不需要高性能,所以你也可以重復(fù)使用手頭的舊 PC。
首先,一臺(tái) Linux PC 和 DRP-AI 支持包
準(zhǔn)備好 Linux PC
對(duì)于硬件,您可以使用您自己的帶有 x86 64 位 CPU 和至少 6GB RAM 的 PC,但操作系統(tǒng)不是 Windows。我們將改為使用 Linux 發(fā)行版之一的 Ubuntu 版本 18.04。
轉(zhuǎn)到提供 Uubuntu 18.04 的網(wǎng)頁(yè)并從ubuntu-18.04.6-desktop-amd64.iso下載 ISO 文件。
您可以使用適用于 Windows 的 Rufus 工具將 ISO 文件轉(zhuǎn)換為可引導(dǎo)的 USB 驅(qū)動(dòng)器,以便您可以在計(jì)劃安裝 Ubuntu 的 PC 上安裝 Ubuntu 18.04。
(有關(guān)使用 Rufus 的詳細(xì)信息,請(qǐng)參閱 https://rufus.ie/en/ 。)
準(zhǔn)備好軟件
要下載軟件,首先從瑞薩電子網(wǎng)站下載軟件包“ RZ/V2L DRP-AI Support Package ”。該文件是一個(gè)超過(guò) 2GB 的大型 ZIP 文件,因此我們建議通過(guò)高速互聯(lián)網(wǎng)連接下載它。
解壓此 ZIP 文件時(shí),打開文件夾 rzv2l_ai-implementation-guide,您將在其中找到文件
rzv2l_ai-implementation-guide_en_rev5.00.pdf(以下簡(jiǎn)稱“實(shí)施指南”)。
本指南以分步練習(xí)的形式編寫。如果您遵循它,您將能夠評(píng)估包含的經(jīng)過(guò)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型,從轉(zhuǎn)換到評(píng)估板上的實(shí)際操作。接下來(lái),我想介紹一些在使用本指南進(jìn)行評(píng)估時(shí)需要考慮的要點(diǎn)。
圖 4 DRP-AI 支持包詳情
創(chuàng)建 ONNX 文件
從這里開始,我們將在 Linux 中使用命令行。
(如果您是 Linux 新手,則需要學(xué)習(xí)操作系統(tǒng)本身的基本命令。)
AI 框架 PyTorch 和 torchvision 也可以使用命令 pip3 從 Linux 命令行安裝。(請(qǐng)參閱實(shí)施指南,第 2.2 章,第 26 頁(yè))
在您下載的 DRP-AI 支持包中,您會(huì)找到 rzv2l_ai-implementation-guide_ver5.00.tar.gz 壓縮文件。按照實(shí)施指南中的說(shuō)明解壓縮文件。(第 30 頁(yè))
同樣,在名為 pytorch_mobilenet 的文件夾中,在 rzv2l_ai-implementation-guide 下,您將找到文件
pytorch_mobilenet_en_rev5.00.pdf(以下簡(jiǎn)稱 MobileNet 指南)和 pytorch_mobilenet_ver5.00.tar.gz,您應(yīng)該按照實(shí)施指南。
MobileNet 是為移動(dòng)和嵌入式設(shè)備開發(fā)的用于圖像識(shí)別的輕量級(jí)快速神經(jīng)網(wǎng)絡(luò),它輸出圖像中對(duì)象正確答案的概率。例如,如圖5所示,物體是小獵犬的概率為93.53%,說(shuō)明判斷正確。
圖 5 MobileNet的圖像識(shí)別圖像
如果您繼續(xù)閱讀 pytorch_mobilenet_en_rev5.00.pdf 的第 2 章,您將找到一個(gè)名為 mobilenet_v2.onnx 的文件。這是具有 ONNX 格式的加權(quán)參數(shù)的預(yù)訓(xùn)練 MobileNet v2 神經(jīng)網(wǎng)絡(luò)模型的表示。
現(xiàn)在我們已經(jīng)有了經(jīng)過(guò)訓(xùn)練的 ONNX 文件,讓我們進(jìn)入下一階段,為 DRP-AI 創(chuàng)建 DRP-AI 對(duì)象文件并評(píng)估性能。
在 DRP-AI Translator 中轉(zhuǎn)換為 DRP-AI 對(duì)象文件
從這里開始,我們將使用 Renesas 的 ONNX 轉(zhuǎn)換工具 DRP-AI Translator。首先,從 Renesas 網(wǎng)站下載DRP-AI Translator 。
根據(jù)實(shí)施指南的第 3.1 章安裝解壓縮的安裝程序。如果您按照實(shí)施指南和 MobileNet 指南中的步驟操作,您最終應(yīng)該會(huì)得到如圖 6 所示的目錄結(jié)構(gòu)。
圖 6 ONNX 文件的目錄結(jié)構(gòu)和 DRP-AI 轉(zhuǎn)換器目錄結(jié)構(gòu)
在此之后,通過(guò)復(fù)制/重命名和編輯樣本中的文件,準(zhǔn)備要輸入到 DRP-AI 翻譯器的文件。有關(guān)詳細(xì)說(shuō)明,請(qǐng)參閱 MobileNet 指南第 3.3-3.5 章。
準(zhǔn)備好后,ONNX 轉(zhuǎn)換本身可以通過(guò)一個(gè)命令完成。對(duì)于 RZ/V2L,從 shell 運(yùn)行
$ 。/run_DRP-AI_translator_V2L.sh mobilenet_v2 -onnx 。/onnx/mobilenet_v2.onnx
在工作目錄下的 output/mobilenet_v2/ 目錄中,這將生成在真實(shí)芯片上運(yùn)行 MobileNet 所需的二進(jìn)制文件。(圖 7)
圖 7 運(yùn)行 DRP-AI Translator 后的文件列表
如何閱讀性能估算器 Excel
除了評(píng)估實(shí)際設(shè)備所需的對(duì)象外,DRP-AI 轉(zhuǎn)換器還輸出神經(jīng)網(wǎng)絡(luò)模型的摘要,該模型從 ONNX 轉(zhuǎn)換為 Excel 格式。(圖 8)
連同神經(jīng)網(wǎng)絡(luò)模型的結(jié)構(gòu)信息,此 Excel 文件包含模型每一層(每個(gè)功能)的大致處理時(shí)間(DRP-AI 單機(jī)性能,不包括 LSI 內(nèi)部總線和外部 DRAM 帶寬的限制) ,它允許您估計(jì)近似性能。
圖 8 mobilenet_v2_summary.xlsx 示例
概括
我們?yōu)閷?duì)AI感興趣但不知從何下手的用戶介紹了瑞薩電子提供的免費(fèi)軟件包,大家可以試試。如果您擁有本博客中創(chuàng)建的目標(biāo)文件,那么您離使用真實(shí)芯片評(píng)估 AI 性能又近了一步。本博客使用的RZ/V2L的評(píng)估板套件已經(jīng)可以購(gòu)買,您可以體驗(yàn)到評(píng)估板套件中嵌入的實(shí)際芯片的AI性能、低功耗和低發(fā)熱。
瑞薩嵌入式 AI 處理器的 RZ/V 系列還包括RZ/V2M ,其 AI 性能比這里介紹的RZ/V2L高約 1.5 倍,并且提供RZ/V2M DRP-AI Support Package,可用于與上面提到的方法相同。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19102瀏覽量
228820 -
嵌入式
+關(guān)注
關(guān)注
5059文章
18975瀏覽量
302072 -
AI
+關(guān)注
關(guān)注
87文章
29819瀏覽量
268111
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論