在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

樹莓派也能玩轉深度學習—Tengine推斷引擎

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-10 22:06 ? 次閱讀

一直以來,樹莓派以其良好的社區生態,廣受嵌入式愛好者、創客歡迎。在一些相關的社區上(比如樹莓派實驗室),我們可以看到非常豐富的應用示例及其教程。但在樹莓派上的深度學習應用并不常見,這主要是受到樹莓派計算力的限制,比如之前看到過有人把yolov2原原本本生硬地部署到樹莓派上,結果每一幀檢測耗時高達6分鐘!!作一幀目標檢測花費6分鐘這實在是無法忍受的!
如果是用yolov2-tiny的話會快很多,但耗時依舊接近40秒,參考樹莓派3B上測試YOLO效果 | CSDN

那樹莓派只能跟深度學習無緣了么?那可未必!

Tengine

OADI/Tengine | github

Tengine 是OPEN AI LAB為嵌入式設備開發的一個輕量級、高性能并且模塊化的引擎。
Tengine在嵌入式設備上支持CPUGPU,DLA/NPU,DSP異構計算的計算框架,實現異構計算的調度器,基于ARM平臺的高效的計算庫實現,針對特定硬件平臺的性能優化,動態規劃計算圖的內存使用,提供對于網絡遠端AI計算能力的訪問支持,支持多級別并行,整個系統模塊可拆卸,基于事件驅動的計算模型,吸取已有AI計算框架的優點,設計全新的計算圖表示。

編譯安裝開源版Tengine

安裝相關工具

sudo apt-get install git cmake
  • git 是一個版本控制系統,稍后將用來從 github 網站上下載Tengine的源碼
  • cmake 是一個編譯工具,用來產生make過程中所需要的Makefile文件

安裝支持庫

sudo apt-get install libprotobuf-dev protobuf-compiler libboost-all-dev libgoogle-glog-dev libopencv-dev libopenblas-dev
  • protobuf 是一種輕便高效的數據存儲格式,這是caffe各種配置文件所使用的數據格式
  • boost 是一個c++的擴展程序庫,稍后Tengine的編譯依賴于該庫
  • google-glog 是一個google提供的日志系統的程序庫
  • opencv 是一個開源的計算機視覺
  • openblas 是一個開源的基礎線性代數子程序庫

下載&編譯

  1. 從github上下載最新的開源版Tengine源碼

    git clone https://github.com/OAID/Tengine.git
  2. 切換工作目錄到Tengine

    cd Tengine
  3. 準備好配置文件
    Tengine目錄下提供了配置模板 makefile.config.example 文件

    cp makefile.config.example makefile.config
  4. 修改配置文件 makefile.config
    由于開源版的Tengine不支持針對armv7的優化,所以需要用openblas替代實現;
    CONFIG_ARCH_ARM64=y 這一行注釋掉(行首加井號 #)以關閉ARM64架構的優化實現;
    解除 CONFIG_ARCH_ARM32=yCONFIG_ARCH_BLAS=y 這一行解除注釋(刪除行首的井號 #)以開啟BLAS計算庫的實現方式
  5. 編譯并安裝

    make -j4
    make install

    這里的 -j4 表示開啟四個線程進行編譯

測試

  1. 下載mobilenet-ssd模型并放置在 Tengine/models 目錄下
    下載鏈接(提取碼為57vb):https://pan.baidu.com/s/1LXZ8...
  2. 將工作目錄切換到mobilenet-ssd示例程序的目錄下

    cd ~/Tengine/examples/mobilenet_ssd
  3. 編譯示例程序

    cmake -DTENGINE_DIR=/home/pi/Tengine .
    make

    這里 -DTENGINE_DIR用于為cmake指定環境變量TENGINE_DIR,該變量可以在CMakeLists.txt文件中找到

  4. 運行示例程序

    ./MSSD

    可以看到對一張照片進行目標檢測,總共耗時1148.32ms

樹莓派開發者版Tengine

開發者版下載地址:Tengine下載 - Tengine開發者中心

  1. 用樹莓派開發者版Tengine的動態鏈接庫覆蓋掉原先的開源版
    動態鏈接庫路徑為:Tengine/install/lib/libtengine.so
    編譯時,make會在build目錄下產生libtengine.so動態鏈接庫,而make instll將動態鏈接庫、頭文件等拷貝到install目錄下
  2. 重新運行mobilenet-ssd的示例程序
    可以看到,單幀耗時從1148.32ms下降為286.136ms,速度有了非常明顯的提升!

小試牛刀

用上高性能的樹莓派開發者版Tengine,看看mobilenet-ssd在樹莓派上能表現如何——

  1. hey-yahei/my_blog/RasPi-Tengine/mobilenet-ssd | github 上下載源碼,并放置在 Tengine/example 目錄下
  2. 檢查 CMakeLists.txt 文件中TENGINE_DIR變量是否正確指向Tengine路徑
  3. 執行 cmake . 生成Makefile
  4. 執行 make 編譯程序
  5. 執行 ./MSSD 運行程序

本文開頭我們說道,
直接在樹莓派上配置darknet部署的yolo網絡,yolov2單幀耗時接近6分鐘,yolov2-tiny單幀耗時接近40秒
而在樹莓派上配置Tengine部署的yolov2網絡,在blas實現下單幀耗時不到8秒(參考利用Tengine在樹莓派上跑深度學習網絡 | songrbb),在針對armv7優化實現的開發者版下單幀耗時甚至不到2秒

審核編輯 黃昊宇

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

    關注

    1793

    文章

    47532

    瀏覽量

    239293
  • 樹莓派
    +關注

    關注

    117

    文章

    1710

    瀏覽量

    105763
  • 深度學習
    +關注

    關注

    73

    文章

    5511

    瀏覽量

    121350
  • Tengine
    +關注

    關注

    1

    文章

    47

    瀏覽量

    2864
收藏 人收藏

    評論

    相關推薦

    樹莓電腦能玩網游嗎?

    其實接觸之初就想問了。樹莓電腦連接七寸屏能玩網游嗎?比如說什么QQ自由幻想。LOL什么的。
    發表于 09-09 17:41

    Firefly支持AI引擎Tengine,性能提升,輕松搭建AI計算框架

    `Tengine 是OPEN AI LAB 為嵌入式設備開發的一個輕量級、高性能并且模塊化的引擎。基于ARM平臺高效的計算庫實現,針對特定硬件平臺的性能優化,吸取已有AI計算框架的優點,設計全新
    發表于 08-13 15:58

    樹莓的深刻含義

    要想玩轉樹莓,首先得知道樹莓是什么。在本節中,作者將帶領大家揭開樹莓
    發表于 08-06 06:10

    硬件創客開源設計教程資料匯總,帶你玩轉樹莓

    AD/DA,樹莓派系列教程18:SPI 開源硬件創客15個酷應用玩轉樹莓的PDF電子書:本書共18章。前3章是本書的基礎章節,主要介紹了樹莓
    發表于 05-18 14:35

    樹莓pico入門學習筆記(一)相關資料推薦

    樹莓pico入門學習筆記選擇自己熟悉的編程語言樹莓pico提供C/C++和micropython兩種編程語言開發環境,但是“人生苦短,我
    發表于 07-01 09:28

    樹莓_庫函數安裝教程

    樹莓_庫函數安裝教程,樹莓嵌入式拔高篇,非常適合新手學習
    發表于 01-14 15:12 ?32次下載

    如何玩轉樹莓

    技術大拿帶你玩轉樹莓,聊聊樹莓的那些事!
    的頭像 發表于 05-30 15:03 ?3656次閱讀
    如何<b class='flag-5'>玩轉</b><b class='flag-5'>樹莓</b><b class='flag-5'>派</b>

    樹莓是什么樹莓的簡單介紹

    要想玩轉樹莓,首先得知道樹莓是什么。在本節中,作者將帶領大家揭開樹莓
    發表于 05-15 18:09 ?30次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>是什么<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>的簡單介紹

    Mipsology Zebra在深度學習推斷的應用

    Zebra 可消除深度學習推斷中具有挑戰性的編程及 FPGA 任務。Zebra 可輕松部署和適應廣泛的神經網絡及框架。
    發表于 07-21 10:59 ?969次閱讀
    Mipsology Zebra在<b class='flag-5'>深度</b><b class='flag-5'>學習</b><b class='flag-5'>推斷</b>的應用

    樹莓學習設計方案合集

    本文檔的主要內容詳細介紹的是樹莓學習設計方案合集免費下載包括了:AMG8833 8x8紅外熱像儀傳感器應用附PCB驅動源碼,Arduino與樹莓
    發表于 03-11 08:00 ?12次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>的<b class='flag-5'>學習</b>設計方案合集

    樹莓pico入門學習筆記(一)

    樹莓pico入門學習筆記選擇自己熟悉的編程語言樹莓pico提供C/C++和micropython兩種編程語言開發環境,但是“人生苦短,我
    發表于 12-17 18:42 ?21次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>pico入門<b class='flag-5'>學習</b>筆記(一)

    樹莓4b學習筆記

    肯上市,考慮到這是一款理財產品,性能提升又很大,我一直想親手做實驗,學習一下。所以我決定入手樹莓4b 8G高配版。
    的頭像 發表于 07-04 11:25 ?7191次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>4b<b class='flag-5'>學習</b>筆記

    開源硬件創客 15個酷應用玩轉樹莓 (工業智能新技術系列)

    電子發燒友網站提供《開源硬件創客 15個酷應用玩轉樹莓 (工業智能新技術系列).pdf》資料免費下載
    發表于 08-30 16:12 ?8次下載
    開源硬件創客 15個酷應用<b class='flag-5'>玩轉</b><b class='flag-5'>樹莓</b><b class='flag-5'>派</b> (工業智能新技術系列)

    超實用!玩轉樹莓攻略!

    如果你使用樹莓派來開發的話,C語言或者Python語言都是一個比較不錯的選擇。在開始玩轉你的樹莓前,可以先看看如何快速入門; Raspberry Pi Imager 工具是一款圖形化
    的頭像 發表于 11-01 20:30 ?2332次閱讀
    超實用!<b class='flag-5'>玩轉</b><b class='flag-5'>樹莓</b><b class='flag-5'>派</b>攻略!

    什么是樹莓樹莓是什么架構的

    什么是樹莓 樹莓(Raspberry Pi,簡寫為RPi,別名為RasPi/RPI)是由英國“Raspberry Pi 慈善基金會”開發的一款為
    的頭像 發表于 10-22 17:33 ?1130次閱讀
    主站蜘蛛池模板: 日本在线观看高清不卡免v| 91综合在线视频| 欧美性精品videofree| 97人人揉人人捏人人添| 成人午夜精品久久久久久久小说| 影院午夜| 波多野结衣在线视频免费观看| 日本黄免费| 四虎最新网址| 免费一级毛片在线播放| 一区一精品| 天天草夜夜| 4hc44四虎www亚洲| 国产色噜噜| 久久人成| 免费毛片大全| 欧美人与动性xxxxbbbb| 日韩a毛片| 色骚网| 五月综合色婷婷影院在线观看| 综合色区| 91久久澡人人爽人人添| 亚洲成年人网| 一级视频片| 成人aaa| 久久精品在| 美女扒开尿口让男人30视频| 亚洲一卡2卡4卡5卡6卡在线99| h视频在线观看网站| 欧美日本一区| 国产精品色婷婷在线观看| 完整日本特级毛片| 日韩三级精品| 国产一级毛片外aaaa| 亚洲第一黄色网址| 台湾久久| 狠狠干在线观看| 51精品视频免费国产专区| 欧美涩区| 青青热久免费精品视频在线观看| 亚洲成人高清|