news 2026/6/6 3:14:33

[STM32H7] 【STM32H745I-DISCO 试用】STM32H745平台上的CIFAR数据集AI探索

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[STM32H7] 【STM32H745I-DISCO 试用】STM32H745平台上的CIFAR数据集AI探索

一、数据集简介
CIFAR-10数据集由10个类的60000个32x32彩色图像组成,每个类有6000个图像。有50000个训练图像和10000个测试图像。数据集分为五个训练批次和一个测试批次,每个批次有10000个图像。测试批次包含来自每个类别的恰好1000个随机选择的图像。训练批次以随机顺序包含剩余图像,但一些训练批次可能包含来自一个类别的图像比另一个更多。总体来说,五个训练集之和包含来自每个类的正好5000张图像。



二、环境设置

X-CUBE-AI是STM32Cube.AI生态系统的STM32Cube扩展包部分,能够自动转换预训练人工智能算法(包括神经网络和经典机器学习模型),并将生成的优化库集成到用用户项目中,以此来扩展STM32CubeMX功能。

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


复制
  1. #python aitools.py --project=D:\Project-master\stm32-cifar --model_name ./Models/cifar10.tflite --platform stm32 --ext_tools D:\Program Files (x86)\stm32ai-windows-7.3.0\windows --clear



具体转换信息如下:

复制
  1. model_name: cifar10
  2. input: input_1 [3072 items, 3.00 KiB, ai_u8, scale=0.003921568859368563, zero_point=0, (32, 32, 3)]
  3. inputs(total) : 3.00 KiB
  4. output: nl_21_fmt [10 items, 12 B, ai_u8, scale=0.00390625, zero_point=0, (1, 1, 10)]
  5. outputs(total) : 10 B
  6. params# : 85,834 items (88.45 KiB)
  7. weights(ro) : 90,568 B (88.45 KiB)
  8. activations(rw) : 67,456 B (65.88 KiB)
  9. ram(total) : 70,538 B (68.88 KiB) = 67,456 + 3,072 + 10

生成了2个文件:rt_ai_cifar10_model.c和rt_ai_cifar10_model.h。
三、业务实现
业务层面,主要包括初始化、输入图像、模型运行、结果输出几个阶段。

具体业务代码如下:
复制
  1. rt_ai_buffer_t *work_buffer = rt_malloc(RT_AI_CIFAR10_WORK_BUFFER_BYTES+RT_AI_CIFAR10_IN_TOTAL_SIZE_BYTES+RT_AI_CIFAR10_OUT_TOTAL_SIZE_BYTES);
  2. model = rt_ai_find(RT_AI_CIFAR10_MODEL_NAME);
  3. if(model == RT_AI_NULL){
  4. return-1;
  5. }
  6. result = rt_ai_init(model, work_buffer);
  7. if(result !=0){
  8. return-1;
  9. }
  10. rt_memcpy(model->input[0], input_data0, RT_AI_CIFAR10_IN_1_SIZE_BYTES);
  11. result = rt_ai_run(model, ai_run_complete, &ai_run_complete_flag);
  12. if(ai_run_complete_flag){
  13. uint8_t *out= (uint8_t *)rt_ai_output(model,0);
  14. intmax_index =0;
  15. for(inti =1; i <10; i++){
  16. if(out[i] >out[max_index]){
  17. max_index = i;
  18. }
  19. }
  20. rt_kprintf("cifar10 prediction: %s\n", cifar10_label[max_index]);
  21. }
  22. rt_free(work_buffer);



四、运行测试

系统启动后,LED已经闪烁起来。

用来识别的图片如下:

识别结果如下:

五、视频



---------------------
作者:NeXToNE
链接:https://bbs.21ic.com/icview-3454324-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 15:16:19

小程序毕设选题推荐:基于springboot的新能源汽车4S店试驾平台小程序基于微信平台的4S店管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/5/30 16:09:35

CNN - GRU回归预测电力负荷

CNN-GRU回归预测预测分析&#xff0c;多输入&#xff0c;单输出。 Matlab作图&#xff0c;预测电力负荷&#xff0c;数据来源于电工杯&#xff0c;联系宝贝送。 代码注释清晰&#xff0c;替换数据即可。 。 最近研究了用 CNN - GRU 模型进行回归预测&#xff0c;目标是预测电力…

作者头像 李华
网站建设 2026/5/15 7:18:32

工业互联网解决了什么工业痛点?

工业互联网通过数据驱动和智能技术&#xff0c;有效解决了传统工业中的多个核心痛点&#xff0c;为企业带来了效率、质量和模式的革新。以下是工业互联网解决的主要工业痛点及相应的解决方案&#xff0c;结合实际案例进行佐证&#xff0c;以体现其应用价值。1. 解决“生产黑箱”…

作者头像 李华
网站建设 2026/5/29 13:26:37

中国30米坡度数据集

坡度是地表单元陡缓的程度&#xff0c;用以表示斜坡的斜度&#xff0c;常用于标记丘陵、屋顶和道路的斜坡的陡峭程度。中国30米坡度数据是根据NASA和METI共同发布的ASTER GDEM v3进行拼接、转换、坡度计算等处理得到的&#xff0c;格式为栅格&#xff0c;空间参考系为WGS_1984_…

作者头像 李华