一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

樹莓派也能玩轉(zhuǎn)深度學(xué)習(xí)—Tengine推斷引擎

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

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

那樹莓派只能跟深度學(xué)習(xí)無緣了么?那可未必!

Tengine

OADI/Tengine | github

Tengine 是OPEN AI LAB為嵌入式設(shè)備開發(fā)的一個輕量級、高性能并且模塊化的引擎。
Tengine在嵌入式設(shè)備上支持CPUGPU,DLA/NPU,DSP異構(gòu)計算的計算框架,實(shí)現(xiàn)異構(gòu)計算的調(diào)度器,基于ARM平臺的高效的計算庫實(shí)現(xiàn),針對特定硬件平臺的性能優(yōu)化,動態(tài)規(guī)劃計算圖的內(nèi)存使用,提供對于網(wǎng)絡(luò)遠(yuǎn)端AI計算能力的訪問支持,支持多級別并行,整個系統(tǒng)模塊可拆卸,基于事件驅(qū)動的計算模型,吸取已有AI計算框架的優(yōu)點(diǎn),設(shè)計全新的計算圖表示。

編譯安裝開源版Tengine

安裝相關(guān)工具

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

安裝支持庫

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

下載&編譯

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

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

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

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

    make -j4
    make install

    這里的 -j4 表示開啟四個線程進(jìn)行編譯

測試

  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指定環(huán)境變量TENGINE_DIR,該變量可以在CMakeLists.txt文件中找到

  4. 運(yùn)行示例程序

    ./MSSD

    可以看到對一張照片進(jìn)行目標(biāo)檢測,總共耗時1148.32ms

樹莓派開發(fā)者版Tengine

開發(fā)者版下載地址:Tengine下載 - Tengine開發(fā)者中心

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

小試牛刀

用上高性能的樹莓派開發(fā)者版Tengine,看看mobilenet-ssd在樹莓派上能表現(xiàn)如何——

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

本文開頭我們說道,
直接在樹莓派上配置darknet部署的yolo網(wǎng)絡(luò),yolov2單幀耗時接近6分鐘,yolov2-tiny單幀耗時接近40秒;
而在樹莓派上配置Tengine部署的yolov2網(wǎng)絡(luò),在blas實(shí)現(xiàn)下單幀耗時不到8秒(參考利用Tengine在樹莓派上跑深度學(xué)習(xí)網(wǎng)絡(luò) | songrbb),在針對armv7優(yōu)化實(shí)現(xiàn)的開發(fā)者版下單幀耗時甚至不到2秒!

審核編輯 黃昊宇

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

    關(guān)注

    1804

    文章

    48477

    瀏覽量

    245183
  • 樹莓派
    +關(guān)注

    關(guān)注

    120

    文章

    1910

    瀏覽量

    106746
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5548

    瀏覽量

    122337
  • Tengine
    +關(guān)注

    關(guān)注

    1

    文章

    47

    瀏覽量

    3014
收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    樹莓電腦能玩網(wǎng)游嗎?

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

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

    `Tengine 是OPEN AI LAB 為嵌入式設(shè)備開發(fā)的一個輕量級、高性能并且模塊化的引擎?;贏RM平臺高效的計算庫實(shí)現(xiàn),針對特定硬件平臺的性能優(yōu)化,吸取已有AI計算框架的優(yōu)點(diǎn),設(shè)計全新
    發(fā)表于 08-13 15:58

    樹莓的深刻含義

    要想玩轉(zhuǎn)樹莓,首先得知道樹莓是什么。在本節(jié)中,作者將帶領(lǐng)大家揭開樹莓
    發(fā)表于 08-06 06:10

    硬件創(chuàng)客開源設(shè)計教程資料匯總,帶你玩轉(zhuǎn)樹莓

    AD/DA,樹莓派系列教程18:SPI 開源硬件創(chuàng)客15個酷應(yīng)用玩轉(zhuǎn)樹莓的PDF電子書:本書共18章。前3章是本書的基礎(chǔ)章節(jié),主要介紹了樹莓
    發(fā)表于 05-18 14:35

    樹莓pico入門學(xué)習(xí)筆記(一)相關(guān)資料推薦

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

    樹莓_庫函數(shù)安裝教程

    樹莓_庫函數(shù)安裝教程,樹莓嵌入式拔高篇,非常適合新手學(xué)習(xí)
    發(fā)表于 01-14 15:12 ?32次下載

    如何玩轉(zhuǎn)樹莓

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

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

    要想玩轉(zhuǎn)樹莓,首先得知道樹莓是什么。在本節(jié)中,作者將帶領(lǐng)大家揭開樹莓
    發(fā)表于 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在深度學(xué)習(xí)推斷的應(yīng)用

    Zebra 可消除深度學(xué)習(xí)推斷中具有挑戰(zhàn)性的編程及 FPGA 任務(wù)。Zebra 可輕松部署和適應(yīng)廣泛的神經(jīng)網(wǎng)絡(luò)及框架。
    發(fā)表于 07-21 10:59 ?1009次閱讀
    Mipsology Zebra在<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>推斷</b>的應(yīng)用

    樹莓學(xué)習(xí)設(shè)計方案合集

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

    樹莓pico入門學(xué)習(xí)筆記(一)

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

    樹莓4b學(xué)習(xí)筆記

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

    開源硬件創(chuàng)客 15個酷應(yīng)用玩轉(zhuǎn)樹莓 (工業(yè)智能新技術(shù)系列)

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

    超實(shí)用!玩轉(zhuǎn)樹莓攻略!

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

    什么是樹莓樹莓是什么架構(gòu)的

    什么是樹莓 樹莓(Raspberry Pi,簡寫為RPi,別名為RasPi/RPI)是由英國“Raspberry Pi 慈善基金會”開發(fā)的一款為
    的頭像 發(fā)表于 10-22 17:33 ?3219次閱讀