MindSpore Lite体验

MindSpore Lite是MindSpore八月发布的针对手机以及IoT场景,端到端的解决方案。简单地说,就是可以在手机以及IoT设备上部署MindSpore框架训练的AI模型。

上手体验

下载官方代码样例—图片分类(使用的是mobilenet.v2)。安装AndroidStudio,按照说明,需要各个依赖如下:

  • Android Studio >= 3.2 (推荐4.0以上版本)
  • NDK 21.3
  • CMake 3.10
  • Android SDK >= 26
  • OpenCV >= 4.0.0(示例代码中已经有了,所以可以不用安装)

根据说明,配置一下工程,我使用的Android SDK=30,也就是Android10版本
MindSpore Lite 体验

MindSpore Lite 体验
导入项目之后,还需要下载gradle里面的相关依赖,等一会儿就行~

简单的源码说明

这个实例程序主要分为两个部分,一个是Java,一个是C++。Java代码调用系统API开启相机,并封装了一个类RecognitionObjectBean保存分类的结果。C++编写底层的推理代码,Jni调用C++API进行推理。C++API需要相关的库文件支持,可以通过Mindspore lite源码编译得到。也可以像这个例子,通过配置gradle下载
MindSpore Lite 体验
要用C++代码实现推理过程,大致流程如下:

  1. 加载模型文件,创建会话,构建推理的计算图
  2. 转换输入图片为Tensor,要和训练时输入数据格式保持一致
  3. 输入数据进行推理,获取输出数据,也是一个Tensor,得进行一些处理,拿到分类的结果。

详细的代码可以点这

运行

连接手机,点击运行,开始build,报了一个错
MindSpore Lite 体验

在C++类MSNetWork中,这个属性被protected修饰,无法被外部的类访问。额,那我就修改这些属性的修饰符为public,虽然这么做不符合封装的思想。。。。
修改之后,成功build,然后就可以在手机上看到一个APP
MindSpore Lite 体验

试运行一下
MindSpore Lite 体验
识别一下键盘。结果为Computerkeyboard的可能性为75.38%,是最高的,可以认为这个物品是键盘。推断时间为36ms,延迟比较低。

相关文章:

猜你喜欢
相关资源
相似解决方案