得益于四核A55的性能,NCNN跑起來應(yīng)該問題不大,本文主要介紹NCNN在Core3566 模組上的部署和測試。
一、NCNN介紹
ncnn 是一個為手機端極致優(yōu)化的高性能神經(jīng)網(wǎng)絡(luò)前向計算框架。 ncnn 從設(shè)計之初深刻考慮手機端的部署和使用。 無第三方依賴,跨平臺,手機端 cpu 的速度快于目前所有已知的開源框架。 基于 ncnn,開發(fā)者能夠?qū)?a href="http://www.qldv.cn/v/tag/448/" target="_blank">深度學(xué)習(xí)算法輕松移植到手機端高效執(zhí)行, 開發(fā)出人工智能 APP,將 AI 帶到你的指尖。 ncnn 目前已在騰訊多款應(yīng)用中使用,如:QQ,Qzone,微信,天天 P 圖等。
ncnn: NCNN是騰訊優(yōu)圖實驗室首個開源項目,是一個為手機端極致優(yōu)化的高性能神經(jīng)網(wǎng)絡(luò)前向計算框架。
二、源碼下載&編譯
(一)源碼下載
在NCNN的github(github.com/Tencent/ncnn)拉源碼。
linaro@linaro-alip:/userdata$ sudo git clone https://github.com/Tencent/ncnn.git
Cloning into 'ncnn'...
remote: Enumerating objects: 32651, done.
remote: Counting objects: 100% (5798/5798), done.
remote: Compressing objects: 100% (309/309), done.
remote: Total 32651 (delta 5637), reused 5500 (delta 5489), pack-reused 26853
Receiving objects: 100% (32651/32651), 22.79 MiB | 8.51 MiB/s, done.
Resolving deltas: 100% (27724/27724), done.
Checking out files: 100% (3285/3285), done.
linaro@linaro-alip:/userdata$
(二)源碼編譯
考慮到四核A55的能力,加上NCNN本身也支持板上直接編譯,所以就不去PC上搞交叉編譯了。
Debian包自帶gcc,所以就不需要在Core3566 模組編譯安裝了,頂多更新下。
linaro@linaro-alip:/userdata$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/8/lto-wrapper
Target: aarch64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 8.3.0-6' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --disable-libphobos --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu
Thread model: posix
gcc version 8.3.0 (Debian 8.3.0-6)
按照下面步驟的順序:
cd < ncnn-root-dir >
mkdir -pbuild-aarch64-linux-gnu
cdbuild-aarch64-linux-gnu
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/aarch64-linux-gnu.toolchain.cmake ..
make -j$(nproc)
操作及l(fā)og如下:
![TOP2.png](https://file1.elecfans.com/web2/M00/A9/62/wKgZomUlQwCAMamJAAmXdQjebnA370.png)
可以看出編譯還是很耗資源。
![TOP.png](https://file1.elecfans.com/web2/M00/A9/62/wKgZomUlQ3WAKbQfAAT5H0xGpxg760.png)
最終生成了可執(zhí)行程序。
linaro@linaro-alip:/userdata/ncnn/build-aarch64-linux-gnu$ file benchmark/benchncnn
benchmark/benchncnn: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=16473ecd5c28b183841b2925c3d87c7cd23a060e, not stripped
linaro@linaro-alip:/userdata/ncnn/build-aarch64-linux-gnu$
三、測試
將生成的可執(zhí)行文件拷貝到原目錄的benchmark/文件夾中,因為這里面有測試需要的模型數(shù)據(jù)。
![TOP3.png](https://file1.elecfans.com/web2/M00/A9/62/wKgZomUlQ9qAO-rPAAHTYbQipog952.png)
執(zhí)行一下,幾個模型測試都跑個遍:
![TOP4.png](https://file1.elecfans.com/web2/M00/A7/9E/wKgaomUlRsuAQSn0AASnQu3wufI705.png)
得分?jǐn)?shù)據(jù)還是比較能反映RK3566的實力,基本上每項都是H616得分的2倍。貼個H616的測試分?jǐn)?shù),對比下。
![NCNN2.png](https://file1.elecfans.com/web2/M00/8D/78/wKgaomS6r7yAHpsSAADUT39o48c525.png)
-
AI
+關(guān)注
關(guān)注
87文章
31513瀏覽量
270328 -
人工智能
+關(guān)注
關(guān)注
1796文章
47666瀏覽量
240279 -
源碼
+關(guān)注
關(guān)注
8文章
652瀏覽量
29452 -
模組
+關(guān)注
關(guān)注
6文章
1515瀏覽量
30604
發(fā)布評論請先 登錄
相關(guān)推薦
【幸狐Core3566模組試用體驗】Linux系統(tǒng)燒寫和體驗
![【幸狐<b class='flag-5'>Core3566</b><b class='flag-5'>模組</b>試用體驗】Linux系統(tǒng)燒寫和體驗](https://file1.elecfans.com//web2/M00/A5/CB/wKgaomUOQt-AU1YOAAD8ks3akBI178.jpg)
在AvaotaA1全志T527開發(fā)板上部署ncnn
如何在RK3308嵌入式開發(fā)板上使用ncnn部署mobilenetv2_ssdlite模型呢
【芒果派MangoPi MQ Quad】NCNN在MangoPi MQ Quad上的部署和測試
【幸狐 Core3566 模組試用體驗】幸狐 Core3566 模組開箱
【幸狐 Core3566 模組試用體驗】Linux系統(tǒng)燒寫和體驗
【幸狐 Core3566 模組試用體驗】基于openCV的貓臉識別
【幸狐 Core3566 模組試用體驗】RK3566的CoreMark
【幸狐 Core3566 模組試用體驗】開箱篇
【幸狐 Core3566 模組試用體驗】EMMC燒寫鏡像
【幸狐 Core3566 模組試用體驗】NCNN在Core3566 模組上的部署和測試
NCNN在MangoPi MQ Quad上的部署和測試
![<b class='flag-5'>NCNN</b><b class='flag-5'>在</b>MangoPi MQ Quad<b class='flag-5'>上</b>的<b class='flag-5'>部署</b>和<b class='flag-5'>測試</b>](https://file1.elecfans.com//web2/M00/8D/78/wKgaomS6sCWAPCgTAACgQ6RGAcM327.png)
評論