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

全站首个NanoEdge_AI试用(dogs)

[复制链接]
silver 发布时间:2022-9-4 20:09
前言:
9 r' z1 _$ {% |9 _  P又到了开学的季节,看着学生们的朝气,心中无限感慨。% I+ @. [2 m' d. \
刚好又到了周末,外面大大的太阳,闲着无事看到活动,初步了解下感觉还挺好玩,看到手上那么多板子总该得扫扫灰了
, `. l  a1 C( n% i; \0 l) ?
3 a7 N& y9 z2 |测试准备:, g7 F! y7 j5 F
1.板子NUCLEO-L452RE
+ \$ P! W& A! P: q  B9 H2.需要准备一些数据,我们公司刚好有一些环境传感器的项目,打算拿这些数据测试下
5 B; s# ?* u) Z3 k, z: [3.传感器有:负氧离子、空气温度、空气湿度,PM2.5,PM10,准备了一个星期的数据共673条
" `! k+ d" A% I# D* @/ o
4 l7 S- f$ ]5 b3 z" a$ q! l测试步骤:4 z- K0 Z( W8 _- o" S8 p9 T
1.先去官网下载,下载前要填信息,这个邮箱等下会收到激活码- r# F' W1 p  D6 {: T; q; i( ]: {
2.打开安装,然后启动会先显示要填licence,去邮箱复制进去激活即可& b. W) d* |! g1 y% H4 X/ X
3.如下界面,共有5个选项 异常检测 1类,多类,推断,数据日志,具体意思我就不分析了,B站有个讲解视频讲的很好(测完后面我才发现有-_-)4.因为我想推算出空气温湿度和PM2.5和PM10时负氧离子的值,所以用推断(Extrapolation)新建项目
( d1 L, F' Y1 a+ M& T+ G  \ choose_type.png
! M# |* x4 [1 G  W! `- }9 y! d* v8 Q! p5.建完项目后填MAXRAM就是模型最终占用多大RAM,MAXFLASH也是同样,选择目标板子(这里我选了L476RG,跟核心和FLASH、RAM有关系,所以选了最接近的,核心不能选错,跟优化算法有关系的)1 L* g/ [- [) s: j$ A( A
project_set.png
+ C  k; t; F; d& l0 L& S6.这步需要导入数据源,我的源文件是xlsx类型不能识别,用WPS另存为转成制表符分隔的TXT(逗号分隔的CSV应该也可以)
* o; X% B6 N! m! \: J' C8 Q0 @0 w xlsx_txt.png
! F5 p0 \( \; G  g; Q! @3 X7.点击ADD SIGNAL,把TXT选中放入(因为选了4个传感器所以文件必须5项数据列(第一列是结果列),不然会报错的)  F7 d" y" b- }5 c% B8 W3 m

* g0 A7 L7 e( z signal_add.png ! X, g) l/ }3 S7 H7 P. h* }
select_signal_file.png
; R  g3 `* Y  o( u6 D0 P4 ~ data_set.png / k" s  w  {8 k( }" m
8.跑模型,点RUN NEW BENCHMARK,选中你的数据源文件,下面的拖动条是选择运行的电脑CPU核数,START等待运行即可- v: Y! r, i0 D
signal_set.png
8 b% Z. F) w+ m4 g* P; ?) } benchmark.png + d, m# v/ s2 h$ f4 C$ l& z1 G
9.运行完毕后就可以进入仿真(如果想直接在MCU上测可以跳过此步),点击INITALIZE EMULATOR,把测试用的数据放到里面(因为选了4个传感器所以数据必须为4项了,去掉结果项),选完后结果直接在右边输出了
! l  Z/ K$ G4 d: g$ B( k$ u% n emulator.png
( o7 ^3 C( ?3 c' ]1 ~, U) p10.把模型部署到MCU上,下面都是一些选项,跟MCU优化和省内存有关系,右边是示例代码(稍候复制到工程),COMPILE LIBRARY把输出的文件保存(.zip),将内容解压到测试工程下
/ R( h' Z3 B' f8 k deployment.png
3 r* A/ A6 n. k& i0 \11.CUBEMX生成一个工程(省略一大波步骤,不过应该都会),我选了开发板型号后直接改MDK,一键生成,打开MDK: |5 s( |7 ~7 H% j: C
12.把头文件包含路径加上生成的文件夹,MiscControls加上--wchar32(默认16会报错),把输出的文件夹下的.a文件加到工程下,右键选择库文件,将文件类型改为library file后OK4 L3 j8 o* K, i: Z6 y9 x
keil_config.png
& d- y% Q& K4 K" m' Z- U a_set.png
5 o" {: V6 L' P! t13.把NanoEdge_AI的示例代码选择性拷进来(按CUBEMX的走),初始化后运行neai_extrapolation(测试数据数组,推理结果)" Q' S/ `; c7 O) H9 F; b
14.输出的结果如下(不知道为什么跟电脑上有点小小的差异..,但结果基本很接近)  O" G+ {: v" x5 |8 R1 N
. ]1 J6 D( R- B$ z. N, G7 c
result_output.png & _5 B9 ~! D1 l9 R! Y) J, C, G

/ _6 x1 J6 i4 d# z5 A总结:
9 Y  O5 D$ [- W6 k& S8 x* m1.用下来还是挺顺手的,刚发布没有中文,稍微花了点时间摸索了下(主要是没看到B站视频,不然看到上手应该很快),之前也接触过AI的平台上的应用,没用过CUBEAI,如果有相关方面的需求这个软件真的很顶,但公司暂时没有这方面需求...0 h6 p! ~3 g) c% Z! T
2.这个licence有90天的使用时间,B站视频也说后续要买..(不过花了这么多人力物力整合出来也还算值,就是我买不起的价格o(╥﹏╥)o)。- j# \0 P$ ~7 k. o, ^
3.如果也想试用建议先看B站视频,基本上手把手的教,我这不过是把流程在走一次,不过视频用的是CUBEIDE,我用的是MDK,项目建的是推理,其实现在的数据并不是强相关的,这里只是用做演示做的一个例子,可以根据自己的需求再做改动  A2 J) i; L, E' {% Q
4.ST的生态真的越做越大,软件也做的挺好用的,希望国产能加加油     d  b, |) J7 T' ?, e" d( l! h
5.测试用的数据和main.c在下面资源里  
7 V4 d8 a4 c1 n# n% R6 M( [) P$ e9 O; c* o

datapack.zip

下载

31.12 KB, 下载次数: 16

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

举报

3个回答
STMCU-管管 回答时间:2022-9-5 08:51:52
这么晚还在学习,赞!( l# C9 Q" `; v" r3 u) }4 y
silver 回答时间:2022-9-5 20:20:54
STMCU-管管 发表于 2022-9-5 08:515 J: L0 m( b, s
这么晚还在学习,赞!
( N6 E. U4 ]; A4 i: A
测完刚好一天,吃完饭撰稿排版下就这么晚了,含泪爆肝
STMCU-管管 回答时间:2022-9-6 17:40:35
silver 发表于 2022-9-5 20:20
' s( y& B9 X, A$ A测完刚好一天,吃完饭撰稿排版下就这么晚了,含泪爆肝
/ ?& k1 C, X* K4 `6 ]
不容易啊,哈哈哈: g' k  O8 Q# l, S8 `* H3 I5 s

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版