请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Cube.AI【4】cifar10 在魔改Nucleo STMF767平台上的测试

[复制链接]
lebment 发布时间:2020-3-9 22:43
  希望论坛支持 一下markdown,我的很多程序readme都是markdown写的。  最近ST弄了个创意大赛,我参加了AI组,今天特意分享了我的测试流程。markdown写的,所以凑合看。希望各位参加比赛的顺利完成,我在疫区所以官方H7-DISCO板子收不到,等,有什么问题的话论坛私信我不能及时回复,可以在我别的帖子找我的联系方式。
* t. d" t0 F) @2 F* ?7 \  测试记录,不详细描述怎么做的,一是我觉得手把手教别人怎么做,简直是害了别人,特别是学生,二是深度学习确实所需要知识点比较多,没办法展开。% x; j8 `) d7 F4 Y; R' o: t. d3 j
  板子玩的开心就行!!!
6 i) P7 R: ?, T8 ?- d/ H" M
8 h2 Z, \9 m* g+ [- `$ b7 T- U, ~# cifar10 在 nucleo STM32F767 平台的 测试
8 R' O5 [/ i! x7 l. l## 软件配置8 ?! h% ?) A9 R7 a) |1 c  s
### win10+ F) F- B) ?/ |' c; `
   1. cubeMX 5.6.0
0 T) ]  x) S6 `' M9 C   2. MDK 5.29a
2 P* C8 o/ g! ?& l: {# |   3. cubemx扩展包--cube.AI 5.0.0
/ @4 F: h$ C+ n% p5 Q; p5 X2 J### ubuntu16.04 ' x! I% R5 ?! e, n2 `
   1. tensorflow 2.1.0 (内含keras)
; ]% c6 Y! _1 F; n. w' s* {   2. python 2.7 (ubuntu16.04 自带)- x1 I* v& e5 _1 b* C6 N
   3. cifar10 训练数据
9 s, C$ S' Q; o3 e5 ?. b# q: i+ V7 t* l! w. y! V+ y  [1 G
## 硬件配置   - [* N+ s& Q$ u* v1 }
   1. nucleo F767
% }* L# g1 _1 E, B8 }8 }( I3 n   2. 自制扩展板
- K; u( z5 Z5 O( |6 Q7 L   3. SD卡
) e: k1 |! s( g   4. 扩展板 连接 ST-Link RX TX 引脚的杜邦线- a* B5 X1 F5 E: v3 U( u2 p

% c7 O# t0 I, [, ~## 测试步骤 1 g  l3 E1 e9 D* g
   * 在 ubuntu16.04 的操作不叙述
# `* `( y& A% D2 K, b" E   * 直接将转换的模型(模型约4MB),利用cubemx转换,暂称为STM32_AI_Model。
批注 2020-03-09 225751.png 批注 2020-03-09 225904.png
5 ]: W1 i$ c( g8 P
( K' ~- Q9 I: h! Y+ g   * 模型参数存储在W25Q128中,系统初始化时,QSPI进行内存映射,方便STM32_AI_Model读取模型参数。
6 S' a' a$ t7 ^8 t   * SD卡中读取29张测试图片均来自互联网,利用bmpconvST转换并缩小至32*32分辨率。
( C& S* W5 Y+ b# Y   * RGB每个通道需要进行预处理,即R/255 G/255 B/255  L8 ]. W0 i  B
   * 图片在STM32_AI_Model的模型输入数据组织应为:
# }& J; c$ {% g$ ~5 i7 O0 p- }| R1 | G1 | B1 | R2 | G2 | B2 | ... |
/ ?9 ]. e1 |6 x) v5 Q6 Q' X   * 循环从SD卡读取BMPt图片,显示在LTCD驱动的屏幕上,经过STM32_AI_Model推理后的结果,串口打印出来。5 l. p  J5 d0 q
推理结果的数据组织为:" h' u- l( T( q/ i! a$ Z
| C1 | C2 | C3 | C4 | ... | C10 |,每一哥数据代表对应种类的可能性。
% Y+ v% B" C& m" z+ E1 \# P7 \* u* [6 `5 V9 d# T
   * 可能性最大的即为推理最有可能的种类,cifar10即十种。# O: Q- X6 F: l, j4 }% ?- z( Z" }% Q

0 H, `2 V8 I3 x## 测试结果' U' x% I$ |# E" t4 Y3 b  d
  ### 串口打印:
3 P# O* X0 H" N- y3 i0 [4 g    sd_card_mount_ok
- d6 U" i+ j" j. l& r  J9 V4 _1 U) }( v    airplane: 1.000       *
5 r& t, ]8 E8 `* A1 A( P/ p. v: A    airplane: 1.000       *3 ^# t! b5 f, y% g& ]
    automobile: 0.998     *
2 c  {. j: E1 k6 y    automobile: 1.000     *3 R. t% [3 I# Y) e$ _
    airplane: 1.000       x
$ P* @. S8 \8 ]+ ]& V5 I    dog: 0.584            x) m7 g5 |( n8 r- r4 h' A
    bird: 1.000           *
3 n0 I9 @4 l' l6 m  V5 }  d3 p+ A    dog: 0.999            x. j+ j& A0 O8 O: j0 l* z, B* Y
    dog: 0.874            x 2 L7 x! V* A, ?) ^" m, B6 t
    frog: 1.000           x9 P3 J* _4 p3 o- x  y* i* j8 w) @
    cat: 0.993            *
3 f; z$ ~) L+ n  _7 l. f, [    dog: 0.764            x9 ^2 D  f7 [7 y
    deer: 1.000           *- s- c) T7 f. ^9 r
    airplane: 0.906       x. c( _9 I% N8 W3 f% a
    dog: 1.000            *- ~' X+ K& {) V( L
    dog: 0.999            *
% ]' _* P2 A* j% ~    deer: 0.810           x
- ^5 Z# [5 f) }0 W& z, S; j$ Q    bird: 1.000           x0 q; u$ C2 S" B) T# y' a& ]
    frog: 0.688           *, p3 p5 g* ?7 p# T
    frog: 1.000           *+ |% d/ t/ q2 L9 z7 @+ L" Z+ Y
    horse: 1.000          ** d/ [( N3 Q2 X5 [% c: A$ {
    horse: 1.000          *
8 {  z7 ~* o" u  d- e    horse: 1.000          *
% {+ b( n# C8 |4 G6 @    ship: 0.664           *& K0 {9 ^: t% d# r* E6 X- L7 ^
    ship: 1.000           *
5 I( @; W7 I/ J    ship: 1.000           *, ]+ M- \8 F7 Y9 w
    truck: 1.000          *
0 i& ?! D8 g5 n; P- x% i3 ]    ship: 0.658           x7 K" O# ~( `# V
    truck: 1.000          *
1 m8 s: n) d) n5 l% z# [
% O1 `( f' t# ^4 s![LCD截屏图片](./scr_print.png)
scr_print.png 我的LCD显示不正常,所以我用文件系统截了个图:0 W$ Y2 H3 {( H+ z
IMG_20200309_224522.jpg . o+ \& G9 C+ E0 U3 ?

- F+ L' U- X3 X) y/ d### 测试准确率! @: r9 Y* V. l! M! s
! V6 j, @, }8 D# j4 ]( H) q
  * 19/29*100%=65.5%: P8 Z* X& d# p- w; l+ |5 c6 q
2 \/ Q9 `) B# X* [& g6 Y
### 测试总结' c( @. D2 N- F& p$ A1 e" V; Y' s
  * 图片中比较常见的东西模型很容易辨认,图片第二行第三个是青蛙头上有一个蜗牛,辨认错了,还有四只猫居然只对了一只,其余的比较正常,毕竟图片分辨率不高。
6 x  @+ }" Q; n2 l/ \  * 由于我是用的深度学习模型是cifar10测试准确率比较高的,所以模型比较大,计算复杂,STM32F7推理时间约四五秒。' k5 \" L5 a4 a5 u7 N1 y
$ x8 B- `$ ]' C  S8 v5 c% ~
0 K' X* n2 ~# w- @* o) b3 C9 d
5 V+ q3 T4 |( j( _# a  P: C

8 d/ C" U4 P* F0 i6 L
$ {2 H$ C% }# L9 t. E" w" @' }6 j. W: }' A2 n. N

, h$ W6 |) n- \5 F4 x1 c

评分

参与人数 1 ST金币 +2 收起 理由
じ太阳当空照 + 2

查看全部评分

1 收藏 1 评论3 发布时间:2020-3-9 22:43

举报

3个回答
Yude 回答时间:2022-3-3 14:25:04

@楼主,只是想告知一下Markdown的编辑器已经就位,欢迎楼主输出更多关于AI方面的见解

lebment 回答时间:2022-6-11 18:27:03

Yude 发表于 2022-3-3 14:25
@楼主,只是想告知一下Markdown的编辑器已经就位,欢迎楼主输出更多关于AI方面的见解
...

两年了,很少逛论坛了

Yude 回答时间:2022-6-14 19:06:09
lebment 发表于 2022-6-11 18:27
' B/ g0 M- N% X两年了,很少逛论坛了

3 p2 T) [, [2 A+ m% |1 v3 ^哈哈, 欢迎多回来逛逛,提提宝贵意见7 q/ U, }- m) h  i
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版