上一期MCX N系列微处理器之NPU使用方法简介中,向给大家介绍了MCX N系列微处理器中的NPU--eIQ Neutron NPU,本期将为大家带来NPU的入门使用方法。
MCUXpresso软件开发套件(简称MCUXpressoSDK)包含了一套全面的软件工具集,并预集成了专为微控制器设计的ML推理引擎:TensorFlow Lite(TFLM)。Neutron库也与TFLM进行了整合,在软件系统中NPU以黑盒子的方式提供给应用层,用户完全不需要关心NPU怎么驱动,直接使用TFLM接口运行模型即可。下表列出了NPU所支持的运算符:
Operator | Operator input type | MCXN947/MCXN548 NPU |
ADD | Float | No |
Uint8(PTQ) | No | |
Int8(PCQ) | Yes | |
AVERAGE_POOL_2D | Float | No |
Uint8(PTQ) | No | |
Int8(PCQ) | Yes | |
CONV_2D | Float | No |
Uint8(PTQ) | No | |
Int8(PCQ) | Yes | |
DEPTHWISE_CONV_2D | Float | No |
Uint8(PTQ) | No | |
Int8(PCQ) | Yes | |
FULLY_CONNECTED | Float | No |
Uint8(PTQ) | No | |
Int8(PCQ) | Yes | |
UNIDIRECTIONAL_SEQUENCE_ LSTM |
Float | No |
Uint8(PTQ) | No | |
Int8(PCQ) | No | |
LOGISTIC (Sigmoid) | Float | No |
Uint8(PTQ) | No | |
Int8(PCQ) | Yes | |
MAX_POOL_2D | Float | No |
Uint8(PTQ) | No | |
Int8(PCQ) | Yes | |
MUL | Float | No |
Uint8(PTQ) | No | |
Int8(PCQ) | No | |
SOFTMAX | Float | No |
Uint8(PTQ) | No | |
Int8(PCQ) | No | |
SVDF | Float | No |
Uint8(PTQ) | No | |
Int8(PCQ) | No |
Note:
•PTQ — Per-tensor quantized (asymmetric 8-bit quantization)
•PCQ — Per-channel quantized (symmetric 8-bit quantization)
更加详细的描述请见 eIQ TensorFlow Lite User's Guide.pdf in middleware/eiq/doc of SDK.
首先从nxp.com中下载并安装MCUXpressoIDE 11.8.1以上版本,在SDKbuilder中下载SDK_2_14_0_FRDM-MCXN947,确保配置middleware中的eIQ,如下图所示:
在MCUXpresso IDE中安装SDK压缩包,安装成功过后在左侧快捷栏中点击‘import SDK examples’, 选择frdm-mcxn947硬件,点击下一步,可以看到SDK自带的示例,其中eiq_examples 中包含以下7个工程:
eIQ examples描述如下:
eIQ example | Description | Hardware requirements |
tflm_cifar10 |
CIFAR10 图像分类演示 |
FRDM-MCXN947 USB type-c cable |
tflm_kws | 关键词检测 |
FRDM-MCXN947 USB type-c cable |
tflm_label_image | 1000类图像分类 |
FRDM-MCXN947 USB type-c cable |
mpp_camera_mobilenet_view_tflm | 基于摄像头的图像分类 |
FRDM-MCXN947 LCD: MikroElektronika TFT Proto 5" OV7670 module USB type-c cable |
mpp_camera_ultraface_view_tflm | 基于摄像头的人脸检测 |
FRDM-MCXN947 LCD: MikroElektronika TFT Proto 5" OV7670 module USB type-c cable |
mpp_camera_view | 摄像头图像预览 |
FRDM-MCXN947 LCD: MikroElektronika TFT Proto 5" OV7670 module USB type-c cable |
tflm_modelrunner | TFLite Model 性能分析示例 |
FRDM-MCXN947 RJ45 Network cable |
PS:示例详细描述见工程目录中的Readme文档
我们以tflm_cifar10为例,导入tflm_cifar10 example, 编译工程,结果如图所示:
连接FRDM-MCXN947开发板的调试接口,点击IDE中的Debug按钮开始调试,打开串口调试工具,链接调试串口,Debug输出如下:
模型在NPU上的推理时间是6ms,分类结果是ship与测试图片相符。
全部0条评论
快来发表一下你的评论吧 !