希望论坛支持 一下markdown,我的很多程序readme都是markdown写的。 最近ST弄了个创意大赛,我参加了AI组,今天特意分享了我的测试流程。markdown写的,所以凑合看。希望各位参加比赛的顺利完成,我在疫区所以官方H7-DISCO板子收不到,等 ,有什么问题的话论坛私信我不能及时回复,可以在我别的帖子找我的联系方式。( G; e+ g! w: d0 a- A( J测试记录,不详细描述怎么做的,一是我觉得手把手教别人怎么做,简直是害了别人,特别是学生,二是深度学习确实所需要知识点比较多,没办法展开。 板子玩的开心就行!!!; @! W3 Y+ c4 W" q# U # cifar10 在 nucleo STM32F767 平台的 测试 ## 软件配置 ### win10; p% Q8 w" k- B8 T 1. cubeMX 5.6.08 i& i* V( T( X( | 2. MDK 5.29a 3. cubemx扩展包--cube.AI 5.0.0 ### ubuntu16.04 ; K, M4 J$ h: ]. W/ X8 |8 F! } 1. tensorflow 2.1.0 (内含keras)/ }2 q6 U& O$ |2 K 2. python 2.7 (ubuntu16.04 自带) 3. cifar10 训练数据3 p5 V0 y- G- q* a& h ## 硬件配置 # V. N( ]; n" v1 o 1. nucleo F767, m# }/ V2 L0 D7 J% L 2. 自制扩展板 3. SD卡/ ~# s% b- } C/ V3 I 4. 扩展板 连接 ST-Link RX TX 引脚的杜邦线1 T) ]: a1 N+ `, H. m2 o- R ## 测试步骤 * 在 ubuntu16.04 的操作不叙述 * 直接将转换的模型(模型约4MB),利用cubemx转换,暂称为STM32_AI_Model。
1 t6 A3 {2 A3 b5 } ]4 r * 模型参数存储在W25Q128中,系统初始化时,QSPI进行内存映射,方便STM32_AI_Model读取模型参数。 * SD卡中读取29张测试图片均来自互联网,利用bmpconvST转换并缩小至32*32分辨率。 * RGB每个通道需要进行预处理,即R/255 G/255 B/255! Q6 R8 b2 ^1 b* Q * 图片在STM32_AI_Model的模型输入数据组织应为: | R1 | G1 | B1 | R2 | G2 | B2 | ... | * 循环从SD卡读取BMPt图片,显示在LTCD驱动的屏幕上,经过STM32_AI_Model推理后的结果,串口打印出来。6 c' D% L: x+ Y( ~8 U% W 推理结果的数据组织为:6 N5 K9 R# g/ V% l" j# `5 u | C1 | C2 | C3 | C4 | ... | C10 |,每一哥数据代表对应种类的可能性。" S6 z9 j4 K- D2 | 9 S4 E$ A. H- }- J$ U2 Q0 e * 可能性最大的即为推理最有可能的种类,cifar10即十种。2 a: ^! ^1 E* v4 J 6 N- K8 I7 C. Y" R# X! _6 }5 W ## 测试结果 ### 串口打印: sd_card_mount_ok airplane: 1.000 *1 `3 Q1 p* Y1 W5 d" n! D' X: R* t airplane: 1.000 * automobile: 0.998 * automobile: 1.000 * airplane: 1.000 x" V+ E+ ]7 n0 C+ g; w% U" D x dog: 0.584 x bird: 1.000 * dog: 0.999 x8 q% y3 f0 _- d _5 M% w1 { dog: 0.874 x ; L$ |' C; ]5 X# r/ i; y, r frog: 1.000 x cat: 0.993 *% R3 n3 r! }7 n- C' |, Y dog: 0.764 x deer: 1.000 * airplane: 0.906 x9 T% N4 W5 ^4 l0 H0 J dog: 1.000 * dog: 0.999 * v9 V( y8 [* T3 Z6 l$ W: z& U deer: 0.810 x bird: 1.000 x frog: 0.688 ** D* }& F* ^' y/ l1 V% y frog: 1.000 *9 e7 \% |+ h/ O( G# S; a horse: 1.000 * horse: 1.000 *9 T) M4 _6 C. ]: c horse: 1.000 * ship: 0.664 * ship: 1.000 * ship: 1.000 *8 c% Z8 W7 Y. y/ } truck: 1.000 * ship: 0.658 x truck: 1.000 *8 |$ C+ H& g8 Q* p & ^/ B5 ~' ~/ u+ u4 t g* B$ d 
( e6 u! @4 S; s/ e4 u6 `; z8 b ### 测试准确率+ J0 s$ ?& W- [+ N( K9 t * 19/29*100%=65.5%+ _2 _* p7 S9 w8 w5 O# g+ n' E- F ' d6 V9 X$ m0 R- R8 M4 M7 A ### 测试总结; o5 Y5 Z7 W' k4 F: f2 x * 图片中比较常见的东西模型很容易辨认,图片第二行第三个是青蛙头上有一个蜗牛,辨认错了,还有四只猫居然只对了一只,其余的比较正常,毕竟图片分辨率不高。" X* f' X' C7 ~# P5 d * 由于我是用的深度学习模型是cifar10测试准确率比较高的,所以模型比较大,计算复杂,STM32F7推理时间约四五秒。) k8 C7 V9 i4 J3 v" Y & `* @ h6 t: C Y * y4 s- _9 v* \& }$ W+ b 4 ^' P6 N3 ~/ q/ T4 K # O# A7 Z5 D7 Y E( ]6 o |
【STM32H5 评测】MNIST 数字识别
STM32在边缘AI的布局及能力版图
从家电到机器人:STM32边缘AI应用案例拆解
STM32U3B5/U3C5:为超低功耗设计带来高性能 DSP 与边缘 AI
【NUCLEO-U3C5ZI 测评】+ 手写数字识别
【STM32U3 评测】MNIST 数字识别
AI玩具爆发前夜:技术拐点、体验鸿沟与破局路径
STM32 AI Model Zoo,现支持PyTorch的最大规模MCU AI模型集合
经验分享 | STM32 AFCI 方案 TensorBoard 使用指南:AI 模型调优可视化终极方案
STM32F334运行超轻量级神经网络推理框架TinyMaxi进行端侧推理
微信公众号
手机版
@楼主,只是想告知一下Markdown的编辑器已经就位,欢迎楼主输出更多关于AI方面的见解
<br /> <br /> 两年了,很少逛论坛了<br />
哈哈, 欢迎多回来逛逛,提提宝贵意见