18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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

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

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

如何在RT-Thread OS環(huán)境下使用ncnn進(jìn)行AI推理

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來(lái)源:RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 2023-05-04 16:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天簡(jiǎn)報(bào)較短,主要演示一下如何在RT-Thread OS環(huán)境下使用ncnn進(jìn)行AI推理

關(guān)于NCNN

簡(jiǎn)介

ncnn 是騰訊優(yōu)圖實(shí)驗(yàn)室首個(gè)開(kāi)源項(xiàng)目,是一個(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 圖等。

功能概述

支持卷積神經(jīng)網(wǎng)絡(luò),支持多輸入和多分支結(jié)構(gòu),可計(jì)算部分分支

無(wú)任何第三方庫(kù)依賴,不依賴 BLAS/NNPACK 等計(jì)算框架

C++ 實(shí)現(xiàn),跨平臺(tái),支持 android ios

ARM NEON 匯編級(jí)良心優(yōu)化,計(jì)算速度極快

精細(xì)的內(nèi)存管理和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì),內(nèi)存占用極低

支持多核并行計(jì)算加速,ARM big.LITTLE cpu 調(diào)度優(yōu)化

整體庫(kù)體積小于 500K,并可輕松精簡(jiǎn)到小于 300K

可擴(kuò)展的模型設(shè)計(jì),支持 8bit 量化和半精度浮點(diǎn)存儲(chǔ),可導(dǎo)入 caffe 模型

支持直接內(nèi)存零拷貝引用加載網(wǎng)絡(luò)模型

可注冊(cè)自定義層實(shí)現(xiàn)并擴(kuò)展

恩,很強(qiáng)就是了,不怕被塞卷 QvQ

RT-Thread-NCNN使用說(shuō)明

當(dāng)前RT-Thread-NCNN工具包僅支持Arm-A核芯片,比如樹莓派4B、rk3568等,我們可以在BSP包內(nèi)找到相關(guān)芯片的BSP包。以下演示基于樹莓派4B。

1.相關(guān)環(huán)境

硬件:樹莓派4B開(kāi)發(fā)板,帶USB轉(zhuǎn)串口調(diào)試工具;

系統(tǒng):RT-Thread OS v5.0.0版本;

開(kāi)發(fā)環(huán)境:Windows 10;

開(kāi)發(fā)IDE:Vscode;

交叉編譯工具鏈:gcc-arm-10.3-2021.07-mingw-w64-i686-aarch64-none-elf;

工具鏈下載地址:https://developer.arm.com/downloads/-/gnu-a

2.更新package工具包

相關(guān)參考:https://github.com/RT-Thread/packages

下載/進(jìn)入env環(huán)境后,找到env根目錄下的packages文件夾。

使用git clone https://github.com/RT-Thread/packages.git命令將最新的packages repo 克隆到本地。注:使用方法還可以參考env根目錄下的readme.md文件中包管理器使用的章節(jié),可以利用env環(huán)境中支持的包管理命令來(lái)更新本地packages文件夾。

更新完成后,查看新的軟件包中./packages/ai/文件夾中是否出現(xiàn)ncnn文件夾,如果存在則表示軟件包更新成功。

更新好的軟件包如下所示:

ef3b992a-e7d0-11ed-ab56-dac502259ad0.png

3.準(zhǔn)備樹莓派4B項(xiàng)目工程

RT-Thread下載地址:https://github.com/RT-Thread/rt-thread

進(jìn)入準(zhǔn)備好的RT-Thread開(kāi)發(fā)包,進(jìn)入./rt-thread/bsp/raspberry-pi/raspi4-64/文件夾。在該目錄下啟動(dòng)env,輸入如下命令創(chuàng)建新的項(xiàng)目工程。

1scons--dist--project-name=xxxx

ef5134b0-e7d0-11ed-ab56-dac502259ad0.png

此時(shí)會(huì)在該目錄下生成./dist/xxxx文件夾,該文件夾下就是新生成的樹莓派4B項(xiàng)目工程,如下圖所示:

ef5ce634-e7d0-11ed-ab56-dac502259ad0.png

準(zhǔn)備好項(xiàng)目工程后,我們將下載好的工具鏈放置在指定目錄,然后修改上面圖中rtconfig.py文件中的工具鏈路徑。

ef743460-e7d0-11ed-ab56-dac502259ad0.png

ef86e4de-e7d0-11ed-ab56-dac502259ad0.png

至此,我們已經(jīng)準(zhǔn)備好了一個(gè)最基本的項(xiàng)目工程。然后,我們回到env工具中,使用menuconfig命令配置相關(guān)packages,這里只引入ncnn工具箱。

efa777bc-e7d0-11ed-ab56-dac502259ad0.png

我們以此進(jìn)入RT-Thread online packages、AI packages,選中ncnn package for RT-Thread,最終選中v1.0.0版本ncnn,保存并退出。

在env環(huán)境中輸入下列命令,就可以把ncnn的package拉取到當(dāng)前工程中。

1pkgs--update

拉取好的ncnn工具包可以在項(xiàng)目工程中的./packages文件夾中查看到。

efbaa698-e7d0-11ed-ab56-dac502259ad0.png

至此,我們可以嘗試編譯一下當(dāng)前項(xiàng)目,不出意外,可以順利編譯。

efc65326-e7d0-11ed-ab56-dac502259ad0.png

efdf4548-e7d0-11ed-ab56-dac502259ad0.png

4.編譯yolov3示例

在編寫代碼之前,我們需要準(zhǔn)備AI模型,可以參考NCNN官方的AI模型庫(kù)。

參考鏈接:https://github.com/nihui/ncnn-assets/tree/master

我們以mobilev2-yolov3為例,準(zhǔn)備一下資料到sd

mobilenetv2-yolov3.bin

mobilenetv2-yolov3.param

bus.jpg

其中前兩個(gè)為ncnn指定的模型權(quán)重和結(jié)構(gòu),最后一個(gè)是測(cè)試圖片。都準(zhǔn)備好了,我們現(xiàn)在修改RT-Thread項(xiàng)目工程

1.修改文件:./drivers/board.h

1#defineHEAP_END(KERNEL_VADDR_START+500*1024*1024)
2#definePAGE_STARTHEAP_END
3#definePAGE_END((size_t)PAGE_START+500*1024*1024)

2.修改文件:./driver/board.c

1structmem_descplatform_mem_desc[]={
2{0x00200000,(512ul<

3.修改文件:./rtconfig.h

1#defineRT_MAIN_THREAD_STACK_SIZE245760
2
3#defineFINSH_THREAD_STACK_SIZE245760

以上參數(shù)不同模型可能不同,可能需要根據(jù)模型規(guī)模去估計(jì)。

4.修改main.c文件

我們把./packages/ncnn-v1.0.0文件夾打開(kāi),里面examples有我們準(zhǔn)備好的測(cè)試?yán)?,其中main-yolov3.cpp就是我們用來(lái)替換main.c文件的,將其替換mian.c文件,并將mian.c改成mian.cpp文件,然后編譯。

eff52c1e-e7d0-11ed-ab56-dac502259ad0.png

f00dd412-e7d0-11ed-ab56-dac502259ad0.png

注意:我們還要確定我們項(xiàng)目工程已經(jīng)支持了C++特性和開(kāi)啟了文件系統(tǒng),如果沒(méi)有的話還需要通過(guò)menuconfig來(lái)修改,這一部分不再贅述。

此外,關(guān)于如何在樹莓派4B開(kāi)發(fā)板中啟動(dòng)RT-Thread OS,可以參考以下文檔:

啟動(dòng)RT-Thead OS in Pi 4B:https://github.com/RT-Thread/rt-thread/tree/master/bsp/raspberry-pi/raspi4-64

5.yolov3測(cè)試結(jié)果

串口輸出結(jié)果:

 1heap:0x0056b530-0x1f400000
 2
 3|/
 4-RT-ThreadOperatingSystem
 5/|5.0.0buildApr1820232257
 62006-2022CopyrightbyRT-Threadteam
 7lwIP-2.1.2initialized!
 8EMMC:assumingclockratetobe100MHz
 9[I/sal.skt]SocketAbstractionLayerinitializesuccess.
10[I/utest]utestisinitializesuccess.
11[I/utest]totalutesttestcasenum:(0)
12[I/DBG]versionisB1
13
14[I/SDIO]SDcardcapacity31178752KB.
15foundpart[0],begin:4194304,size:256.0MB
16foundpart[1],begin:272629760,size:29.492GB
17filesysteminitializationdone!
18Helcpu1bootsuccess
19cpu2bootsuccess
20cpu3bootsuccess
211sh/>success
22linkdisconnected
23SupportlinkmodeSpeed1000M
24
25msh/>
26msh/>
27msh/>mn
28mnet_yolov3_test
29msh/>mnet_yolov3_test
30HelloRT-ThreadNCNN
3115=0.99720at48.90389.97159.19x525.88
326=0.96088at18.52260.82783.92x512.58
3315=0.95704at207.39407.80150.12x444.35

其中,最后部分輸出了推理的結(jié)果。

以下是sd卡中生成的推理前后圖片對(duì)比。

如果想更換測(cè)試圖片,只需要將新的圖片名字修改成bus.jpg就可以,這樣偷懶,但是簡(jiǎn)單。

下面這個(gè)是另一個(gè)測(cè)試結(jié)果(去掉了標(biāo)簽

當(dāng)前問(wèn)題

有部分算子當(dāng)前在RT-Thread OS上運(yùn)行時(shí)出錯(cuò),所以如果是想自己搞一個(gè)模型跑跑,需要注意這方面問(wèn)題,good luck。

后續(xù)工作

支持RISC-V架構(gòu)芯片;

解決算子問(wèn)題;

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)注

    1

    文章

    406

    瀏覽量

    29122
  • AI
    AI
    +關(guān)注

    關(guān)注

    88

    文章

    37232

    瀏覽量

    292072
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    745

    瀏覽量

    23368
  • RT-Thread
    +關(guān)注

    關(guān)注

    32

    文章

    1507

    瀏覽量

    43905
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5587

    瀏覽量

    123766

原文標(biāo)題:【AI簡(jiǎn)報(bào)20230428】如何在RT-Thread OS環(huán)境下使用ncnn進(jìn)行AI推理

文章出處:【微信號(hào):RTThread,微信公眾號(hào):RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    RT-Thread記錄(一、版本開(kāi)發(fā)環(huán)境及配合CubeMX)

    RT-Thread 學(xué)習(xí)記錄的第一篇文章,RT-Thread記錄(一、RT-Thread 版本、RT-Thread Studio開(kāi)發(fā)環(huán)境
    的頭像 發(fā)表于 06-20 00:28 ?6364次閱讀
    <b class='flag-5'>RT-Thread</b>記錄(一、版本開(kāi)發(fā)<b class='flag-5'>環(huán)境</b>及配合CubeMX)

    使用RT-Thread Master+QEMU模擬器進(jìn)行RT-Thread原型快速開(kāi)發(fā)

    前段時(shí)間分別在Win和Mac M1/M2 Silicon硬件環(huán)境折騰了VS Code + RT-Thread的編譯問(wèn)題。
    的頭像 發(fā)表于 09-27 14:50 ?3936次閱讀
    使用<b class='flag-5'>RT-Thread</b> Master+QEMU模擬器<b class='flag-5'>進(jìn)行</b><b class='flag-5'>RT-Thread</b>原型快速開(kāi)發(fā)

    RT-Thread AI kit輕松部署 STM32Cube-AIRT-Thread 精選資料推薦

    RT-AK 簡(jiǎn)介RT-AK:RT-Thread AI kit,RT-Thread AI套件
    發(fā)表于 07-20 08:20

    何在RT-Thread Studio開(kāi)發(fā)環(huán)境使用nrf24L01軟件包?

    何在RT-Thread Studio開(kāi)發(fā)環(huán)境使用nrf24L01軟件包?
    發(fā)表于 12-17 07:52

    RT-Thread編程指南

    RT-Thread編程指南——RT-Thread開(kāi)發(fā)組(2015-03-31)。RT-Thread做為國(guó)內(nèi)有較大影響力的開(kāi)源實(shí)時(shí)操作系統(tǒng),本文是RT-Thread實(shí)時(shí)操作系統(tǒng)的編程指南
    發(fā)表于 11-26 16:06 ?0次下載

    RT-Thread用戶手冊(cè)

    RT-Thread用戶手冊(cè)——本書是RT-Thread的編程手冊(cè),用于指導(dǎo)在RT-Thread實(shí)時(shí)操作系統(tǒng)環(huán)境如何
    發(fā)表于 11-26 16:16 ?0次下載

    RT-Thread零基礎(chǔ)快速入門第0講——環(huán)境安裝

    RT-Thread快速入門第1講——環(huán)境安裝目錄RT-Thread快速入門第1講——環(huán)境安裝一、 前言二、 編程資料下載三、 ENV工具下載和安裝Git下載和安裝env下載和安裝四
    發(fā)表于 12-03 14:21 ?14次下載
    <b class='flag-5'>RT-Thread</b>零基礎(chǔ)快速入門第0講——<b class='flag-5'>環(huán)境</b>安裝

    RT-Thread AI kit開(kāi)源:輕松實(shí)現(xiàn)一鍵部署AI模型至 RT-Thread

    RT-AK 是 RT-Thread 團(tuán)隊(duì)為 RT-Thread 實(shí)時(shí)操作系統(tǒng)所開(kāi)發(fā)的 AI 套件,能夠一鍵將 AI 模型部署到
    發(fā)表于 01-25 18:18 ?3次下載
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>AI</b> kit開(kāi)源:輕松實(shí)現(xiàn)一鍵部署<b class='flag-5'>AI</b>模型至 <b class='flag-5'>RT-Thread</b>

    RT-Thread大會(huì):瑞薩e- AI成功案例及部署

      RT-Thread IoT OS Global Tech Conference (RT-Thread GTC,RT-Thread全球技術(shù)大會(huì))致力于圍繞
    的頭像 發(fā)表于 05-27 10:18 ?1802次閱讀
    <b class='flag-5'>RT-Thread</b>大會(huì):瑞薩e- <b class='flag-5'>AI</b>成功案例及部署

    RT-Thread學(xué)習(xí)筆記 RT-Thread的架構(gòu)概述

    RT-Thread 簡(jiǎn)介 作為一名 RTOS 的初學(xué)者,也許你對(duì) RT-Thread 還比較陌生。然而,隨著你的深入接觸,你會(huì)逐漸發(fā)現(xiàn) RT-Thread 的魅力和它相較于其他同類型 RTOS
    的頭像 發(fā)表于 07-09 11:27 ?5419次閱讀
    <b class='flag-5'>RT-Thread</b>學(xué)習(xí)筆記 <b class='flag-5'>RT-Thread</b>的架構(gòu)概述

    RT-Thread文檔_RT-Thread 簡(jiǎn)介

    RT-Thread文檔_RT-Thread 簡(jiǎn)介
    發(fā)表于 02-22 18:22 ?5次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> 簡(jiǎn)介

    RT-Thread文檔_RT-Thread 潘多拉 STM32L475 上手指南

    RT-Thread文檔_RT-Thread 潘多拉 STM32L475 上手指南
    發(fā)表于 02-22 18:23 ?10次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> 潘多拉 STM32L475 上手指南

    RT-Thread文檔_RT-Thread SMP 介紹與移植

    RT-Thread文檔_RT-Thread SMP 介紹與移植
    發(fā)表于 02-22 18:31 ?9次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> SMP 介紹與移植

    基于RT-Thread Studio學(xué)習(xí)

    前期準(zhǔn)備:從官網(wǎng)下載 RT-Thread Studio,弄個(gè)賬號(hào)登陸,開(kāi)啟rt-thread學(xué)習(xí)之旅。
    的頭像 發(fā)表于 05-15 11:00 ?5703次閱讀
    基于<b class='flag-5'>RT-Thread</b> Studio學(xué)習(xí)

    使用RT-Thread Studio進(jìn)行智能家居終端的設(shè)計(jì)

    本次方案基于星火一號(hào)開(kāi)發(fā)板開(kāi)發(fā),使用RT-Thread Studio進(jìn)行工程創(chuàng)建,代碼編輯,RT-Thread配置,調(diào)試配置,程序下載等功能。
    的頭像 發(fā)表于 07-28 16:41 ?2621次閱讀
    使用<b class='flag-5'>RT-Thread</b> Studio<b class='flag-5'>進(jìn)行</b>智能家居終端的設(shè)計(jì)