【嵌入式AI】NanoEdge AI Studio AI环境搭建
【嵌入式AI】NanoEdge AI Studio AI环境搭建
1、NanoEdge AI Studio V3的概述1.1 首先感谢STM32自动化机器学习工具——NanoEdge AI Studio以及丰富的学习资源。STM32开发板基本都可以边缘计算AI。开板资料如下:
[*]Evaluation board:
[*]STEVAL-STWINKT1B: STWIN SensorTile Wireless Industrial Node development kit
[*]Discovery kits:%
[*]B-U585I-IOT02A: Discovery kit for IoT node with STM32U585AI MCU
[*]32F413HDISCOVERY: Discovery kit with STM32F413ZH MCU
[*]32F746GDISCOVERY: Discovery kit with STM32F746NG MCU
[*]32F769IDISCOVERY: Discovery kit with STM32F769NI MCU
[*]32L4R9IDISCOVERY: Discovery kit with STM32L4R9AI MCU
[*]B-L4S5I-IOT01A: Discovery kit for IoT node with STM32L4S5VI MCU
[*]STM32L562E-DK: Discovery kit with STM32L562QE MCU% d7 r0 H' W1 h
[*]Nucleo boards:
[*]NUCLEO-F401RE: STM32 Nucleo-64 development board with STM32F401RE MCU
[*]NUCLEO-F411RE: STM32 Nucleo-64 development board with STM32F411RE MCU
[*]NUCLEO-G071RB: STM32 Nucleo-64 development board with STM32G071RB MCU
[*]NUCLEO-G474RE: STM32 Nucleo-64 development board with STM32G474RE MCU
[*]NUCLEO-H743ZI2: STM32 Nucleo-144 development board with STM32H743ZI MCU
[*]NUCLEO-L432KC: STM32 Nucleo-32 development board with STM32L432KC MCU
[*]NUCLEO-L433RC-P: STM32 Nucleo-64 development board with STM32L433RC MCU
[*]NUCLEO-L476RG: STM32 Nucleo-64 development board with STM32L476RG MCU
[*]NUCLEO-WB55RG: STM32 Nucleo-64 development board with STM32WB55RG MCU
[*]NUCLEO-WL55JC: STM32 Nucleo-64 development board with STM32WL55JCI MCU
7 Wb8 Y* ]. d
这个开发工具解决的是深度学习的痛点,就是数据清洗和数据加载,无论在AI领域的专业水平如何,通过NanoedgeAI Studio,都可以找到最适合嵌入式项目的AI库,并将机器学习功能加入到MCU的C代码中。 NanoEdge* AI Studio为AI库嵌入一个自动搜索引擎,开发人员只需五步操作,即可基于最少量数据,为自己的项目生成最优机器学习库。创建之后,该库被加载到微控制器中,以便在边缘直接进行训练和推理,从而提高安全性并减少延迟。 这个过程不是说说而已,而是已经做到了。最新的V3支持两种新的功能,支持的支持的两种算法(异常检测和分类)现在有了更多的库的支持。此外,新版本中还对这些算法进行了优化,以提高其在现有用例上的性能。因此,当切换到新的软件版本时,嵌入式开发人员可以体验到更出色的资源管理或更快的执行速度。还增加了简单易用的全新数据记录功能,这个功能目前只针对STWIN SensorTile一种开发板,但是已经看到这个是一个更吸引人的两点。
2、NanoEdge AI Studio的安装2.1 安装的过程可以提供商业包和3个月评估包的选择,其中还可以把授权服务器设定为远程的。原来觉得只为了3个月的体验下载,就一直没有下载使用,因为软件的学习曲线还是比较陡峭的,如果不用学习负担太重,但是参与活动并下载使用后,发现易用性过于好了,基本上1天上手。基础是对数据的概念比较熟悉,而且也有现成的数据。可以首先访问st官网的页面,首先按照下图的网址进入下载网页, / t% e6 G3 p5 r/ G% L6 t
正确填写好数据后提交按钮高亮,就可以提交。并不需要专门注册,这里就提交成功,注册码会发到注册的邮箱。* o' ^" K4 sH
- ?( _4 Q2 ^# M# X4 Z6 H) n
随后会跳转到软件下载安装页面,7 T# ]7 A: U, R- @' K8 `
) \5 y2 c; u4
选择Windows10的版本下载,同时可以下载软件说明,同时了解以下基本的情况。
选择下载安装包开始安装,选择安装目录,2 v) r3 R# K& b; u3 p
* z: n" L7 wG8 X/ X/ p- c
开始安装,
很快安装成功后 + d* x3 a5 u* K: h9 B; q5 B
直接启动程序,需要选择基本的设置,如工作目录,
这时没有授权码是无法进入的,从收到的确认邮件中找到授权码 ; X9 t9 N& j! F1 t
输入授权码,就自动识别并显示绿色高亮点,
; _D7 s6 p, c: t+ }' ]
正式进入首页,1 ]5 V9 {) a. e9 r9 fA
3 D. N# z( U+ b7 r' e7 z
从最右侧的Data logger功能就可以进入到前面提到的新功能,只支持一种开发板
这个可以支持所有的板载传感器数据采集和记录。其他的功能可以逐个浏览,0 C6 O2 N" X" W& |: I" f
包括异常和分类等, ' }" b0 I0 u. w. Y8 g/ y4 I6 G
直接在多分类项下启动创建新项目
可以从选择的开发板中滚动选择适合的, # A* I' a( Z$ E# P8 a! W
目前还没有支持的显示为阴影,无法选中2 ~, `( x# ^8 {v& |4 M3 Q+ X
最终选择最常见的Nucleo-L479, z! s4 b* V2 j9 O+ k* W* HH
& J% Y+ D9 D, O# W$ k
随后提示如何输入数据,需要建议的格式,可以用逗号等分隔符,用文本的方式导入 8 R$ a; ]! w, a( _5 }
这里还提供了多种选择,包括用data logger的DAT文件,以及直接从USB口进行数据采样
这里用带电子表格造一些数据,导出为csv格式
直接导入xls表格,因为格式识别不正确,无法提取数据
转换成csv就可以预览前20行的数据
数据导入后,进行初步的分析,并用图形化,这个是用了傅里叶变换的FFT方法求方差和频谱,% W5 q+ n' k% O( {' P$ l! E
. E7 A( ]# U! d$ j/ V4 B9 Y
可以进一步分析,这个是查重,筛选数据有效性的
1 d0 g9 Z4 i$ x
选择输出目录和文件名,把格式化的数据存在本地供后续使用/ s6 G$ k5 R* j) C3 Q; g4 M/ n
( S3 O5 h' q( L
对应数据分析而已,一个是训练集,一个是验证集,因此需要2个数据源,这里也是按照这个来区分的,更多的数据源,也可以,可以自动分类7 {, w" k& E/ g* g6 Z9 N0 Q! e$ g( Y2 }
8 B5 A! t! Z5 _
这样就显示了两个数据源的显示,: j% Uz" b9 d+ e6 p
随后需要进行第三步benchmark的测试,取得基准值
+ l; ^) Q7 P9 N
这个过程是依赖桌面机进行的训练,花费的时间长,巨大的数据需要更强大的计算能力,可以要算数十个小时,
3 k. q& M% L, q7 O' O3 d$ H! \/ O
可以看到动态迭代的情况,因为这个数据简单,可以看到很快就收敛,精度100%,真正的数据是按照一个反函数的曲线,并且有波动。这个过程是巨大的计算机资源消耗过程,而且这个过程非常需要经验。因此,这个过程挑战巨大,AI攻城狮往往自称炼金师,及时说这个过程有很多玄学的地方,经验和运气同样重要。没有这个工具,就需要手动炼金,现在这个软件,实现了数据导入和训练的自动化,和可视化,这部分就是这个软件最核心和有价值的部分。
本例中有限的数据也提供了半个小时的时间,现在全部完成了1
3 x- l* u% G$ C% }
下一步是模拟的过程,这个也是一个亮点,在反复的调试过程中,都加载到硬件中,基于失效数据和失效模型的测试和硬件问题混在一起,更能难调试。而这个功能,假定在虚拟机上执行,极大提高了深度学习软件的开发效率。在这个过程中,因为无法访问远程服务器的认证和授权,不能生产库文件。这个页面就是提示操作方法,把关键的数据,这时json格式的,复制下来,然后粘贴在验证网站上的对应位置,云端计算结果,并生产zip格式的库文件。
比较可惜的是我所用的计算机在防火墙保护下很多端口是封闭的,所以不能随意访问未授权的远端服务器,所以,远程服务器无法访问并验证我的本地授权码,提示搞不成。这个过程虽然不够完美,但是,也用故障的方式,提醒大家注意网络安全,使用正版软件,如果能够提供效能提高和安全保证,这样的人工智能开发使用费应该是有所值的。
如果购买了授权码,再配置页面,需要选择合适的代理服务器,这里也提供了IP地址; ~% u. G" V- `, v
最后一步就是部署阶段
这里选择适合的库模型,生成模型,并下载后嵌入到程序代码中,这里分为演示用,调试用和生产用,代码需要正确地授权,才能使用,应该不同阶段的价格差别很大的。 * O6 a& c! z, l
部署的过程提供了一个简易的hello范例代码
这样就形成了完整的开发链条。3 小结 整个使用过程顺畅,结果完美。 需要了解的是这个过程并不是想象中的简单,只是通过NanoEdge AI Studio实现了一个超乎寻常的探索体验,发现了完全没有想到的优秀。这样,可以跳过硬件部署和开发过程,直接进行自有模型的生产,反复测试。 在完成了WIO AI Lite的评测后,找一个在可用范围内的开发板,完整实现从开发,数据调试到应用部署的过程,在3个月的有效期捏完成,应该是一个非常丝滑的体验。本次评测完毕。) K8
页:
[1]