学习链接:https://www.stmcu.com.cn/ecosystem/app/ai
近年来,人工智能是非常火热的话题和技术了。当初应该是从谷歌的下象棋AI机器开始,知道了人工智能学习。知道了谷歌的Tensorflow 神经网络学习模型框架。现在有很多很多应用都使用了人工智能技术,最普遍的就是人脸识别,物体识别了。
人工智能AI 是所有研究的机器模仿人类等认知能力的超集。从上图可以看出:人工智能包含机器学习子集,而机器学习子集包含深度学习。
机器学习是人工智能AI的分支,在计算机科学领域的应用使计算机无需显式编程就能学习。机器学习由能够基于数据进行学习和预测的算法组成:
• 这类算法在前面样本基础上进行训练,以构建和估计模型;
• 在传统编程不可行的情况下,通常采用机器学习;
• 如果经过适当的训练,可以适应新的案例应用。
机器学习有不同的实现方法,其中包括常见的:
• 决策树
• 聚类
• 基于规则的学习
• 归纳逻辑编程
• 深度学习
深度学习是利用神经网络进行的学习。
• 灵感来自生物神经网络
• 深度是指有很多中间的学习步骤.
• 需要大量数据
STM32在人工智能学习方面也有很多解决方案和相关资源,可以帮助用户很快的实现简单的人工智能学习的应用。
在硬件MCU方面,STM32有多款MCU可以实现AI应用,产品非常丰富。
在软件方面:STM32提供Cube.AI软件工具包,是CubeMX的AI扩展包,可以在CubeMX内直接下载。
Cube.AI软件工具包支持的神经网络模型框架有Lasagne、Keras、Caffe、ConvNetJs、Tensorflow Lite、可以导出为ONNX标准的框架(PyTorch™, Microsoft® Cognitive Toolkit, MATLAB® 以及更多)。
Cube.AI 工具具有的功能有:
• 转换模型文件到运行在STM32上的C代码
• 对模型文件做CPU、RAM、Flash资源分析,显示适配MCU型号
• 对模型做整型量化或者深度压缩
关于STM32开发神经网络应用的开发流程:有以下五步。
首先要获取收集需要的数据,ST有提供硬件开发板和软件来采集数据。然后将获取收集的数据清洗、打标。再将数据输入到训练神经网络模型中。完成训练神经网络模型后,将模型转换为MCU上可执行的优化代码。最后就是使用训练好的模型分析新采集的数据,完成特定目标应用的设别。
如何在OpenMV生态系统中集成STM32Cube.AI生成的代码.pdf
(474.46 KB)
STM32Cube的人工智能状态监视功能包.pdf
(9.2 MB)
X_CUBE_AI人工智能扩展包手册.pdf
(4.39 MB)
|