得益于四核A55的性能,NCNN跑起來(lái)應(yīng)該問題不大,本文主要介紹NCNN在Core3566 模組上的部署和測(cè)試。
一、NCNN介紹
ncnn 是一個(gè)為手機(jī)端極致優(yōu)化的高性能神經(jīng)網(wǎng)絡(luò)前向計(jì)算框架。 ncnn 從設(shè)計(jì)之初深刻考慮手機(jī)端的部署和使用。 無(wú)第三方依賴,跨平臺(tái),手機(jī)端 cpu 的速度快于目前所有已知的開源框架。 基于 ncnn,開發(fā)者能夠?qū)?a href="http://www.www27dydycom.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)室首個(gè)開源項(xiàng)目,是一個(gè)為手機(jī)端極致優(yōu)化的高性能神經(jīng)網(wǎng)絡(luò)前向計(jì)算框架。
二、源碼下載&編譯
(一)源碼下載
在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$
三、測(cè)試
將生成的可執(zhí)行文件拷貝到原目錄的benchmark/文件夾中,因?yàn)檫@里面有測(cè)試需要的模型數(shù)據(jù)。

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

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

-
AI
+關(guān)注
關(guān)注
88文章
35093瀏覽量
279470 -
人工智能
+關(guān)注
關(guān)注
1806文章
49007瀏覽量
249274 -
源碼
+關(guān)注
關(guān)注
8文章
671瀏覽量
30317 -
模組
+關(guān)注
關(guān)注
6文章
1636瀏覽量
31360
發(fā)布評(píng)論請(qǐng)先 登錄
【幸狐Core3566模組試用體驗(yàn)】Linux系統(tǒng)燒寫和體驗(yàn)

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

評(píng)論