4.1 K230 CanMV nncase_runtime 模块API手册
前言
概述
此文档介绍CanMV nncase_runtime模块,用于指导开发人员使用MicroPython调用KPU和AI2D模块。
读者对象
本文档(本指南)主要适用于以下人员:
- 技术支持工程师
- 软件开发工程师
缩略词定义
简称 | 说明 |
---|---|
nncase_runtime | k230 nncase runtime包,包含KPU模块和AI2D模块 |
nncase_runtime.kpu | kpu模块 |
nncase_runtime.ai2d | ai2d模块 |
修订记录
文档版本号 | 修改说明 | 修改者 | 日期 |
---|---|---|---|
V1.0 | 初版 | 杨浩琪 | 2023-09-18 |
1. 概述
此文档介绍CanMV nncase_runtime模块,用于指导开发人员使用MicroPython调用KPU和AI2D模块。
2. API描述
2.1 from_numpy
【描述】 从MicroPython中ulab.numpy创建runtime_tensor。
【语法】
runtime_tensor = nncase_runtime.from_numpy(ulab.numpy)
【参数】
参数名称 | 描述 | 输入/输出 |
---|---|---|
ulab.numpy | numpy对象 | 输入 |
【返回值】
返回值 | 描述 |
---|---|
runtime_tensor | 返回创建好的runtime_tensor。 |
其他 | 失败,抛出C++异常。 |
2.2 to_numpy
【描述】
将runtime_tensor转为ulab.numpy。
【语法】
runtime_tensor = kpu.get_output_tensor(0)
result = runtime_tensor.to_numpy()
【参数】
无。
【返回值】
返回值 | 描述 |
---|---|
ulab.numpy | 返回从runtime_tensor转换后的ulab.numpy。 |
其他 | 失败 |
2.3 nncase_runtime.kpu
kpu模块提供调用KPU硬件来完成开发板上推理神经网络模型的基础函数,主要包括加载模型,设置输入数据,执行推理,获 取输出结果等功能。
2.3.1 load_kmodel
【描述】
加载编译生成的kmodel格式的神经网络。
【语法】
load_kmodel(read_bin)
load_kmodel(path)
【参数】
参数名称 | 描述 | 输入/输出 |
---|---|---|
read_bin | kmodel的二进制内容 | 输入 |
path | kmodel的路径 | 输入 |
【返回值】
返回值 | 描述 |
---|---|
无 | 成功。 |
其他 | 失败,抛出C++异常。 |
2.3.2 set_input_tensor
【描述】
设置kmodel推理时的runtime_tensor。
【语法】
set_input_tensor(index, runtime_tensor)
【参数】
参数名称 | 描述 | 输入/输出 |
---|---|---|
index | kmodel的输入索引。 | 输入 |
runtime_tensor | 包含输入数据信息。 | 输入 |
【返回值】
返回值 | 描述 |
---|---|
无 | 成功。 |
其他 | 失败,抛出C++异常。 |