核心内容摘要
探秘“八重神子脚法”:优雅与力量的完美融合
数据集简介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模型的项目工程。
复制#python aitools.py --projectD:\Project-master\stm32-cifar --model_name ./Models/cifar
tflite --platform stm32 --ext_tools D:\Program Files (x
\stm32ai-windows-
7.
0\windows --clear具体转换信息如下复制model_name: cifar10input: input_1 [3072 items,
00 KiB, ai_u8, scale
003921568859368563, zero_point0, (32, 32,
]inputs(total) :
00 KiBoutput: nl_21_fmt [10 items, 12 B, ai_u8, scale
00390625, zero_point0, (1, 1,
]outputs(total) : 10 Bparams# : 85,834 items (
8
45 KiB)weights(ro) : 90,568 B (
8
45 KiB)activations(rw) : 67,456 B (
6
88 KiB)ram(total) : 70,538 B (
6
88 KiB) 67,456 3,072 10生成了2个文件rt_ai_cifar10_model.c和rt_ai_cifar10_model.h。
业务实现业务层面主要包括初始化、输入图像、模型运行、结果输出几个阶段。
具体业务代码如下复制rt_ai_buffer_t *work_buffer rt_malloc(RT_AI_CIFAR10_WORK_BUFFER_BYTESRT_AI_CIFAR10_IN_TOTAL_SIZE_BYTESRT_AI_CIFAR10_OUT_TOTAL_SIZE_BYTES);model rt_ai_find(RT_AI_CIFAR10_MODEL_NAME);if(model RT_AI_NULL){return-1;}result rt_ai_init(model, work_buffer);if(result !
{return-1;}rt_memcpy(model-input[0], input_data0, RT_AI_CIFAR10_IN_1_SIZE_BYTES);result rt_ai_run(model, ai_run_complete, ai_run_complete_flag);if(ai_run_complete_flag){uint8_t *out (uint8_t *)rt_ai_output(model,
;intmax_index 0;for(inti 1; i 10; i){if(out[i] out[max_index]){max_index i;}}rt_kprintf(cifar10 prediction: %s\n, cifar10_label[max_index]);}rt_free(work_buffer);
运行测试系统启动后LED已经闪烁起来。
用来识别的图片如下识别结果如下
视频。
---------------------作者NeXToNE链接https://bbs.21ic.com/icview-