0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RT-AK及Art-Pi简介

RTThread物联网操作系统 ? 来源:RT-Thread物联网操作系统 ? 作者:RT-Thread物联网操作 ? 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 数据集。

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

RT-AK 是 RT-Thread 团队为 RT-Thread 实时操作系统所开发的 AI 套件,能够一键将 AI 模型部署到 RT-Thread 项目中,让用户可以 在统一的 API 之上进行业务代码开发,又能在目标平台上获极致优化的性能,从而更简单方便地开发端侧 AI 应用程序。

在 RT-AK 支持下,仅需要一行命令,即可将 AI 模型部署到 RT-Thread 系统中:

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 及以上版本,否则会转化失败。该链接中还有量化后的 tflite 的推理代码。目录如下:

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

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

1. 项目总结

该项目不需要任何驱动,仅将 AI 模型部署至 Art-Pi 硬件平台,并利用其元件进行 AI 模型推理,最后在终端输出模型推理结果相关信息。

2. 空项目工程创建

该项目是基于 ART-PI 的模板工程,初始工程来于 RT-Thread 新建工程

经过 RT-AK 转换之后得到的一个完整的项目工程

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 应用开发

我们提供了一个实例代码 cifar10_app.c,在终端命令行中输入 cifat10_app.c,即可获得输出

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

6. 自定义数据

该项目提供了自定义数据生成代码 save_img.py

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

1. 项目总结

该项目应用了 LCD 驱动相关代码,使用 RT-AK 将 AI 模型部署至 Art-Pi 硬件平台之后,利用其元件进行 AI 模型推理, 并对模型输出结果进行处理,最后将模型输入图片和输出相关信息显示到 LCD 上。

使用 RT-Thread Studio 创建的空白工程不包含 LCD 驱动代码,所以务必使用我们提供的模板工程。

2. RT-AK 的使用

RT-AK 的 gitlab 仓库已经开源,可以自行到仓库上克隆到本地 PC。

cd 到 RT-AK 的 rt_ai_tools 文件夹, 在目录输入 cmd 打开命令行窗口。其中 aitools.py 是核心代码,使用改代码我们可以输入相关命令参数即可快速将 AI 模型 部署至支持的硬件平台上面。

在 cmd 命令行窗口输入以下命令,参数很好理解,看名字就知道它的意思了。

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 工具

运行结果:

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

通过这部转换,我们得到的项目工程就集成了 AI 模型, 然后我们可以在上面做相关应用开发,最后编译和烧录到开发板上。

我们需要在 applications 中书写我们的应用代码,我们给出一个示例 cifar10_app.c ,下面介绍下里面的文件:

1卷 软件 的文件夹 PATH 列表

2卷序列号为 E67E-D1CA

3D:。

4 cifar10_app.c // ai 模型推理应用代码实现5 main.c // artpi LED 闪烁灯例程原 main 函数,未改动6 rt_ai_cifar10_model.c // 与 STM32 平台相关的模型声明文件7 rt_ai_cifar10_model.h // 存放 ai 模型输入输出等相关信息文件8 SConscript

3. cifar10_app.c 核心代码和自定义数据

3. 1 核心代码

头文件:

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

模型输入数据和 LCD 显示的数据:(两者大小不同,Art-Pi 中的 LCD 尺寸为 320x240, 所以显示的图片尺寸要满足这个大小,而模型输入大小则根据具体模型而言,该项目中的 cifar10 模型输入数据大小为 32x32)

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

模型运行核心代码:

1// cifar10_app.c 2 3.。。

4 5// 注册模型的代码在 rt_ai_cifar10_model.c 文件下的第43行,代码自动执行 6// 模型的相关信息在 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); // 初始化模型,传入输入数据11.。。

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

14/* 获取模型输出结果 */15uint8_t *out = (uint8_t *)rt_ai_output(model, 0);

3. 2 自定义数据集

如何使用自己的图片,生成可以在 Art-Pi 中运行的数据?我们已经提供数据生成代码 save_img.py。目录如下

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

在 svae_img.py 文件中修改参数,相关输入会打印到对应 .txt 文件中。然后将 .txt 文件中的信息复制到 cifar10_app.c 文件中,修改参数即可。

4. 集成 AI 模型的项目工程的编译和烧录

这里我们使用 RT-Thread Studio 进行编译和烧录:

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

5. 效果呈现

开机屏幕是白色的,当在终端输入 cifar10_app 之后会有 1s 的 logo 显示,然后黑屏。之后终端输出推理结果。

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

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    88

    文章

    35787

    浏览量

    282624

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

文章出处:【微信号:RTThread,微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    贸泽开售AKM AK4497SVQ旗舰级DAC 为高端音频应用提供出色音质

    Microdevices?(AKM)?的AK4497SVQ?129dB双声道立体声旗舰级数模转换器?(DAC)。AK4497SVQ DAC采用AKM专有的VELVET SOUND?技术,可提供高保真音频,以
    的头像 发表于 08-13 15:48 ?793次阅读
    贸泽开售AKM <b class='flag-5'>AK</b>4497SVQ旗舰级DAC 为高端音频应用提供出色音质

    ART-PI H750-USB-MSC设备描述符异常的原因?怎么解决?

    主控:STM32H750XBH6- ART-Pi 开发环境:CubeMX+MDK V5.27问题背景:当前已经调试通SD卡+Fatfs文件系统,(通过主控来模拟读卡器)使用单根USB-C线缆连接至
    发表于 06-19 06:52

    FPC组成简介及工程设计规范

    FPC产品简介概述: 1,FPC概念 2,FPC产品结构组成 3,FPC材料 4,FPC产品类型 5,FPC产品特征 FPC(Flexible Printed Circuit)挠性印刷电路版,简称
    发表于 05-27 15:10

    【直播预告】《实时操作系统应用技术—基于RT-Thread与ARM的编程实践》教学脉络及资源简介

    直播预告直播主题:《实时操作系统应用技术—基于RT-Thread与ARM的编程实践》教学脉络及资源简介开放时间:2025年5月29日(周四)20:00主讲老师:王宜怀课程类型:视频直播观看平台
    的头像 发表于 05-26 17:50 ?745次阅读
    【直播预告】《实时操作系统应用技术—基于<b class='flag-5'>RT</b>-Thread与ARM的编程实践》教学脉络及资源<b class='flag-5'>简介</b>

    STM32H750XBH6- ART-Pi使用HAL_SPI_Transmit_DMA()函数初次发送时,不进入SPI中断怎么解决?

    主控:STM32H750XBH6- ART-Pi 开发环境:CubeMX+MDK V5.27问题背景: DAC芯片需要使用32bit SPI 目前使用轮询方式工作正常 需要硬件SPI+DMA加快
    发表于 03-07 06:34

    ART-PI2使用vscode cortex-debug插件进行外部flash烧录调试

    一、前言最近,RT-Thread发布了一款名为ART-PI2的新开发板,搭载了STM32H7RS微控制器。好久没接触STM32的东西了,借此机会也了解ST的新产品。STM32H7RS的一大特点是其内
    的头像 发表于 02-24 19:19 ?1928次阅读
    <b class='flag-5'>ART-PI</b>2使用vscode cortex-debug插件进行外部flash烧录调试

    RT-Thread ART-Pi二代正式发布

    自2020年首次亮相以来,ART-Pi一代凭借其强悍的性能、丰富的资源以及极简的开发体验,迅速赢得了嵌入式工程师们的广泛赞誉,被誉为“开发利器”。随着市场对高性能嵌入式开发板需求的不断增长,以及技术
    的头像 发表于 02-18 14:31 ?708次阅读

    RT-Thread全新发布ART-Pi二代,携手ST H7R芯片!

    ART-Pi一代于2020年首次推出,凭借强悍性能、丰富资源与极简开发体验,迅速成为嵌入式工程师的“开发利器”。为满足不断增长的市场需求和技术挑战,基于STM32H7R的ART-Pi二代迭代启航
    的头像 发表于 02-17 18:37 ?1067次阅读
    <b class='flag-5'>RT</b>-Thread全新发布<b class='flag-5'>ART-Pi</b>二代,携手ST H7R芯片!

    TPS659118 66AK2G02处理器用户指南

    电子发烧友网站提供《TPS659118 66AK2G02处理器用户指南.pdf》资料免费下载
    发表于 12-23 14:40 ?0次下载
    TPS659118 66<b class='flag-5'>AK</b>2G02处理器用户指南

    Banana Pi M5 与 Raspberry Pi 4 – 基准测试

    Banana Pi M5 基准测试已成为我的网站上最受欢迎的作品之一,而且似乎人们真正想看到的是它与其 Raspberry 口味的表亲之间的直接比较,所以这里就是 Banana Pi M5 与 Raspberry Pi 4 的比
    的头像 发表于 10-28 10:28 ?1523次阅读
    Banana <b class='flag-5'>Pi</b> M5 与 Raspberry <b class='flag-5'>Pi</b> 4 – 基准测试

    66AK2Gx原理图核对表

    电子发烧友网站提供《66AK2Gx原理图核对表.pdf》资料免费下载
    发表于 10-11 10:43 ?0次下载
    66<b class='flag-5'>AK</b>2Gx原理图核对表

    66AK2Hx片上系统(SoC)器件系列的功耗摘要

    电子发烧友网站提供《66AK2Hx片上系统(SoC)器件系列的功耗摘要.pdf》资料免费下载
    发表于 10-10 09:11 ?0次下载
    66<b class='flag-5'>AK</b>2Hx片上系统(SoC)器件系列的功耗摘要

    TSUM16AK芯片液晶显示器电路图

    TSUM16AK芯片液晶显示器电路图
    发表于 09-29 11:28 ?10次下载

    Abracon推出AK2B/AK3B ClearClock差分输出有源晶振

    Abracon近期发布的AK2B/AK3B ClearClock?系列差分输出有源晶振,以其卓越的超低RMS抖动特性,重新定义了电子系统时钟信号的稳定性与信号完整性标准。这款专为高速数据传输与精密
    的头像 发表于 08-21 10:47 ?909次阅读

    获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!

    用户送出:5块vision board开发板、5块ART-PI开发板和5本《RT-Thread 设备驱动开发指南》书籍。 例:已报名北京站培训,想要了解如何将OpenMV的库文件(如OpenMV
    发表于 08-20 14:15