新聞中心

        EEPW首頁 > 業界動態 > CDNN:一鍵生成嵌入式神經網絡

        CDNN:一鍵生成嵌入式神經網絡

        作者: 時間:2017-02-04 來源:集微網 收藏

          我在之前的兩篇博文中討論了深度學習的框架、特點及挑戰以及嵌入式系統中深度學習所面臨的具體挑戰。我想在本篇博文中介紹應對這些挑戰的工具包。此工具包是提高嵌入式系統深度學習開發效率的極為強大且行之有效的途徑。

        本文引用地址:http://www.104case.com/article/201702/343503.htm

           深度 (CDNN) 工具包由三項關鍵部件構成:

          CDNN2 軟件框架

           網絡生成器

          CDNN 硬件加速器

          這些部件共同提高了成像及視覺處理器 -XM 產品系列的功能,從而為可拍照的設備提供了能耗極低的深度學習解決方案。本博文將對這些部件進行一一介紹,讓大家對其功能及工作原理有所了解。

          支持 Caffe 及 TensorFlow

          CDNN 工具包中的 CDNN2 是第二代 CEVA 深度軟件 (SW) 框架。它支持將要求最為嚴苛的機器學習網絡拓撲從預訓網絡遷移到嵌入式系統。它使得相機設備能進行基于深度學習的本地視頻分析。與在云服務中運行此類分析相比,CDNN2在縮短等待時間并提高隱私的同時,還能極大地降低數據帶寬及存儲量。與 CEVA-XM 智能視覺處理器配套使用,CDNN2 極大地縮短了上市時間并在嵌入式系統執行機器學習的能耗方面有極大優勢。

          CDNN2 SW 框架的設計離不開 CEVA-XM 客戶及合作伙伴的豐富經驗。他們一直利用我們的軟件框架在多個終端市場開發并推廣深度學習系統,包括智能手機、高級輔助駕駛系統 (ADAS)、監控設備、無人機及機器人等。

          除了為 Caffe 提供支持,第二代框架包括對由 TensorFlow 生成的網絡的支持,從而確保客戶利用谷歌強大的深度學習系統開發其下一代 AI 設備。CDNN2 軟件庫是很靈活的模塊,既可支持所有 CNN 執行條件又可支持各類網絡的不同網絡層。這些網絡包括 Alexnet、GoogLeNet、ResidualNet (ResNet)、SegNet、VGG (VGG-19、VGG-16 及 VGG_S) 及網中網 (NIN) 等。CDNN2 支持最先進的層,包括卷積、去卷積、池、全連接、softmax 層、串聯和 upsample 層,以及各類初始模型。它支持所有網絡拓撲,除了線性網絡(如 Alexnet)外,還包括多入多出、每一級網絡的多層及全卷積網絡。

          讓開發商在 CEVA 開發板上實時運行網絡

          CDNN2 流程由兩部分組成。首先是網絡訓練階段。此階段可由我們的 OEM/客戶或合作伙伴在線下完成。訓練時間取決于網絡結構、圖像數據庫大小及構成網絡的層數。訓練階段的成果是訓練好的的浮點網絡。目前我們所面臨的挑戰是在嵌入式系統中高效地運行此網絡。例如,Alexnet 預訓網絡是 253Mb 的浮點網絡,包括權重及數據。

         

          CDNN2 使用流

          第二部分是 CEVA 進行必要轉換并使網絡為嵌入式系統做好準備。CDNN2 框架的核心部件是線下 CEVA 網絡生成器。利用此生成器,輕按按鈕即可將預訓浮點神經網絡轉換成定點數學計算下對等的嵌入優化網絡。CDNN2 的可交付產品包括一個基于硬件的開發包,不僅可讓開發商模擬運行其網絡,還可在 CEVA 開發板上輕松進行實時運行。

          CDNN2 實時應用程序流程

         

          應用程序流程從處理實景開始,在應用程序的預處理階段進行處理。預處理包括縮放、背景弱化及選擇感興趣區域 (ROI)。主機端及 DSP 端均可執行此階段的處理任務。預處理階段將所選擇的 ROI 發送至 CDNN 實時圖像庫進行處理。這使用的是 CNN 應用程序 API。

          CDNN2 應用程序流

          正如上方圖片所示,CEVA 為每一層均提供 API,因此靈活性極強。 CDNN 實時圖像庫的處理結果是 ROI 分類。接下來,應用程序的后處理模塊完成識別階段并繼續追蹤未識別出的新物體。

          AlexNet – 網絡性能

          為演示此種解決方案在真實神經網絡上的功能,我們來看看 Alexnet。這是一個有著 24 層并能識別 1000 類的網絡。它所需的預訓網絡內存帶寬約為 250 Mb 浮點。這同時包括權重及數據。對于嵌入式系統而言,這是個非常重的網絡,因此運行此網絡是一項嚴峻挑戰。如果采用的是 CEVA 解決方案,那么在使用“CEVA 線下網絡生成器”及實時 CDNN 數據庫之后,網絡帶寬減至 16 Mb 浮點。這就完成了CEVA-XM 視覺處理器架構的優化。

          CEVA 網絡生成器 – 不到 10 分鐘即可做好嵌入準備

          如前所述, CEVA 網絡生成器是 CDNN 解決方案的關鍵部件。此部件的主要優勢在于使用方便,以及它在網絡移植、轉換及適應嵌入式平臺上所節省的時間。在確定開發時間、開發風險及由此導致的開發成本上這是一個很重要的考量因素。

          那么它是如何工作的呢?如前所述,先是線下訓練網絡的 Caffe、TensorFlow 及其它網絡所使用的圖像數據庫。輸入 CEVA 網絡生成器的文件包括轉換所需的重要數據。以下為輸入 CEVA 網絡生成器的各類文件:

          caffemodel,包括預訓浮點網絡。

          prototxt,包括以下網絡結構信息:

          1. 所使用的 SW 框架,可以是 Caffe 或 TensorFlow

          2. 所輸入的參考圖像的大小

          3. 各類神經網絡層的類型及其參數

          4. 歸一化的圖像(如需要)

          標記,包括網絡標記。標記定義后期與后處理塊進行通信的各類選項。

          一旦設定好網絡生成器所需的所有參數,最后一步就是“按按鈕”。結果便是得以全面優化的運行 CEVA-XM 視覺處理器的網絡。從始至終,整個過程不到 10 分鐘。這可不是需要花費數周甚至數月之久的人工移植網絡。下列視頻可讓你感受網絡生成器的速度及其便于使用的特點。從互聯網上下載年齡分類神經網絡,通過 CEVA 網絡生成器進行傳遞并在 CEVA-XM4 FPGA 上運行,這整個過程約需要 7 分鐘。

          CDNN 硬件加速器

          除了這些節省時間的軟件工具,功能強大的專用硬件加速器 (HWA) 更是讓 CDNN 工具包如虎添翼。CDNN HWA 讓深度學習算法的性能極為出色,且能耗極低。在 16b 的精度下達到 512 MACs/cycle,這使其在運行當今最復雜的神經網絡時能有一流的性能表現。同時使用 CDNN 軟件框架及 CDNN 硬件加速器不僅能讓神經網絡具備適應不斷變化的機器學習領域發展的靈活性,也會帶來超凡的性能表現。

         

          人工智能正改變世界,它會進入嵌入式系統

          從虛擬助手到自動車輛,人工智能 (AI) 正在重新定義獲得信息的方式、便利、安全及人類生活的其它方面。由于人工智能進入更小的便攜設備,我們的生活便有了無盡可能。正如我在本文及之前的博文中所深入探討的,這也帶來了諸多挑戰。CDNN 工具包的設計可應對所有這些挑戰。它提供了最佳的硬件軟件 IP 組合,而省時的開發工具讓其性能更為出眾,從而為數十億種設備鋪平了使用深度學習的道路。隨著這些技術的發展與演變,CEVA 將繼續位于開發神經網絡嵌入式平臺的最前沿。



        關鍵詞: CEVA 神經網絡

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 富阳市| 邵阳县| 攀枝花市| 康乐县| 班玛县| 绍兴县| 聂拉木县| 乌拉特前旗| 塔河县| 沐川县| 台南市| 天气| 额济纳旗| 乌拉特前旗| 绥宁县| 峡江县| 新干县| 巴林右旗| 寻乌县| 莲花县| 井陉县| 张掖市| 西峡县| 阿拉善右旗| 奉贤区| 武山县| 祁阳县| 平山县| 犍为县| 巴林右旗| 囊谦县| 洛阳市| 扶风县| 鹤岗市| 大新县| 伽师县| 迭部县| 滦平县| 南和县| 金寨县| 华容县|