前言
本文是基于EASY EAI Nano移植NCNN部署庫的方法與NCNN成功運行yolov4的Demo所做的教程。
關于NCNN
NCNN是“騰訊優圖實驗室”首個開源項目,是一個為手機端極致優化的高性能神經網絡前向計算框架。并在2017年7月正式開源。NCNN作為騰訊優圖最“火”的開源項目之一,在設計之初便將手機端的特殊場景融入核心理念,是業界首個為移動端優化的開源神經網絡推斷庫。能實現無第三方依賴,跨平臺操作,在手機端CPU運算速度在開源框架中處于領先水平。基于該平臺,開發者能夠輕松將深度學習算法移植到手機端,輸出高效的執行,進而產出人工智能APP,將AI技術帶到用戶指尖。
NCNN功能概述
- 支持卷積神經網絡,支持多輸入和多分支結構,可計算部分分支。
- 無任何第三方庫依賴,不依賴 BLAS/NNPACK 等計算框架。
- 純 C++ 實現,跨平臺,支持 android ios 等。
- 精細的內存管理和數據結構設計,內存占用極低。
-支持多核并行計算加速,ARM big.LITTLE cpu 調度優化。
-支持基于全新低消耗的 vulkan api GPU 加速。
-可擴展的模型設計,支持 8bit 量化 和半精度浮點存儲,可導入caffe/pytorch/mxnet/onnx/darknet/keras/tensorflow(mlir) 模型。
-支持直接內存零拷貝引用加載網絡模型。
- 可注冊自定義層實現并擴展。
*更多詳情參考官方Github:https://github.com/Tencent/ncnn
NCNN目前應用在圖像分類、風格遷移、目標檢測、人臉檢測等案例中,并已被多款APP使用。下面正式進入到NCNN算法移植學習吧。
一、源碼包下載與編譯
1. 源碼下載放置到ubuntu
NCNN相關源碼可通過我們的百度網盤進行下載(已配置好編譯腳本),下載鏈接為:
https://pan.baidu.com/s/1x_27sNJbjCujJZozBajq4g 提取碼:dfji
下載ncnn-master.tar.bz2源碼包并移植到虛擬機里面,執行以下指令解壓源碼包:
$ tar xvf ncnn-master.tar.bz2
即可得到如下所示:

2. NCNN編譯
執行以下指令編譯:
$ cd ncnn-master/ $ ./build-easyeai-nano.sh
編譯完成如下圖所示:

NCNN庫編譯完成,生成如下圖所示:

二、Yolov4基于NCNN運
1. 例程下載放置到ubuntu
Yolov4基于NCNN運行相關運行Demo可以通過我們的百度網盤進行下載(已配置好編譯腳本),下載鏈接為:
https://pan.baidu.com/s/1x_27sNJbjCujJZozBajq4g 提取碼:dfji
下載test_demo.tar.bz2源碼包并移植到虛擬機里面,執行以下指令解壓源碼包:
$ tar xvf test_demo.tar.bz2
得到如下圖所示:

2. 編譯例程
執行以下指令編譯例程:
$ cd test_demo/ $ ./build.sh
編譯成功后結果如下所示:

3. 在EASY EAI Nano執行例程
在ubuntu推送可執行程序文件到板卡的/userdata目錄:
$ adb push test-ncnn-demo-release/ /userdata
在EASY EAI Nano板卡執行程序:
# cd /userdata/test-ncnn-demo-release/ # ./test-ncnn-demo test_img/test1.jpg
執行結果如下圖所示:

在ubuntu執行以下指令獲取識別成功的圖片:
$ adb pull /userdata/test-ncnn-demo-release/result.jpg .
最后查看實際的效果圖,到這一步就完成啦!

后續更多教程可關注我們的哦,不定時更新各種新品及活動

關于EASY EAI NANO更多詳細請前往官網了解
EASY EAI靈眸科技
-
人工智能
+關注
關注
1805文章
48899瀏覽量
247967 -
開發板
+關注
關注
25文章
5622瀏覽量
103600
發布評論請先 登錄

基于RV1126開發板移植NCNN部署庫方法

三分鐘了解4G模組海外方案要點!
三分鐘帶你接入OpenAI構建個人語音助手


Air201定位模組LuatOS輕松搞定超低功耗模式!

三分鐘快速上手RK3588開發板

三分鐘學會Docker基本操作,快速入門容器技術!

使用TPA3118做了三分頻功放遇到的疑問求解
使用PP3調試TAS5766M,初始化要超過三分鐘,是什么原因導致的?
科普,三分鐘了解NTP網絡時間服務器

還不會嗎?三分鐘讓你速通Printf~

在AvaotaA1全志T527開發板上部署ncnn
好的網絡為啥是三分建設 七分運維?彩光是怎么做好智能運維的?

評論