MTK 人工智能生态系统 <一> 简介

0. 简介:

Neuropilot是MTK AI ecosystem的中心。其目标是在终端设备(边缘设备)上运行AI程序,而非在服务器端运行。以此加强私密性和降低网络成本。

Neuropilot是一系列软件工具和API. 借助这些工具,用户可以在MTK设备上开发和部署AI程序。

借助这些工具,用户可以将Tensorflow, Tensorflow Lite, Caffe等格式模型检查,加载和转换为MTK优化过的模型格式。对于Android平台,Neuropilot为NNAPI做了扩展,使得AI程序在MTK设备上有更好的表现。

Neuropilot提供命令行工具组Neuropilot MLKit将模型转换为MTK 量化过的TF Lite模型。

NNAPI添加入NDK,可以在运行神经网络时使用GPU和MDLA内核, 而Neuropilot优化了NNAPI,使之在MTK设备上有更好的表现。

Neuropilot还包含一个模拟器----APU Simulator。

支持在Android操作系统和嵌入式Linux操作系统运行。

1. 总体开发流程如下:

1.1: 总体流程:

A.将训练好的模型(FP32)使用NeuroPilot各种工具进行优化。(MTK也有自己的TOCO工具)

B.加载此优化后的模型进行推理。

1.2. Android平台:

1.2.1: 程序方式:

三种方式选择:

A. Native C方式,使用C++开发,并使用Android NNAPI接口。(此方式比较特殊,直接dlopen libtflite_mtk.so libtflite_mtk_static.so, 从中取出符号 fn_ANeuroPilotTFLite_setInputTensorData等,fn_ANeuroPilotTFLite_invoke, fn_ANeuroPilotTFLite_getTensorCount等直接使用)

B. JNI方式。APP使用JNI方式访问TF Lite的C++版本。

C. Jave原生方式。使用Java版本的TF Lite接口。

1.3. 嵌入式Linux平台:

两种方式:

A. C++应用程序,使用 TF Lite C++ 接口来加载和执行 NN 模型。

B. C++应用程序, 使用Neuron C++ API 来加载和执行一个 NN 模型。

(MTK的Neuro SDK不需要对Tensorflow Lite, NNAPI, Android OS有依赖,可以显著提高模型性能)

Neuro SDK包括一个模型编译器工具,用于生成优化的网络模型格式 .dla,以及一个运行时 API,用于调用编译后的模型

附1:

NNAPI简介。

NNAPI在r17时被加入NDK. 作为底层,可以支撑上层深度学习框架Tensorflow, Caffe等高效完成推理。

对应用程序开发者,Google官方不推荐直接使用NNAPI, 而是只与TF Lite之类的机器学习框架打交道,构建出适用于TF Lite的模型并部署到Andoroid设备上,其余的工作交给TF Lite和NNAPI 完成。

NNAPI 具有机器学习框架的功能,只不过跟 TF Lite 比起来,NNAPI 更加底层,功能有限,没有那么多花哨的东西。不仅如此,NNAPI 还具有 NN Runtime 这个功能强大的执行引擎,能够利用安卓设备上各种 XPU,合理分配计算量,提高运算速度。

TF Lite 与 NNAPI 对接,使 TF Lite 的内部执行调用 NNAPI 完成

google 开源了 TensorFLow Lite,并且在 Android 8.1 版本上为 DSP、GPU、和神经网络芯片等硬件加速器支持了神经网络 API,为了在 Android 移动设备上全面支持 AI 做足了准备.

可以使用TOCO工具将Tensorflow PB模型转换为TF Lite模型。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值