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

全站首个NanoEdge_AI试用(dogs)

[复制链接]
silver 发布时间:2022-9-4 20:09
前言:1 g  [% k4 y) _' h$ b; w
又到了开学的季节,看着学生们的朝气,心中无限感慨。
+ F2 w% |4 |9 u* [" w% [刚好又到了周末,外面大大的太阳,闲着无事看到活动,初步了解下感觉还挺好玩,看到手上那么多板子总该得扫扫灰了
' ~6 h$ g; |. M2 a7 w; r+ K6 `$ {+ w/ p" {; W7 j$ ^. w; z
测试准备:# |: E" K5 q$ S: h7 x2 Y! }
1.板子NUCLEO-L452RE8 t2 [5 c1 h  w' L' h% W( R
2.需要准备一些数据,我们公司刚好有一些环境传感器的项目,打算拿这些数据测试下
1 f: E) s4 |3 ?/ {" G( F, ?! O9 Q3.传感器有:负氧离子、空气温度、空气湿度,PM2.5,PM10,准备了一个星期的数据共673条8 x( h* S- v0 E: q8 F% u

  ]$ {1 P6 N5 j6 d* y. a; Q测试步骤:
0 b3 e- d" l4 z/ W& W. |) Z1.先去官网下载,下载前要填信息,这个邮箱等下会收到激活码
( g  h8 `/ R' }  j$ Z2 y7 ^# a5 x5 [! R2.打开安装,然后启动会先显示要填licence,去邮箱复制进去激活即可6 a1 _: B. B: m) c$ b7 s8 u7 D
3.如下界面,共有5个选项 异常检测 1类,多类,推断,数据日志,具体意思我就不分析了,B站有个讲解视频讲的很好(测完后面我才发现有-_-)4.因为我想推算出空气温湿度和PM2.5和PM10时负氧离子的值,所以用推断(Extrapolation)新建项目
; @$ C4 O0 g/ L4 n' `. `8 E choose_type.png " ]" Y* \- a2 H- o! \0 Z
5.建完项目后填MAXRAM就是模型最终占用多大RAM,MAXFLASH也是同样,选择目标板子(这里我选了L476RG,跟核心和FLASH、RAM有关系,所以选了最接近的,核心不能选错,跟优化算法有关系的)
8 {' y- m/ |3 }5 w" k project_set.png
1 m4 ?( H% W, s! `5 [  |9 l: w2 O6.这步需要导入数据源,我的源文件是xlsx类型不能识别,用WPS另存为转成制表符分隔的TXT(逗号分隔的CSV应该也可以)
7 Y: y, `  c" s& E! C& X$ y) ~* U xlsx_txt.png
/ z0 v- c; N( u( X7.点击ADD SIGNAL,把TXT选中放入(因为选了4个传感器所以文件必须5项数据列(第一列是结果列),不然会报错的)# U0 p! d$ @- q+ c/ b- z" i
7 V) B  p3 ~- B$ |0 r
signal_add.png
! ?/ Z% `  s8 T! _6 X: L! B( T select_signal_file.png + _2 W5 Y% u& x" N
data_set.png
* [( D8 |$ S, G& ?+ ?7 d8.跑模型,点RUN NEW BENCHMARK,选中你的数据源文件,下面的拖动条是选择运行的电脑CPU核数,START等待运行即可
6 ^2 v: p+ B4 G5 b signal_set.png 9 ]1 R% m4 T6 j+ c! ]5 \0 l2 G6 \3 D6 W
benchmark.png
% M" \% L( @% q; O5 x- e5 e1 W9.运行完毕后就可以进入仿真(如果想直接在MCU上测可以跳过此步),点击INITALIZE EMULATOR,把测试用的数据放到里面(因为选了4个传感器所以数据必须为4项了,去掉结果项),选完后结果直接在右边输出了
$ s% B6 K( l: W emulator.png 3 W( K* H9 W7 V: \
10.把模型部署到MCU上,下面都是一些选项,跟MCU优化和省内存有关系,右边是示例代码(稍候复制到工程),COMPILE LIBRARY把输出的文件保存(.zip),将内容解压到测试工程下
7 Z7 {6 s1 n5 {' n/ b- b6 S deployment.png
' J" O; `- M% U11.CUBEMX生成一个工程(省略一大波步骤,不过应该都会),我选了开发板型号后直接改MDK,一键生成,打开MDK9 d* w6 ]' A, ~/ M  ?, Y& m. v
12.把头文件包含路径加上生成的文件夹,MiscControls加上--wchar32(默认16会报错),把输出的文件夹下的.a文件加到工程下,右键选择库文件,将文件类型改为library file后OK, g/ w1 x- l- U, i( {2 T$ I
keil_config.png
$ c  }  Y4 L) h1 ^# i a_set.png
5 ~9 y. G% ?5 b0 d! v+ I- ~/ w13.把NanoEdge_AI的示例代码选择性拷进来(按CUBEMX的走),初始化后运行neai_extrapolation(测试数据数组,推理结果)
9 {' }, c0 M. S* v4 M14.输出的结果如下(不知道为什么跟电脑上有点小小的差异..,但结果基本很接近)8 ?' H/ E8 K% |$ E, N/ ^7 E

0 v1 l' b4 V0 I1 G& X! ] result_output.png 2 o4 w6 T6 S' O7 ~1 }5 U

- q# ^. C3 j+ t  G9 N总结:  I4 s6 G/ ]. u+ T0 j% }: g) x( d
1.用下来还是挺顺手的,刚发布没有中文,稍微花了点时间摸索了下(主要是没看到B站视频,不然看到上手应该很快),之前也接触过AI的平台上的应用,没用过CUBEAI,如果有相关方面的需求这个软件真的很顶,但公司暂时没有这方面需求...5 H5 h. x( x+ _$ ]( x* A; Y1 ^. |) ^7 T
2.这个licence有90天的使用时间,B站视频也说后续要买..(不过花了这么多人力物力整合出来也还算值,就是我买不起的价格o(╥﹏╥)o)。
& I9 B- v3 @+ j3.如果也想试用建议先看B站视频,基本上手把手的教,我这不过是把流程在走一次,不过视频用的是CUBEIDE,我用的是MDK,项目建的是推理,其实现在的数据并不是强相关的,这里只是用做演示做的一个例子,可以根据自己的需求再做改动' ], z, {# D+ y0 [
4.ST的生态真的越做越大,软件也做的挺好用的,希望国产能加加油   
2 D: V& c6 d3 {% X7 w: G" ]. d5.测试用的数据和main.c在下面资源里  2 P0 N; [/ A! ]( s/ G( c

( f3 E' i; Q3 t

datapack.zip

下载

31.12 KB, 下载次数: 14

收藏 评论3 发布时间:2022-9-4 20:09

举报

3个回答
STMCU-管管 回答时间:2022-9-5 08:51:52
这么晚还在学习,赞!4 y0 D: ^3 b- ^$ @* `- e- F9 R
silver 回答时间:2022-9-5 20:20:54
STMCU-管管 发表于 2022-9-5 08:51
/ C" F3 L" a1 `- j' [0 |: \9 x这么晚还在学习,赞!

1 }7 ^2 o  _$ O% C9 C3 H4 ]0 u  [测完刚好一天,吃完饭撰稿排版下就这么晚了,含泪爆肝
STMCU-管管 回答时间:2022-9-6 17:40:35
silver 发表于 2022-9-5 20:205 m4 E1 p9 ?; _% L  ]
测完刚好一天,吃完饭撰稿排版下就这么晚了,含泪爆肝

5 ]+ b1 l! H# P, E; I# C( Q不容易啊,哈哈哈
1 h0 K2 W8 m! Y

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版