一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

NCNN在MangoPi MQ Quad上的部署和測(cè)試

發(fā)燒電子愛(ài)好者 ? 來(lái)源:發(fā)燒電子愛(ài)好者 ? 作者:發(fā)燒電子愛(ài)好者 ? 2023-07-22 09:10 ? 次閱讀

本來(lái)繼上集(【芒果派MangoPi MQ Quad】利用MangoPi MQ Quad部署一個(gè)網(wǎng)絡(luò)攝像頭-電子發(fā)燒友網(wǎng) (elecfans.com))后,繼續(xù)寫(xiě)公網(wǎng)視頻傳輸,后來(lái)一直沒(méi)找到合適的公網(wǎng)穿透工具,找了幾個(gè)要么不免費(fèi),要么各種驗(yàn)證,還是放棄吧。

得益于四核A53的性能,NCNN跑起來(lái)應(yīng)該問(wèn)題不大,本文主要介紹NCNN在MangoPi MQ Quad上的部署和測(cè)試。

一、NCNN介紹

ncnn 是一個(gè)為手機(jī)端極致優(yōu)化的高性能神經(jīng)網(wǎng)絡(luò)前向計(jì)算框架。 ncnn 從設(shè)計(jì)之初深刻考慮手機(jī)端的部署和使用。 無(wú)第三方依賴,跨平臺(tái),手機(jī)端 cpu 的速度快于目前所有已知的開(kāi)源框架。 基于 ncnn,開(kāi)發(fā)者能夠?qū)?a target="_blank">深度學(xué)習(xí)算法輕松移植到手機(jī)端高效執(zhí)行, 開(kāi)發(fā)出人工智能 APP,將 AI 帶到你的指尖。 ncnn 目前已在騰訊多款應(yīng)用中使用,如:QQ,Qzone,微信,天天 P 圖等。

ncnn: ncnn ncnn 是騰訊優(yōu)圖實(shí)驗(yàn)室首個(gè)開(kāi)源項(xiàng)目,是一個(gè)為手機(jī)端極致優(yōu)化的高性能神經(jīng)網(wǎng)絡(luò)前向計(jì)算框架 (gitee.com)

二、源碼下載&編譯

(一)源碼下載

NCNN的github(github.com/Tencent/ncnn)拉源碼。

root@orangepizero2:~# git clone https://github.com/Tencent/ncnn.git
Cloning into 'ncnn'...
remote: Enumerating objects: 31640, done.
remote: Counting objects: 100% (5982/5982), done.
remote: Compressing objects: 100% (498/498), done.
remote: Total 31640 (delta 5754), reused 5489 (delta 5484), pack-reused 25658
Receiving objects: 100% (31640/31640), 22.19 MiB | 2.33 MiB/s, done.
Resolving deltas: 100% (26851/26851), done.
Updating files: 100% (3195/3195), done.

(二)源碼編譯

考慮到四核A53的能力,加上NCNN本身也支持板上直接編譯,所以就不去PC上搞交叉編譯了。

Debian包自帶gcc,所以就不需要在MangoPi MQ Quad編譯安裝了,頂多更新下。

按照下面順序:

cd 
mkdir -p build-aarch64-linux-gnu
cd build-aarch64-linux-gnu
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/aarch64-linux-gnu.toolchain.cmake ..
make -j$(nproc)

操作及l(fā)og如下:

root@orangepizero2:~/ncnn/build-aarch64-linux-gnu# cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/aarch64-linux-gnu.toolchain.cmake ..
-- CMAKE_TOOLCHAIN_FILE = /root/ncnn/toolchains/aarch64-linux-gnu.toolchain.cmake
-- CMAKE_INSTALL_PREFIX = /root/ncnn/build-aarch64-linux-gnu/install
-- NCNN_VERSION_STRING = 1.0.20230721
-- The C compiler identification is GNU 10.2.1
-- The CXX compiler identification is GNU 10.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/aarch64-linux-gnu-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test NCNN_COMPILER_SUPPORT_GNU_INLINE_ASM
-- Performing Test NCNN_COMPILER_SUPPORT_GNU_INLINE_ASM - Success
-- Performing Test NCNN_COMPILER_SUPPORT_ARM_VFPV4
-- Performing Test NCNN_COMPILER_SUPPORT_ARM_VFPV4 - Success
-- Performing Test NCNN_COMPILER_SUPPORT_ARM82_FP16
-- Performing Test NCNN_COMPILER_SUPPORT_ARM82_FP16 - Success
-- Performing Test NCNN_COMPILER_SUPPORT_ARM82_DOTPROD
-- Performing Test NCNN_COMPILER_SUPPORT_ARM82_DOTPROD - Success
-- Performing Test NCNN_COMPILER_SUPPORT_ARM82_FP16FML
-- Performing Test NCNN_COMPILER_SUPPORT_ARM82_FP16FML - Success
-- Performing Test NCNN_COMPILER_SUPPORT_ARM84_BF16
-- Performing Test NCNN_COMPILER_SUPPORT_ARM84_BF16 - Success
-- Performing Test NCNN_COMPILER_SUPPORT_ARM84_I8MM
-- Performing Test NCNN_COMPILER_SUPPORT_ARM84_I8MM - Success
-- Performing Test NCNN_COMPILER_SUPPORT_ARM86_SVE
-- Performing Test NCNN_COMPILER_SUPPORT_ARM86_SVE - Success
-- Performing Test NCNN_COMPILER_SUPPORT_ARM86_SVE2
-- Performing Test NCNN_COMPILER_SUPPORT_ARM86_SVE2 - Success
-- Performing Test NCNN_COMPILER_SUPPORT_ARM86_SVEBF16
-- Performing Test NCNN_COMPILER_SUPPORT_ARM86_SVEBF16 - Success
-- Performing Test NCNN_COMPILER_SUPPORT_ARM86_SVEI8MM
-- Performing Test NCNN_COMPILER_SUPPORT_ARM86_SVEI8MM - Success
-- Performing Test NCNN_COMPILER_SUPPORT_ARM86_SVEF32MM
-- Performing Test NCNN_COMPILER_SUPPORT_ARM86_SVEF32MM - Success
-- Target arch: arm 64bit
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: /root/ncnn/build-aarch64-linux-gnu
root@orangepizero2:~/ncnn/build-aarch64-linux-gnu# make -j4
Scanning dependencies of target ncnn-generate-spirv
[  0%] Built target ncnn-generate-spirv
Scanning dependencies of target ncnn
[  1%] Building CXX object src/CMakeFiles/ncnn.dir/benchmark.cpp.o
[  1%] Building CXX object src/CMakeFiles/ncnn.dir/allocator.cpp.o
[  2%] Building CXX object src/CMakeFiles/ncnn.dir/blob.cpp.o
[  2%] Building CXX object src/CMakeFiles/ncnn.dir/c_api.cpp.o
[  3%] Building CXX object src/CMakeFiles/ncnn.dir/command.cpp.o
[  3%] Building CXX object src/CMakeFiles/ncnn.dir/cpu.cpp.o
[  4%] Building CXX object src/CMakeFiles/ncnn.dir/datareader.cpp.o
[  4%] Building CXX object src/CMakeFiles/ncnn.dir/gpu.cpp.o
[  5%] Building CXX object src/CMakeFiles/ncnn.dir/layer.cpp.o
[  5%] Building CXX object src/CMakeFiles/ncnn.dir/mat.cpp.o
....
[ 99%] Building CXX object src/CMakeFiles/ncnn.dir/layer/copyto.cpp.o
[100%] Linking CXX static library libncnn.a
[100%] Built target ncnn
Scanning dependencies of target benchncnn
[100%] Building CXX object benchmark/CMakeFiles/benchncnn.dir/benchncnn.cpp.o
[100%] Linking CXX executable benchncnn
[100%] Built target benchncnn
root@orangepizero2:~/ncnn/build-aarch64-linux-gnu# ll
total 56
drwxr-xr-x 3 root root  4096 Jul 21 15:36 benchmark
-rw-r--r-- 1 root root 28856 Jul 21 15:19 CMakeCache.txt
drwxr-xr-x 5 root root  4096 Jul 21 15:36 CMakeFiles
-rw-r--r-- 1 root root  1917 Jul 21 15:19 cmake_install.cmake
-rw-r--r-- 1 root root  7466 Jul 21 15:19 Makefile
drwxr-xr-x 3 root root  4096 Jul 21 15:35 src

等了大約10分鐘,畢竟編譯速度比不上X86,檢查下生成的可執(zhí)行文件,正常:

root@orangepizero2:~/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,x 3.7.0, not stripped

三、測(cè)試

將生成的可執(zhí)行文件拷貝到原目錄的benchmark/文件夾中,因?yàn)檫@里面有測(cè)試需要的模型數(shù)據(jù)。

root@orangepizero2:~/ncnn/build-aarch64-linux-gnu/benchmark# cd ../../benchmark/
root@orangepizero2:~/ncnn/benchmark# ls
alexnet.param    efficientnet_b0.param    mnasnet.param             mobilenet_v2.param        proxylessnasnet.param  resnet50_int8.param    sq
benchncnn        efficientnetv2_b0.param  mobilenet_int8.param      mobilenetv2_yolov3.param  README.md              resnet50.param         sq
benchncnn.cpp    FastestDet.param         mobilenet.param           mobilenet_v3.param        regnety_400m.param     shufflenet.param       sq
blazeface.param  googlenet_int8.param     mobilenet_ssd_int8.param  mobilenet_yolo.param      resnet18_int8.param    shufflenet_v2.param    vg
CMakeLists.txt   googlenet.param          mobilenet_ssd.param       nanodet_m.param           resnet18.param         squeezenet_int8.param  vg

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

wKgaomS6r7yAHpsSAADUT39o48c525.png

責(zé)任編輯:彭菁

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 攝像頭
    +關(guān)注

    關(guān)注

    60

    文章

    4927

    瀏覽量

    97433
  • 開(kāi)源
    +關(guān)注

    關(guān)注

    3

    文章

    3533

    瀏覽量

    43306
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【芒果派MangoPi MQ Quad】利用MangoPi MQ Quad部署一個(gè)網(wǎng)絡(luò)攝像頭

    【芒果派MangoPi MQ Quad】利用MangoPi MQ Quad
    的頭像 發(fā)表于 07-20 09:09 ?1620次閱讀
    【芒果派<b class='flag-5'>MangoPi</b> <b class='flag-5'>MQ</b> <b class='flag-5'>Quad</b>】利用<b class='flag-5'>MangoPi</b> <b class='flag-5'>MQ</b> <b class='flag-5'>Quad</b><b class='flag-5'>部署</b>一個(gè)網(wǎng)絡(luò)攝像頭

    【芒果派MangoPi MQ Quad】+芒果派做采集本地視頻推直播與拉流客戶端

    拿到MangoPi MQ Quad之后,我其實(shí)是很想用這塊小板子做一個(gè)家庭使用的IoT的.
    的頭像 發(fā)表于 07-23 09:07 ?1330次閱讀
    【芒果派<b class='flag-5'>MangoPi</b> <b class='flag-5'>MQ</b> <b class='flag-5'>Quad</b>】+芒果派做采集本地視頻推直播與拉流客戶端

    【芒果派MangoPi MQ Quad】Android10的體驗(yàn)

    芒果派MangoPi MQ Quad SBC比較小巧,若能弄起來(lái)看個(gè)小視頻最好了。
    的頭像 發(fā)表于 07-23 11:35 ?1204次閱讀
    【芒果派<b class='flag-5'>MangoPi</b> <b class='flag-5'>MQ</b> <b class='flag-5'>Quad</b>】Android10的體驗(yàn)

    NCNNCore3566模組部署測(cè)試

    得益于四核A55的性能,NCNN跑起來(lái)應(yīng)該問(wèn)題不大,本文主要介紹NCNNCore3566 模組部署
    的頭像 發(fā)表于 10-17 08:25 ?1712次閱讀
    <b class='flag-5'>NCNN</b><b class='flag-5'>在</b>Core3566模組<b class='flag-5'>上</b>的<b class='flag-5'>部署</b>和<b class='flag-5'>測(cè)試</b>

    【免費(fèi)試用22期】芒果派MangoPi MQ Quad

    Quad:開(kāi)發(fā)板簡(jiǎn)介:MangoPi(芒果派)MQ Quad 是一款搭載全志 H616 四核 Arm Cortex-A53 的 SBC,比較有趣的是它的外形尺寸與樹(shù)莓派 Zero W
    發(fā)表于 05-23 14:29

    【芒果派MangoPi MQ Quad】+初次刷機(jī)

    本帖最后由 march123456 于 2023-6-26 12:29 編輯 剛到手的小粉 工具 芒果派MangoPi MQ Quad開(kāi)發(fā)板 PC機(jī) TF卡及讀卡器 操作系統(tǒng)鏡像
    發(fā)表于 06-25 22:22

    【芒果派MangoPi MQ Quad】開(kāi)箱與Debian系統(tǒng)體驗(yàn)

    首先感謝mango & 發(fā)燒友! 一、開(kāi)箱 既然是tiny-tiny-tiny SBC,那么卡就很小了,拿到后的確夠cute夠tiny。 拿到的芒果派MangoPi MQ Quad
    發(fā)表于 06-27 23:46

    【芒果派MangoPi MQ Quad】安卓10系統(tǒng)體驗(yàn)

    上會(huì)已經(jīng)說(shuō)過(guò)了linux系統(tǒng)鏡像的安裝 這次來(lái)說(shuō)說(shuō)安卓系統(tǒng)。 首先準(zhǔn)備工具 芒果派MangoPi MQ Quad開(kāi)發(fā)板 PC機(jī) TF卡及讀卡器 操作系統(tǒng)鏡像https
    發(fā)表于 07-07 21:59

    【芒果派MangoPi MQ Quad】開(kāi)箱+資料準(zhǔn)備

    非常感謝給與機(jī)會(huì)讓我測(cè)評(píng)芒果派開(kāi)發(fā)板; 1、合集: 首先來(lái)個(gè)照片 大集合 板子美照: MangoPi MQ Quad 開(kāi)發(fā)板總結(jié)清單和配置如下: 開(kāi)發(fā)板:MangoPi
    發(fā)表于 07-11 00:00

    【芒果派MangoPi MQ Quad】利用MangoPi MQ Quad部署一個(gè)網(wǎng)絡(luò)攝像頭

    下載&編譯&安裝 考慮到芒果派MangoPi MQ Quad開(kāi)發(fā)板SoC較強(qiáng)的處理能力,直接在板子編譯安裝mjpg-streamer。 (一)源碼下載 從全球最大
    發(fā)表于 08-03 23:20

    【芒果派MangoPi MQ QuadNCNNMangoPi MQ Quad部署測(cè)試

    穿透工具,找了幾個(gè)要么不免費(fèi),要么各種驗(yàn)證,還是放棄吧。 得益于四核A53的性能,NCNN跑起來(lái)應(yīng)該問(wèn)題不大,本文主要介紹NCNNMangoPi
    發(fā)表于 08-03 23:25

    【芒果派MangoPi MQ Quad】開(kāi)箱+系統(tǒng)測(cè)試

    很榮幸參與芒果派MangoPi MQ Quad試用! 一、開(kāi)箱 收到快遞后,是個(gè)很精致的盒子, 里面裝的是芒果派MangoPi MQ
    發(fā)表于 08-04 19:01

    【芒果派MangoPi MQ Quad】Android10的體驗(yàn)

    要用PhoenixCard燒寫(xiě)到TF卡,而且記得選擇“啟動(dòng)卡”模式。 寫(xiě)完后插入芒果派MangoPi MQ Quad電。 2、Android體驗(yàn) 啟動(dòng)畫(huà)面有H616的LOGO,強(qiáng)調(diào)
    發(fā)表于 08-04 19:07

    【幸狐 Core3566 模組試用體驗(yàn)】NCNNCore3566 模組部署測(cè)試

    得益于四核A55的性能,NCNN跑起來(lái)應(yīng)該問(wèn)題不大,本文主要介紹NCNNCore3566 模組部署
    發(fā)表于 10-10 20:45

    【芒果派MangoPi MQ Quad】開(kāi)箱+系統(tǒng)測(cè)試

    很榮幸參與芒果派MangoPi MQ Quad試用! 一、開(kāi)箱 收到快遞后,是個(gè)很精致的盒子, 里面裝的是芒果派MangoPi MQ
    的頭像 發(fā)表于 07-19 21:20 ?1540次閱讀
    【芒果派<b class='flag-5'>MangoPi</b> <b class='flag-5'>MQ</b> <b class='flag-5'>Quad</b>】開(kāi)箱+系統(tǒng)<b class='flag-5'>測(cè)試</b>