91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

RT-AK及Art-Pi簡介

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來源:RT-Thread物聯(lián)網(wǎng)操作系統(tǒng) ? 作者:RT-Thread物聯(lián)網(wǎng)操作 ? 2021-07-26 18:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Github:https://github.com/EdgeAIWithRTT/Project7-Cifar10_Cube_Art-Pi

RT-AK 及 Art-Pi 簡介

目前該項目為 RT-AK 的示例 Demo,基于 ART-PI 硬件平臺和 Cifar10 數(shù)據(jù)集。

RT-AK: RT-Thread AI Toolkit,RT-Thread AI 套件。

RT-AK 是 RT-Thread 團隊為 RT-Thread 實時操作系統(tǒng)所開發(fā)的 AI 套件,能夠一鍵將 AI 模型部署到 RT-Thread 項目中,讓用戶可以 在統(tǒng)一的 API 之上進行業(yè)務(wù)代碼開發(fā),又能在目標平臺上獲極致優(yōu)化的性能,從而更簡單方便地開發(fā)端側(cè) AI 應(yīng)用程序。

在 RT-AK 支持下,僅需要一行命令,即可將 AI 模型部署到 RT-Thread 系統(tǒng)中:

1$ python rt_ai_tools.py --model xxx.。。

我們將致力于降低嵌入式 AI 落地的難度和門檻。

Art-Pi:

c19d1998-e3dc-11eb-a97a-12bb97331649.png

使用 Tensorflow2.5.0 進行模型量化

我們已提供 keras 模型量化為 tflite 模型的代碼 鏈接。注意一定要下載 tensorflow2.5.0 及以上版本,否則會轉(zhuǎn)化失敗。該鏈接中還有量化后的 tflite 的推理代碼。目錄如下:

c1cf8bbc-e3dc-11eb-a97a-12bb97331649.png

一。 將 Cifar10 分類模型 部署至 Art-Pi (不搭建LCD)

1. 項目總結(jié)

該項目不需要任何驅(qū)動,僅將 AI 模型部署至 Art-Pi 硬件平臺,并利用其元件進行 AI 模型推理,最后在終端輸出模型推理結(jié)果相關(guān)信息。

2. 空項目工程創(chuàng)建

該項目是基于 ART-PI 的模板工程,初始工程來于 RT-Thread 新建工程

經(jīng)過 RT-AK 轉(zhuǎn)換之后得到的一個完整的項目工程

3. RT-AK 的使用

cd 到 aitools.py 所在目錄,打開 cmd 命令行窗口,輸入以下命令即可獲得集成 AI 模型的完整項目工程。

1python aitools.py --project=C:UsersAdminDesktopArt-Pi_cifar10_without_lcd

2--model=C:UsersAdminDesktopArt-piArt-Pi_cifar10modelcifar10_int8.tflite

3--model_name=cifar10

4--platform=stm32

5--ext_tools=C:UsersAdminDesktopRTAK-toolsstm32ai-windows-5.2.0windows # x_cube_ai 工具

4. 集成 AI 模型的項目工程的編譯和燒錄

這里我們使用 RT-Thread Studio 進行編譯和燒錄

5. AI 應(yīng)用開發(fā)

我們提供了一個實例代碼 cifar10_app.c,在終端命令行中輸入 cifat10_app.c,即可獲得輸出

c21f735c-e3dc-11eb-a97a-12bb97331649.png

6. 自定義數(shù)據(jù)

該項目提供了自定義數(shù)據(jù)生成代碼 save_img.py

二。 將 Cifar10 分類模型 部署至 Art-Pi, 并搭建LCD

1. 項目總結(jié)

該項目應(yīng)用了 LCD 驅(qū)動相關(guān)代碼,使用 RT-AK 將 AI 模型部署至 Art-Pi 硬件平臺之后,利用其元件進行 AI 模型推理, 并對模型輸出結(jié)果進行處理,最后將模型輸入圖片和輸出相關(guān)信息顯示到 LCD 上。

使用 RT-Thread Studio 創(chuàng)建的空白工程不包含 LCD 驅(qū)動代碼,所以務(wù)必使用我們提供的模板工程。

2. RT-AK 的使用

RT-AK 的 gitlab 倉庫已經(jīng)開源,可以自行到倉庫上克隆到本地 PC。

cd 到 RT-AK 的 rt_ai_tools 文件夾, 在目錄輸入 cmd 打開命令行窗口。其中 aitools.py 是核心代碼,使用改代碼我們可以輸入相關(guān)命令參數(shù)即可快速將 AI 模型 部署至支持的硬件平臺上面。

在 cmd 命令行窗口輸入以下命令,參數(shù)很好理解,看名字就知道它的意思了。

1python aitools.py --project=C:UsersAdminDesktopArt-Pi_cifar10_with_lcd

2--model=C:UsersAdminDesktopArt-piArt-Pi_cifar10modelcifar10_int8.tflite

3--model_name=cifar10

4--platform=stm32

5--ext_tools=C:UsersAdminDesktopRTAK-toolsstm32ai-windows-5.2.0windows # x_cube_ai 工具

運行結(jié)果:

c264079c-e3dc-11eb-a97a-12bb97331649.png

通過這部轉(zhuǎn)換,我們得到的項目工程就集成了 AI 模型, 然后我們可以在上面做相關(guān)應(yīng)用開發(fā),最后編譯和燒錄到開發(fā)板上。

我們需要在 applications 中書寫我們的應(yīng)用代碼,我們給出一個示例 cifar10_app.c ,下面介紹下里面的文件:

1卷 軟件 的文件夾 PATH 列表

2卷序列號為 E67E-D1CA

3D:。

4 cifar10_app.c // ai 模型推理應(yīng)用代碼實現(xiàn)5 main.c // artpi LED 閃爍燈例程原 main 函數(shù),未改動6 rt_ai_cifar10_model.c // 與 STM32 平臺相關(guān)的模型聲明文件7 rt_ai_cifar10_model.h // 存放 ai 模型輸入輸出等相關(guān)信息文件8 SConscript

3. cifar10_app.c 核心代碼和自定義數(shù)據(jù)

3. 1 核心代碼

頭文件:

c2871da4-e3dc-11eb-a97a-12bb97331649.png

模型輸入數(shù)據(jù)和 LCD 顯示的數(shù)據(jù):(兩者大小不同,Art-Pi 中的 LCD 尺寸為 320x240, 所以顯示的圖片尺寸要滿足這個大小,而模型輸入大小則根據(jù)具體模型而言,該項目中的 cifar10 模型輸入數(shù)據(jù)大小為 32x32)

c2b62176-e3dc-11eb-a97a-12bb97331649.png

模型運行核心代碼:

1// cifar10_app.c 2 3.。。

4 5// 注冊模型的代碼在 rt_ai_cifar10_model.c 文件下的第43行,代碼自動執(zhí)行 6// 模型的相關(guān)信息在 rt_ai_cifar10_model.h 文件 7// find a registered model handle 8model = rt_ai_find(RT_AI_CIFAR10_MODEL_NAME); // 找到模型 9.。。

10result = rt_ai_init(model, work_buffer); // 初始化模型,傳入輸入數(shù)據(jù)11.。。

12result = rt_ai_run(model, ai_run_complete, &ai_run_complete_flag); // 模型推理一次13.。。

14/* 獲取模型輸出結(jié)果 */15uint8_t *out = (uint8_t *)rt_ai_output(model, 0);

3. 2 自定義數(shù)據(jù)集

如何使用自己的圖片,生成可以在 Art-Pi 中運行的數(shù)據(jù)?我們已經(jīng)提供數(shù)據(jù)生成代碼 save_img.py。目錄如下

c3045062-e3dc-11eb-a97a-12bb97331649.png

在 svae_img.py 文件中修改參數(shù),相關(guān)輸入會打印到對應(yīng) .txt 文件中。然后將 .txt 文件中的信息復(fù)制到 cifar10_app.c 文件中,修改參數(shù)即可。

4. 集成 AI 模型的項目工程的編譯和燒錄

這里我們使用 RT-Thread Studio 進行編譯和燒錄:

c311d6f6-e3dc-11eb-a97a-12bb97331649.png

5. 效果呈現(xiàn)

開機屏幕是白色的,當在終端輸入 cifar10_app 之后會有 1s 的 logo 顯示,然后黑屏。之后終端輸出推理結(jié)果。

c3292fb8-e3dc-11eb-a97a-12bb97331649.png

編輯:jq

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

    關(guān)注

    91

    文章

    39819

    瀏覽量

    301483

原文標題:使用 RT-AK 部署 Cifar10 模型至 Art-Pi

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    ART-Pi中啟用外部flash是在哪里配置了qspi的引腳呢?

    。由于我是按照以芯片建立工程,并沒有使用ART-PI的工程。 2、我目前了解到在ART-PI工程中會有這個下載算法。 在這個鏈接文件要配置地址 3、于是我有個好奇的點是在工程中沒看到有QSPI的配置
    發(fā)表于 10-10 06:09

    使用qemu-vexpress-a9 運行用戶程序跑不了怎么解決?

    求助?。【幾gART-Pi-smart中的userapps工程 https://gitee.com/createshare/ART-Pi-smart.git ,能夠正常生成elf文件 然后
    發(fā)表于 10-09 07:41

    ART-PI使用新的env工具已經(jīng)無法編譯SDK倉庫里的示例工程了,怎么解決?

    ART-PI 使用新的env工具已經(jīng)無法編譯SDK倉庫里的示例工程了 希望還是能維護一下,新的env已經(jīng)無法構(gòu)建出工程進行編譯了 使用scons —target=mdk5 直接報錯了 希望有方
    發(fā)表于 10-09 06:47

    RT1180 FlexSPI Follower模塊簡介

    該模塊在外部SPI主設(shè)備和RT1180芯片之間架起了一座通信的橋梁。今天就來正式認識一下吧!
    的頭像 發(fā)表于 10-07 11:09 ?1530次閱讀
    <b class='flag-5'>RT</b>1180 FlexSPI Follower模塊<b class='flag-5'>簡介</b>

    art_pi_lrs007_lora_gw_driver示例工程無法創(chuàng)建怎么解決?

    art_pi_lrs007_lora_gw_driver示例工程無法創(chuàng)建 1.log
    發(fā)表于 09-25 06:57

    AP6181移植到STM32H723,wifi庫初始化錯誤怎么解決?

    了wifi_image_0.1.rbl,OTA庫采用了libota_noalgo_0.1.2_stm32l4_gcc.a. 已經(jīng)成功移植了FAL、SFUD、easyflash、filesystem,sdio驅(qū)動使用了art-pi
    發(fā)表于 09-18 08:20

    按照官方文檔在ART-PI上開啟PWM,但是串口輸出找不到設(shè)備,怎么解決?

    , tim_config.h里也仿照TIM13加入了有關(guān)TIM3的代碼, stm32h7xx_hal_msp.c里也打開了TIM3的使能, 最后按照官方文檔上的代碼,拷貝到ART-PI的模板例程里。但是不能發(fā)現(xiàn)TIM3的設(shè)備
    發(fā)表于 09-17 06:27

    如何在 ART-Pi 平臺使用 openocd 直接燒錄到外部 spi flash?

    ART-Pi 內(nèi)置的 128Kb flash太小了,我現(xiàn)在在 Linux openocd 燒錄程序,請問有沒有人成功使用 openocd 可以直接燒寫到外部 Quad spi flash 的?
    發(fā)表于 09-15 07:32

    ART-PI2串口DMA累計接收超過buf設(shè)置的大小后就不能再接收了為什么?

    使用ART-PI2板子串口1DMA接收數(shù)據(jù),buf的大小為64,只能累計接收64字節(jié),如果擴大到256字節(jié),也只能累計接受到256字節(jié)。數(shù)據(jù)及時讀取,緩沖區(qū)應(yīng)該是沒有溢出的,應(yīng)用程序移到F4的板子是正常,求解
    發(fā)表于 09-12 07:56

    ART-PI2的CherryUSB cdc_acm例程 在復(fù)位后需要好久才能出來COM口?

    第一次使用ART-PI2上的USB-HS接口。在ART-PI2上燒錄編譯的art_pi2_cherryusb_usbdev_cdc_acm工程,程序能夠正常運行: 但是在復(fù)位后,需要等待2分鐘
    發(fā)表于 09-12 07:01

    ART PI FDCAN卡死在rt_device_write是哪里出了問題?

    使用 can_sample 代碼 int can_sample(int argc, char *argv[]) { struct rt_can_msg msg = {0}; rt
    發(fā)表于 09-11 07:32

    ART-PI 使用CAN硬件過濾器打開后接收中斷異常的原因?

    >= 0) assertion failed at function:rt_hw_can_isr, line number:835 #include #include
    發(fā)表于 09-10 07:10

    ART-PI H750-USB-MSC設(shè)備描述符異常的原因?怎么解決?

    主控:STM32H750XBH6- ART-Pi 開發(fā)環(huán)境:CubeMX+MDK V5.27問題背景:當前已經(jīng)調(diào)試通SD卡+Fatfs文件系統(tǒng),(通過主控來模擬讀卡器)使用單根USB-C線纜連接至
    發(fā)表于 06-19 06:52

    FPC組成簡介及工程設(shè)計規(guī)范

    FPC產(chǎn)品簡介概述: 1,F(xiàn)PC概念 2,F(xiàn)PC產(chǎn)品結(jié)構(gòu)組成 3,F(xiàn)PC材料 4,F(xiàn)PC產(chǎn)品類型 5,F(xiàn)PC產(chǎn)品特征 FPC(Flexible Printed Circuit)撓性印刷電路版,簡稱
    發(fā)表于 05-27 15:10

    【直播預(yù)告】《實時操作系統(tǒng)應(yīng)用技術(shù)—基于RT-Thread與ARM的編程實踐》教學脈絡(luò)及資源簡介

    直播預(yù)告直播主題:《實時操作系統(tǒng)應(yīng)用技術(shù)—基于RT-Thread與ARM的編程實踐》教學脈絡(luò)及資源簡介開放時間:2025年5月29日(周四)20:00主講老師:王宜懷課程類型:視頻直播觀看平臺
    的頭像 發(fā)表于 05-26 17:50 ?1269次閱讀
    【直播預(yù)告】《實時操作系統(tǒng)應(yīng)用技術(shù)—基于<b class='flag-5'>RT</b>-Thread與ARM的編程實踐》教學脈絡(luò)及資源<b class='flag-5'>簡介</b>