得益于四核A55的性能,NCNN跑起來應(yīng)該問題不大,本文主要介紹NCNN在Core3566 模組上的部署和測試。
一、NCNN介紹
ncnn 是一個為手機(jī)端極致優(yōu)化的高性能神經(jīng)網(wǎng)絡(luò)前向計算框架。 ncnn 從設(shè)計之初深刻考慮手機(jī)端的部署和使用。 無第三方依賴,跨平臺,手機(jī)端 cpu 的速度快于目前所有已知的開源框架。 基于 ncnn,開發(fā)者能夠?qū)?a href="http://m.xsypw.cn/v/tag/448/" target="_blank">深度學(xué)習(xí)算法輕松移植到手機(jī)端高效執(zhí)行, 開發(fā)出人工智能 APP,將 AI 帶到你的指尖。 ncnn 目前已在騰訊多款應(yīng)用中使用,如:QQ,Qzone,微信,天天 P 圖等。
ncnn: NCNN是騰訊優(yōu)圖實(shí)驗(yàn)室首個開源項(xiàng)目,是一個為手機(jī)端極致優(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如下:

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

最終生成了可執(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/文件夾中,因?yàn)檫@里面有測試需要的模型數(shù)據(jù)。

執(zhí)行一下,幾個模型測試都跑個遍:

得分?jǐn)?shù)據(jù)還是比較能反映RK3566的實(shí)力,基本上每項(xiàng)都是H616得分的2倍。貼個H616的測試分?jǐn)?shù),對比下。

-
AI
+關(guān)注
關(guān)注
87文章
34306瀏覽量
275488 -
人工智能
+關(guān)注
關(guān)注
1804文章
48745瀏覽量
246682 -
源碼
+關(guān)注
關(guān)注
8文章
668瀏覽量
30157 -
模組
+關(guān)注
關(guān)注
6文章
1613瀏覽量
31157
發(fā)布評論請先 登錄
【幸狐Core3566模組試用體驗(yàn)】Linux系統(tǒng)燒寫和體驗(yàn)

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

評論