得益于四核A55的性能,NCNN跑起來應該問題不大,本文主要介紹NCNN在Core3566 模組上的部署和測試。
一、NCNN介紹
ncnn 是一個為手機端極致優化的高性能神經網絡前向計算框架。 ncnn 從設計之初深刻考慮手機端的部署和使用。 無第三方依賴,跨平臺,手機端 cpu 的速度快于目前所有已知的開源框架。 基于 ncnn,開發者能夠將深度學習算法輕松移植到手機端高效執行, 開發出人工智能 APP,將 AI 帶到你的指尖。 ncnn 目前已在騰訊多款應用中使用,如:QQ,Qzone,微信,天天 P 圖等。
ncnn: NCNN是騰訊優圖實驗室首個開源項目,是一個為手機端極致優化的高性能神經網絡前向計算框架。
二、源碼下載&編譯
(一)源碼下載
在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)
操作及log如下:

可以看出編譯還是很耗資源。

最終生成了可執行程序。
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$
三、測試
將生成的可執行文件拷貝到原目錄的benchmark/文件夾中,因為這里面有測試需要的模型數據。

執行一下,幾個模型測試都跑個遍:

得分數據還是比較能反映RK3566的實力,基本上每項都是H616得分的2倍。貼個H616的測試分數,對比下。

-
AI
+關注
關注
87文章
32439瀏覽量
271624 -
人工智能
+關注
關注
1800文章
48083瀏覽量
242163 -
源碼
+關注
關注
8文章
656瀏覽量
29786 -
模組
+關注
關注
6文章
1556瀏覽量
30758
發布評論請先 登錄
相關推薦
【幸狐Core3566模組試用體驗】Linux系統燒寫和體驗

在AvaotaA1全志T527開發板上部署ncnn
如何在RK3308嵌入式開發板上使用ncnn部署mobilenetv2_ssdlite模型呢
【芒果派MangoPi MQ Quad】NCNN在MangoPi MQ Quad上的部署和測試
【幸狐 Core3566 模組試用體驗】幸狐 Core3566 模組開箱
【幸狐 Core3566 模組試用體驗】Linux系統燒寫和體驗
【幸狐 Core3566 模組試用體驗】基于openCV的貓臉識別
【幸狐 Core3566 模組試用體驗】RK3566的CoreMark
【幸狐 Core3566 模組試用體驗】開箱篇
【幸狐 Core3566 模組試用體驗】EMMC燒寫鏡像
【幸狐 Core3566 模組試用體驗】NCNN在Core3566 模組上的部署和測試
NCNN在MangoPi MQ Quad上的部署和測試

評論