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

全站首个NanoEdge_AI试用(dogs)

[复制链接]
silver 发布时间:2022-9-4 20:09
前言:. q% k8 J* Y9 z. _* n7 r6 b: D
又到了开学的季节,看着学生们的朝气,心中无限感慨。  _6 d- ?# Y9 E
刚好又到了周末,外面大大的太阳,闲着无事看到活动,初步了解下感觉还挺好玩,看到手上那么多板子总该得扫扫灰了
/ I! x9 @- P9 z/ H' e: G. v
3 L7 a  m. ^( t  w3 N8 N测试准备:& D+ @6 ^5 \3 b' I* u. [
1.板子NUCLEO-L452RE5 F. v7 Y( F  f& k
2.需要准备一些数据,我们公司刚好有一些环境传感器的项目,打算拿这些数据测试下; m' ^6 F! o8 B) c+ l
3.传感器有:负氧离子、空气温度、空气湿度,PM2.5,PM10,准备了一个星期的数据共673条  j1 @3 u. p; [, g) {; e8 A4 q+ }

$ ~; ~: @' B% |8 y' E, j7 }; j测试步骤:
% s7 U2 \8 r2 V. Q1.先去官网下载,下载前要填信息,这个邮箱等下会收到激活码7 M; z& M+ G3 Q& |; W9 b+ J/ k+ ?
2.打开安装,然后启动会先显示要填licence,去邮箱复制进去激活即可" H( X  m- \$ a! n5 a; [% g$ D
3.如下界面,共有5个选项 异常检测 1类,多类,推断,数据日志,具体意思我就不分析了,B站有个讲解视频讲的很好(测完后面我才发现有-_-)4.因为我想推算出空气温湿度和PM2.5和PM10时负氧离子的值,所以用推断(Extrapolation)新建项目
1 p" t) ?3 D, I, g+ S3 b choose_type.png . w- o2 W' Y" Y2 M/ h
5.建完项目后填MAXRAM就是模型最终占用多大RAM,MAXFLASH也是同样,选择目标板子(这里我选了L476RG,跟核心和FLASH、RAM有关系,所以选了最接近的,核心不能选错,跟优化算法有关系的)
9 c# x1 r9 a" X# s project_set.png 2 y4 Z) ^/ g" I* ^
6.这步需要导入数据源,我的源文件是xlsx类型不能识别,用WPS另存为转成制表符分隔的TXT(逗号分隔的CSV应该也可以)1 x6 u/ h! K( p
xlsx_txt.png
- G5 u! z& \3 D0 |7.点击ADD SIGNAL,把TXT选中放入(因为选了4个传感器所以文件必须5项数据列(第一列是结果列),不然会报错的)2 Q" F; _- ~) F6 F$ l! J; @2 @% \
! _+ s& i+ n- T5 Y0 g
signal_add.png 5 P+ e  i5 |+ V( f) L0 {5 l. d
select_signal_file.png + X: U+ X' p  Q& y! c
data_set.png ) v% p/ T  ]- h# _8 c
8.跑模型,点RUN NEW BENCHMARK,选中你的数据源文件,下面的拖动条是选择运行的电脑CPU核数,START等待运行即可
6 V7 F# C% P- d2 A1 _ signal_set.png # ^# ], B& {: I* y4 U2 g9 B
benchmark.png
. I) O/ {- j) W1 r  J1 O9.运行完毕后就可以进入仿真(如果想直接在MCU上测可以跳过此步),点击INITALIZE EMULATOR,把测试用的数据放到里面(因为选了4个传感器所以数据必须为4项了,去掉结果项),选完后结果直接在右边输出了$ K+ K/ z0 A) F4 Y1 [) B! ?
emulator.png
* f$ j: M2 w0 F4 e10.把模型部署到MCU上,下面都是一些选项,跟MCU优化和省内存有关系,右边是示例代码(稍候复制到工程),COMPILE LIBRARY把输出的文件保存(.zip),将内容解压到测试工程下" V: R6 _9 {! |2 ]
deployment.png 8 a/ H8 v& o3 }3 V
11.CUBEMX生成一个工程(省略一大波步骤,不过应该都会),我选了开发板型号后直接改MDK,一键生成,打开MDK' f; ?+ E' U9 j: e1 c
12.把头文件包含路径加上生成的文件夹,MiscControls加上--wchar32(默认16会报错),把输出的文件夹下的.a文件加到工程下,右键选择库文件,将文件类型改为library file后OK! F8 U$ g0 A6 u* q6 N& l
keil_config.png 7 n0 }9 x* p' y- p3 ^3 V
a_set.png ! g# h/ r3 l) c* ^* V
13.把NanoEdge_AI的示例代码选择性拷进来(按CUBEMX的走),初始化后运行neai_extrapolation(测试数据数组,推理结果)
8 P6 e0 C/ ~+ Z- B& c* N14.输出的结果如下(不知道为什么跟电脑上有点小小的差异..,但结果基本很接近)  j3 z1 ^9 ?* s5 ~7 Q* o
# g3 Z' S9 e5 J8 Z1 T. \* g
result_output.png
. o6 b, m% F+ @; {, B, w/ ]* I* V- x& @3 [* t
总结:% I: g8 v6 h6 ~4 P  j
1.用下来还是挺顺手的,刚发布没有中文,稍微花了点时间摸索了下(主要是没看到B站视频,不然看到上手应该很快),之前也接触过AI的平台上的应用,没用过CUBEAI,如果有相关方面的需求这个软件真的很顶,但公司暂时没有这方面需求...0 y, T' i" Z0 c* Q. ^
2.这个licence有90天的使用时间,B站视频也说后续要买..(不过花了这么多人力物力整合出来也还算值,就是我买不起的价格o(╥﹏╥)o)。
, O* O. e/ ^% R4 x! d9 A1 L3.如果也想试用建议先看B站视频,基本上手把手的教,我这不过是把流程在走一次,不过视频用的是CUBEIDE,我用的是MDK,项目建的是推理,其实现在的数据并不是强相关的,这里只是用做演示做的一个例子,可以根据自己的需求再做改动
" @4 X9 k: S8 g! i5 M3 F4.ST的生态真的越做越大,软件也做的挺好用的,希望国产能加加油   * P4 m5 ?2 M. [9 H3 J/ t+ N
5.测试用的数据和main.c在下面资源里  
  s4 B0 M* F- E; h7 y3 o( F) H9 t8 J

datapack.zip

下载

31.12 KB, 下载次数: 13

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

举报

3个回答
STMCU-管管 回答时间:2022-9-5 08:51:52
这么晚还在学习,赞!4 T# q' x+ y$ M2 A
silver 回答时间:2022-9-5 20:20:54
STMCU-管管 发表于 2022-9-5 08:51
( o) Z' K: A3 w& x这么晚还在学习,赞!

% p0 S4 G7 |4 C# J+ ~0 S测完刚好一天,吃完饭撰稿排版下就这么晚了,含泪爆肝
STMCU-管管 回答时间:2022-9-6 17:40:35
silver 发表于 2022-9-5 20:20( [$ x; ?' n* x0 G
测完刚好一天,吃完饭撰稿排版下就这么晚了,含泪爆肝

6 b$ w: I( j' E% G! `/ f不容易啊,哈哈哈
* @. `  J* Q: h3 i% R9 A1 I* E/ t3 y
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版