未验证 提交 9acf5c76 编写于 作者: O openharmony_ci 提交者: Gitee

!18614 master:AI-MindSpore Native API新增接口:无需翻译

Merge pull request !18614 from 葛亚芳/master
# MindSpore # MindSpore
提供MindSpore Lite的模型推理相关接口。 ## 概述
@Syscap SystemCapability.Ai.MindSpore 提供MindSpore Lite的模型推理相关接口。
\@Syscap SystemCapability.Ai.MindSpore
**起始版本:** **起始版本:**
...@@ -17,119 +17,139 @@ ...@@ -17,119 +17,139 @@
### 文件 ### 文件
| 文件名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------------------------------- | ------------------------------------------------------------ |
| [context.h](context_8h.md) | 提供了Context相关的接口,可以配置运行时信息。<br>引用文件:\<mindspore/context.h> | | [context.h](context_8h.md) | 提供了Context相关的接口,可以配置运行时信息。<br>引用文件:\<mindspore/context.h> |
| [data_type.h](data__type_8h.md) | 声明了张量的数据的类型。<br>引用文件:\<mindspore/data_type.h> | | [data_type.h](data__type_8h.md) | 声明了张量的数据的类型。<br>引用文件:\<mindspore/data_type.h> |
| [format.h](format_8h.md) | 提供张量数据的排列格式。<br>引用文件:\<mindspore/format.h> | | [format.h](format_8h.md) | 提供张量数据的排列格式。<br>引用文件:\<mindspore/format.h> |
| [model.h](model_8h.md) | 提供了模型相关接口,可以用于模型创建、模型推理等。<br>引用文件:\<mindspore/model.h> | | [model.h](model_8h.md) | 提供了模型相关接口,可以用于模型创建、模型推理等。<br>引用文件:\<mindspore/model.h> |
| [status.h](status_8h.md) | 提供了Mindspore Lite运行时的状态码。<br>引用文件:\<mindspore/status.h> | | [status.h](status_8h.md) | 提供了Mindspore Lite运行时的状态码。<br>引用文件:\<mindspore/status.h> |
| [tensor.h](tensor_8h.md) | 提供了张量相关的接口,可用于创建和修改张量信息。<br>引用文件:\<mindspore/tensor.h> | | [tensor.h](tensor_8h.md) | 提供了张量相关的接口,可用于创建和修改张量信息。<br>引用文件:\<mindspore/tensor.h> |
| [types.h](types_8h.md) | 提供了MindSpore Lite支持的模型文件类型和设备类型。<br>引用文件:\<mindspore/types.h> | | [types.h](types_8h.md) | 提供了MindSpore Lite支持的模型文件类型和设备类型。<br>引用文件:\<mindspore/types.h> |
### 结构体 ### 结构体
| 结构体名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------------------------------------------------------------ | ---------------------------------------------------- |
| [OH_AI_TensorHandleArray](_o_h___a_i___tensor_handle_array.md) | 张量数组结构体,用于存储张量数组指针和张量数组长度。 | | [OH_AI_TensorHandleArray](_o_h___a_i___tensor_handle_array.md) | 张量数组结构体,用于存储张量数组指针和张量数组长度。 |
| [OH_AI_ShapeInfo](_o_h___a_i___shape_info.md) | 维度信息,最大的维度为**MS_MAX_SHAPE_NUM** | | [OH_AI_ShapeInfo](_o_h___a_i___shape_info.md) | 维度信息,最大的维度为**MS_MAX_SHAPE_NUM** |
| [OH_AI_CallBackParam](_o_h___a_i___call_back_param.md) | 回调函数中传入的算子信息。 | | [OH_AI_CallBackParam](_o_h___a_i___call_back_param.md) | 回调函数中传入的算子信息。 |
### 宏定义 ### 宏定义
| 宏定义名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------------------------------------------------ | -------------------------------------------- |
| [OH_AI_MAX_SHAPE_NUM](#oh_ai_max_shape_num) 32 | 维度信息,最大的维度为**MS_MAX_SHAPE_NUM**。 | | [OH_AI_MAX_SHAPE_NUM](#oh_ai_max_shape_num) 32 | 张量维度的最大值。 |
### 类型定义 ### 类型定义
| 类型定义名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------------------------------------------------------------ | -------------------------------------------------- |
| [OH_AI_ContextHandle](#oh_ai_contexthandle) | Mindspore的上下文信息的指针,该指针会指向Context。 | | [OH_AI_ContextHandle](#oh_ai_contexthandle) | Mindspore的上下文信息的指针,该指针会指向Context。 |
| [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) | Mindspore的运行设备信息的指针。 | | [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) | Mindspore的运行设备信息的指针。 |
| [OH_AI_DataType](#oh_ai_datatype-1) | MSTensor保存的数据支持的类型。 | | [OH_AI_DataType](#oh_ai_datatype) | MSTensor保存的数据支持的类型。 |
| [OH_AI_Format](#oh_ai_format-1) | MSTensor保存的数据支持的排列格式。 | | [OH_AI_Format](#oh_ai_format) | MSTensor保存的数据支持的排列格式。 |
| [OH_AI_ModelHandle](#oh_ai_modelhandle) | 指向模型对象的指针。 | | [OH_AI_ModelHandle](#oh_ai_modelhandle) | 指向模型对象的指针。 |
| [OH_AI_TensorHandleArray](#oh_ai_tensorhandlearray) | 张量数组结构体,用于存储张量数组指针和张量数组长度。 | | [OH_AI_TensorHandleArray](#oh_ai_tensorhandlearray) | 张量数组结构体,用于存储张量数组指针和张量数组长度 |
| [OH_AI_ShapeInfo](_o_h___a_i___shape_info.md) | 维度信息,最大的维度为**MS_MAX_SHAPE_NUM**。 | | [OH_AI_ShapeInfo](_o_h___a_i___shape_info.md) | 维度信息,最大的维度为MS_MAX_SHAPE_NUM。 |
| [OH_AI_CallBackParam](#oh_ai_callbackparam) | 回调函数中传入的算子信息。 | | [OH_AI_CallBackParam](#oh_ai_callbackparam) | 回调函数中传入的算子信息。 |
| [OH_AI_KernelCallBack](#oh_ai_kernelcallback)) (const OH_AI_TensorHandleArray inputs, const OH_AI_TensorHandleArray outputs, const OH_AI_CallBackParam kernel_Info) | 回调函数指针。 | | [OH_AI_KernelCallBack](#oh_ai_kernelcallback)) (const [OH_AI_TensorHandleArray](_o_h___a_i___tensor_handle_array.md) inputs, const [OH_AI_TensorHandleArray](_o_h___a_i___tensor_handle_array.md) outputs, const [OH_AI_CallBackParam](_o_h___a_i___call_back_param.md) kernel_Info) | 回调函数指针。 |
| [OH_AI_Status](#oh_ai_status-1) | Minspore的状态码。 | | [OH_AI_Status](#oh_ai_status) | Minspore的状态码。 |
| [OH_AI_TensorHandle](#oh_ai_tensorhandle) | 指向张量对象句柄。 | | [OH_AI_TensorHandle](#oh_ai_tensorhandle) | 指向张量对象句柄。 |
| [OH_AI_ModelType](#oh_ai_modeltype-1) | 模型文件的类型。 | | [OH_AI_ModelType](#oh_ai_modeltype) | 模型文件的类型。 |
| [OH_AI_DeviceType](#oh_ai_devicetype-1) | 设备类型,该信息。 | | [OH_AI_DeviceType](#oh_ai_devicetype) | 设备类型信息,包含了目前支持的设备类型。 |
| [OH_AI_NNRTDeviceType](#oh_ai_nnrtdevicetype) | NNRT管理的硬件设备类型 |
| [OH_AI_PerformanceMode](#oh_ai_performancemode) | NNRT硬件的工作性能模式 |
| [OH_AI_Priority](#oh_ai_priority) | NNRT推理任务优先级 |
| [NNRTDeviceDesc](#nnrtdevicedesc) | NNRT设备信息描述,包含设备ID,设备名称等信息。 |
### 枚举 ### 枚举
| 枚举名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------------------------------------------------------------ | ---------------------------------------- |
| [OH_AI_DataType](#oh_ai_datatype-1) {<br/>OH_AI_DATATYPE_UNKNOWN = 0,<br/>OH_AI_DATATYPE_OBJECTTYPE_STRING = 12,<br/>OH_AI_DATATYPE_OBJECTTYPE_LIST = 13, <br/>OH_AI_DATATYPE_OBJECTTYPE_TUPLE = 14, <br/>OH_AI_DATATYPE_OBJECTTYPE_TENSOR = 17, <br/>OH_AI_DATATYPE_NUMBERTYPE_BEGIN = 29,<br/>OH_AI_DATATYPE_NUMBERTYPE_BOOL = 30,<br/>OH_AI_DATATYPE_NUMBERTYPE_INT8 = 32, <br/>OH_AI_DATATYPE_NUMBERTYPE_INT16 = 33, <br/>OH_AI_DATATYPE_NUMBERTYPE_INT32 = 34, <br/>OH_AI_DATATYPE_NUMBERTYPE_INT64 = 35, <br/>OH_AI_DATATYPE_NUMBERTYPE_UINT8 = 37, <br/>OH_AI_DATATYPE_NUMBERTYPE_UINT16 = 38,<br/>OH_AI_DATATYPE_NUMBERTYPE_UINT32 = 39, <br/>OH_AI_DATATYPE_NUMBERTYPE_UINT64 = 40, <br/>OH_AI_DATATYPE_NUMBERTYPE_FLOAT16 = 42, <br/>OH_AI_DATATYPE_NUMBERTYPE_FLOAT32 = 43, <br/>OH_AI_DATATYPE_NUMBERTYPE_FLOAT64 = 44,<br/>OH_AI_DATATYPE_NUMBERTYPE_END = 46,<br/>OH_AI_DataTypeInvalid = INT32_MAX } | MSTensor保存的数据支持的类型。 | | [OH_AI_DataType](#oh_ai_datatype-1) {<br/>OH_AI_DATATYPE_UNKNOWN = 0, <br/>OH_AI_DATATYPE_OBJECTTYPE_STRING = 12, <br/>OH_AI_DATATYPE_OBJECTTYPE_LIST = 13, <br/>OH_AI_DATATYPE_OBJECTTYPE_TUPLE = 14,<br/>OH_AI_DATATYPE_OBJECTTYPE_TENSOR = 17, <br/>OH_AI_DATATYPE_NUMBERTYPE_BEGIN = 29,<br/> OH_AI_DATATYPE_NUMBERTYPE_BOOL = 30,<br/> OH_AI_DATATYPE_NUMBERTYPE_INT8 = 32,<br/>OH_AI_DATATYPE_NUMBERTYPE_INT16 = 33, <br/>OH_AI_DATATYPE_NUMBERTYPE_INT32 = 34, <br/>OH_AI_DATATYPE_NUMBERTYPE_INT64 = 35, <br/>OH_AI_DATATYPE_NUMBERTYPE_UINT8 = 37,<br/>OH_AI_DATATYPE_NUMBERTYPE_UINT16 = 38, <br/>OH_AI_DATATYPE_NUMBERTYPE_UINT32 = 39,<br/> OH_AI_DATATYPE_NUMBERTYPE_UINT64 = 40, <br/>OH_AI_DATATYPE_NUMBERTYPE_FLOAT16 = 42,<br/>OH_AI_DATATYPE_NUMBERTYPE_FLOAT32 = 43, <br/>OH_AI_DATATYPE_NUMBERTYPE_FLOAT64 = 44, <br/>OH_AI_DATATYPE_NUMBERTYPE_END = 46,<br/> OH_AI_DataTypeInvalid = INT32_MAX<br/>} | MSTensor保存的数据支持的类型。 |
| [OH_AI_Format](#oh_ai_format-1) {<br/>OH_AI_FORMAT_NCHW = 0,<br/>OH_AI_FORMAT_NHWC = 1,<br/>OH_AI_FORMAT_NHWC4 = 2,<br/>OH_AI_FORMAT_HWKC = 3,<br/>OH_AI_FORMAT_HWCK = 4,<br/>OH_AI_FORMAT_KCHW = 5,<br/>OH_AI_FORMAT_CKHW = 6,<br/>OH_AI_FORMAT_KHWC = 7,<br/>OH_AI_FORMAT_CHWK = 8,<br/>OH_AI_FORMAT_HW = 9,<br/>OH_AI_FORMAT_HW4 = 10,<br/>OH_AI_FORMAT_NC = 11,<br/>OH_AI_FORMAT_NC4 = 12,<br/>OH_AI_FORMAT_NC4HW4 = 13,<br/>OH_AI_FORMAT_NCDHW = 15,<br/>OH_AI_FORMAT_NWC = 16,<br/>OH_AI_FORMAT_NCW = 17 } | MSTensor保存的数据支持的排列格式。 | | [OH_AI_Format](#oh_ai_format-1) {<br/>OH_AI_FORMAT_NCHW = 0,<br/> OH_AI_FORMAT_NHWC = 1, <br/>OH_AI_FORMAT_NHWC4 = 2, <br/>OH_AI_FORMAT_HWKC = 3,<br/>OH_AI_FORMAT_HWCK = 4, <br/>OH_AI_FORMAT_KCHW = 5, <br/>OH_AI_FORMAT_CKHW = 6,<br/> OH_AI_FORMAT_KHWC = 7,<br/>OH_AI_FORMAT_CHWK = 8,<br/> OH_AI_FORMAT_HW = 9, <br/>OH_AI_FORMAT_HW4 = 10,<br/> OH_AI_FORMAT_NC = 11,<br/>OH_AI_FORMAT_NC4 = 12, <br/>OH_AI_FORMAT_NC4HW4 = 13, <br/>OH_AI_FORMAT_NCDHW = 15,<br/> OH_AI_FORMAT_NWC = 16,<br/>OH_AI_FORMAT_NCW = 17<br/>} | MSTensor保存的数据支持的排列格式。 |
| [OH_AI_CompCode](#oh_ai_compcode) {<br/>OH_AI_COMPCODE_CORE = 0x00000000u,<br/>OH_AI_COMPCODE_LITE = 0xF0000000u } | Minspore不同组件的代码、 | | [OH_AI_CompCode](#oh_ai_compcode) { <br/>OH_AI_COMPCODE_CORE = 0x00000000u, <br/>OH_AI_COMPCODE_LITE = 0xF0000000u<br/> } | Minspore不同组件的代码。 |
| [OH_AI_Status](#oh_ai_status-1) {<br/>OH_AI_STATUS_SUCCESS = 0,<br/>OH_AI_STATUS_CORE_FAILED = OH_AI_COMPCODE_CORE \| 0x1, <br/>OH_AI_STATUS_LITE_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -1), <br/>OH_AI_STATUS_LITE_NULLPTR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -2),<br/>OH_AI_STATUS_LITE_PARAM_INVALID = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -3),<br/>OH_AI_STATUS_LITE_NO_CHANGE = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -4),<br/>OH_AI_STATUS_LITE_SUCCESS_EXIT = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -5),<br/>OH_AI_STATUS_LITE_MEMORY_FAILED = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -6),<br/>OH_AI_STATUS_LITE_NOT_SUPPORT = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -7),<br/>OH_AI_STATUS_LITE_THREADPOOL_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -8),<br/>OH_AI_STATUS_LITE_UNINITIALIZED_OBJ = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -9),<br/>OH_AI_STATUS_LITE_OUT_OF_TENSOR_RANGE, <br/>OH_AI_STATUS_LITE_INPUT_TENSOR_ERROR,<br/>OH_AI_STATUS_LITE_REENTRANT_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -102),<br/>OH_AI_STATUS_LITE_GRAPH_FILE_ERROR,<br/>OH_AI_STATUS_LITE_NOT_FIND_OP = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -300), OH_AI_STATUS_LITE_INVALID_OP_NAME = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -301),<br/>OH_AI_STATUS_LITE_INVALID_OP_ATTR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -302),<br/>OH_AI_STATUS_LITE_OP_EXECUTE_FAILURE,<br/>OH_AI_STATUS_LITE_FORMAT_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -400),<br/>OH_AI_STATUS_LITE_INFER_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -500),<br/>OH_AI_STATUS_LITE_INFER_INVALID = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -501),<br/>OH_AI_STATUS_LITE_INPUT_PARAM_INVALID } | Minspore的状态码。 | | [OH_AI_Status](#oh_ai_status-1) {<br/>OH_AI_STATUS_SUCCESS = 0, OH_AI_STATUS_CORE_FAILED = OH_AI_COMPCODE_CORE \| 0x1, OH_AI_STATUS_LITE_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -1), OH_AI_STATUS_LITE_NULLPTR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -2),<br/>OH_AI_STATUS_LITE_PARAM_INVALID = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -3), OH_AI_STATUS_LITE_NO_CHANGE = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -4), OH_AI_STATUS_LITE_SUCCESS_EXIT = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -5), OH_AI_STATUS_LITE_MEMORY_FAILED = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -6),<br/>OH_AI_STATUS_LITE_NOT_SUPPORT = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -7), OH_AI_STATUS_LITE_THREADPOOL_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -8), OH_AI_STATUS_LITE_UNINITIALIZED_OBJ = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -9), OH_AI_STATUS_LITE_OUT_OF_TENSOR_RANGE = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -100),<br/>OH_AI_STATUS_LITE_INPUT_TENSOR_ERROR, OH_AI_STATUS_LITE_REENTRANT_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -102), OH_AI_STATUS_LITE_GRAPH_FILE_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -200), OH_AI_STATUS_LITE_NOT_FIND_OP = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -300),<br/>OH_AI_STATUS_LITE_INVALID_OP_NAME = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -301), OH_AI_STATUS_LITE_INVALID_OP_ATTR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -302), OH_AI_STATUS_LITE_OP_EXECUTE_FAILURE, OH_AI_STATUS_LITE_FORMAT_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -400),<br/>OH_AI_STATUS_LITE_INFER_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -500), OH_AI_STATUS_LITE_INFER_INVALID, OH_AI_STATUS_LITE_INPUT_PARAM_INVALID<br/>} | Minspore的状态码。 |
| [OH_AI_ModelType](#oh_ai_modeltype-1) {<br/>OH_AI_MODELTYPE_MINDIR = 0,<br/>OH_AI_MODELTYPE_INVALID = 0xFFFFFFFF } | 模型文件的类型。 | | [OH_AI_ModelType](#oh_ai_modeltype-1) { <br/>OH_AI_MODELTYPE_MINDIR = 0, <br/>OH_AI_MODELTYPE_INVALID = 0xFFFFFFFF <br/>} | 模型文件的类型。 |
| [OH_AI_DeviceType](#oh_ai_devicetype-1) {<br/>OH_AI_DEVICETYPE_CPU = 0,<br/>OH_AI_DEVICETYPE_KIRIN_GPU,<br/>OH_AI_DEVICETYPE_KIRIN_NPU,<br/>OH_AI_DEVICETYPE_NNRT = 60,<br/>OH_AI_DEVICETYPE_INVALID = 100 } | 设备类型信息,包含了目前支持的设备类型。 | | [OH_AI_DeviceType](#oh_ai_devicetype-1) {<br/>OH_AI_DEVICETYPE_CPU = 0, <br/>OH_AI_DEVICETYPE_GPU, <br/>OH_AI_DEVICETYPE_KIRIN_NPU, <br/>OH_AI_DEVICETYPE_NNRT = 60,<br/>OH_AI_DEVICETYPE_INVALID = 100<br/>} | 设备类型信息,包含了目前支持的设备类型。 |
| [OH_AI_NNRTDeviceType](#oh_ai_nnrtdevicetype-1) { <br/>OH_AI_NNRTDEVICE_OTHERS = 0, <br/>OH_AI_NNRTDEVICE_CPU = 1, <br/>OH_AI_NNRTDEVICE_GPU = 2, <br/>OH_AI_NNRTDEVICE_ACCELERATOR = 3<br/> } | NNRT管理的硬件设备类型。 |
| [OH_AI_PerformanceMode](#oh_ai_performancemode-1) {<br/>OH_AI_PERFORMANCE_NONE = 0, <br/>OH_AI_PERFORMANCE_LOW = 1, <br/>OH_AI_PERFORMANCE_MEDIUM = 2,<br/> OH_AI_PERFORMANCE_HIGH = 3,<br/>OH_AI_PERFORMANCE_EXTREME = 4<br/>} | NNRT硬件的工作性能模式。 |
| [OH_AI_Priority](#oh_ai_priority-1) { <br/>OH_AI_PRIORITY_NONE = 0, <br/>OH_AI_PRIORITY_LOW = 1, <br/>OH_AI_PRIORITY_MEDIUM = 2, <br/>OH_AI_PRIORITY_HIGH = 3 <br/>} | NNRT推理任务优先级。 |
### 函数 ### 函数
| 函数名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------------------------------------------------------------ | ------------------------------------------------------------ |
| [OH_AI_ContextCreate](#oh_ai_contextcreate) () | 创建一个上下文的对象。 | | [OH_AI_ContextCreate](#oh_ai_contextcreate) () | 创建一个上下文的对象。 |
| [OH_AI_ContextDestroy](#oh_ai_contextdestroy) (OH_AI_ContextHandle \*context) | 释放上下文对象。 | | [OH_AI_ContextDestroy](#oh_ai_contextdestroy) ([OH_AI_ContextHandle](#oh_ai_contexthandle) \*context) | 释放上下文对象。 |
| [OH_AI_ContextSetThreadNum](#oh_ai_contextsetthreadnum) (OH_AI_ContextHandle context, int32_t thread_num) | 设置运行时的线程数量。 | | [OH_AI_ContextSetThreadNum](#oh_ai_contextsetthreadnum) ([OH_AI_ContextHandle](#oh_ai_contexthandle) context, int32_t thread_num) | 设置运行时的线程数量。 |
| [OH_AI_ContextGetThreadNum](#oh_ai_contextgetthreadnum) (const OH_AI_ContextHandle context) | 获取线程数量。 | | [OH_AI_ContextGetThreadNum](#oh_ai_contextgetthreadnum) (const [OH_AI_ContextHandle](#oh_ai_contexthandle) context) | 获取线程数量。 |
| [OH_AI_ContextSetThreadAffinityMode](#oh_ai_contextsetthreadaffinitymode) (OH_AI_ContextHandle context, int mode) | 设置运行时线程绑定CPU核心的策略,按照CPU物理核频率分为大、中、小三种类型的核心,并且仅需绑大核或者绑中核,不需要绑小核。 | | [OH_AI_ContextSetThreadAffinityMode](#oh_ai_contextsetthreadaffinitymode) ([OH_AI_ContextHandle](#oh_ai_contexthandle) context, int mode) | 设置运行时线程绑定CPU核心的策略,按照CPU物理核频率分为大、中、小三种类型的核心,并且仅需绑大核或者绑中核,不需要绑小核。 |
| [OH_AI_ContextGetThreadAffinityMode](#oh_ai_contextgetthreadaffinitymode) (const OH_AI_ContextHandle context) | 获取运行时线程绑定CPU核心的策略。 | | [OH_AI_ContextGetThreadAffinityMode](#oh_ai_contextgetthreadaffinitymode) (const [OH_AI_ContextHandle](#oh_ai_contexthandle) context) | 获取运行时线程绑定CPU核心的策略。 |
| [OH_AI_ContextSetThreadAffinityCoreList](#oh_ai_contextsetthreadaffinitycorelist) (OH_AI_ContextHandle context, const int32_t \*core_list, <br/>size_t core_num) | 设置运行时线程绑定CPU核心的列表。 | | [OH_AI_ContextSetThreadAffinityCoreList](#oh_ai_contextsetthreadaffinitycorelist) ([OH_AI_ContextHandle](#oh_ai_contexthandle) context, const int32_t \*core_list, size_t core_num) | 设置运行时线程绑定CPU核心的列表。 |
| [OH_AI_ContextGetThreadAffinityCoreList](#oh_ai_contextgetthreadaffinitycorelist) (const OH_AI_ContextHandle context, size_t \*core_num) | 获取CPU绑核列表。 | | [OH_AI_ContextGetThreadAffinityCoreList](#oh_ai_contextgetthreadaffinitycorelist) (const [OH_AI_ContextHandle](#oh_ai_contexthandle) context, size_t \*core_num) | 获取CPU绑核列表。 |
| [OH_AI_ContextSetEnableParallel](#oh_ai_contextsetenableparallel) (OH_AI_ContextHandle context, bool is_parallel) | 设置运行时是否支持并行。 | | [OH_AI_ContextSetEnableParallel](#oh_ai_contextsetenableparallel) ([OH_AI_ContextHandle](#oh_ai_contexthandle) context, bool is_parallel) | 设置运行时是否支持并行。 |
| [OH_AI_ContextGetEnableParallel](#oh_ai_contextgetenableparallel) (const OH_AI_ContextHandle context) | 获取是否支持算子间并行。 | | [OH_AI_ContextGetEnableParallel](#oh_ai_contextgetenableparallel) (const [OH_AI_ContextHandle](#oh_ai_contexthandle) context) | 获取是否支持算子间并行。 |
| [OH_AI_ContextAddDeviceInfo](#oh_ai_contextadddeviceinfo) (OH_AI_ContextHandle context, OH_AI_DeviceInfoHandle device_info) | 添加运行设备信息。 | | [OH_AI_ContextAddDeviceInfo](#oh_ai_contextadddeviceinfo) ([OH_AI_ContextHandle](#oh_ai_contexthandle) context, [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 添加运行设备信息。 |
| [OH_AI_DeviceInfoCreate](#oh_ai_deviceinfocreate) (OH_AI_DeviceType device_type) | 创建一个设备信息对象。 | | [OH_AI_DeviceInfoCreate](#oh_ai_deviceinfocreate) ([OH_AI_DeviceType](#oh_ai_devicetype) device_type) | 创建一个设备信息对象。 |
| [OH_AI_DeviceInfoDestroy](#oh_ai_deviceinfodestroy) (OH_AI_DeviceInfoHandle \*device_info) | 释放设备信息实例。 | | [OH_AI_DeviceInfoDestroy](#oh_ai_deviceinfodestroy) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) \*device_info) | 释放设备信息实例。 |
| [OH_AI_DeviceInfoSetProvider](#oh_ai_deviceinfosetprovider) (OH_AI_DeviceInfoHandle device_info, const char \*provider) | 设置供应商的名称。 | | [OH_AI_DeviceInfoSetProvider](#oh_ai_deviceinfosetprovider) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info, const char \*provider) | 设置供应商的名称。 |
| [OH_AI_DeviceInfoGetProvider](#oh_ai_deviceinfogetprovider) (const OH_AI_DeviceInfoHandle device_info) | 获取生产商的名称。 | | [OH_AI_DeviceInfoGetProvider](#oh_ai_deviceinfogetprovider) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取生产商的名称。 |
| [OH_AI_DeviceInfoSetProviderDevice](#oh_ai_deviceinfosetproviderdevice) (OH_AI_DeviceInfoHandle device_info, const char \*device) | 设置生产商设备的名称。 | | [OH_AI_DeviceInfoSetProviderDevice](#oh_ai_deviceinfosetproviderdevice) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info, const char \*device) | 设置生产商设备的名称。 |
| [OH_AI_DeviceInfoGetProviderDevice](#oh_ai_deviceinfogetproviderdevice) (const OH_AI_DeviceInfoHandle device_info) | 获取生产商设备的名称。 | | [OH_AI_DeviceInfoGetProviderDevice](#oh_ai_deviceinfogetproviderdevice) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取生产商设备的名称。 |
| [OH_AI_DeviceInfoGetDeviceType](#oh_ai_deviceinfogetdevicetype) (const OH_AI_DeviceInfoHandle device_info) | 获取设备的类型。 | | [OH_AI_DeviceInfoGetDeviceType](#oh_ai_deviceinfogetdevicetype) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取设备的类型。 |
| [OH_AI_DeviceInfoSetEnableFP16](#oh_ai_deviceinfosetenablefp16) (OH_AI_DeviceInfoHandle device_info, bool is_fp16) | 设置是否开启float16推理模式,仅CPU/GPU设备可用。 | | [OH_AI_DeviceInfoSetEnableFP16](#oh_ai_deviceinfosetenablefp16) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info, bool is_fp16) | 设置是否开启float16推理模式,仅CPU/GPU设备可用。 |
| [OH_AI_DeviceInfoGetEnableFP16](#oh_ai_deviceinfogetenablefp16) (const OH_AI_DeviceInfoHandle device_info) | 获取是否开启float16推理模式, 仅CPU/GPU设备可用。 | | [OH_AI_DeviceInfoGetEnableFP16](#oh_ai_deviceinfogetenablefp16) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取是否开启float16推理模式, 仅CPU/GPU设备可用。 |
| [OH_AI_DeviceInfoSetFrequency](#oh_ai_deviceinfosetfrequency) (OH_AI_DeviceInfoHandle device_info, int frequency) | 设置NPU的频率,仅NPU设备可用。 | | [OH_AI_DeviceInfoSetFrequency](#oh_ai_deviceinfosetfrequency) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info, int frequency) | 设置NPU的频率,仅NPU设备可用。 |
| [OH_AI_DeviceInfoGetFrequency](#oh_ai_deviceinfogetfrequency) (const OH_AI_DeviceInfoHandle device_info) | 获取NPU的频率类型,仅NPU设备可用。 | | [OH_AI_DeviceInfoGetFrequency](#oh_ai_deviceinfogetfrequency) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取NPU的频率类型,仅NPU设备可用。 |
| [OH_AI_ModelCreate](#oh_ai_modelcreate) () | 创建一个模型对象。 | | [OH_AI_GetAllNNRTDeviceDescs](#oh_ai_getallnnrtdevicedescs) (size_t \*num) | 获取系统中所有NNRT硬件设备的描述信息。 |
| [OH_AI_ModelDestroy](#oh_ai_modeldestroy) (OH_AI_ModelHandle \*model) | 释放一个模型对象。 | | [OH_AI_DestroyAllNNRTDeviceDescs](#oh_ai_destroyallnnrtdevicedescs) ([NNRTDeviceDesc](#nnrtdevicedesc) \*\*desc) | 销毁从[OH_AI_GetAllNNRTDeviceDescs](#oh_ai_getallnnrtdevicedescs)获取的NNRT描写信息实例数组。 |
| [OH_AI_ModelBuild](#oh_ai_modelbuild) (OH_AI_ModelHandle model, const void \*model_data, size_t data_size, OH_AI_ModelType model_type, const OH_AI_ContextHandle model_context) | 从内存缓冲区加载并编译MindSpore模型。 | | [OH_AI_GetDeviceIdFromNNRTDeviceDesc](#oh_ai_getdeviceidfromnnrtdevicedesc) (const [NNRTDeviceDesc](#nnrtdevicedesc) \*desc) | 从特定的NNRT设备描述信息实例获取NNRT设备ID。注意,此ID只对NNRT有效。 |
| [OH_AI_ModelBuildFromFile](#oh_ai_modelbuildfromfile) (OH_AI_ModelHandle model, const char \*model_path, <br/>OH_AI_ModelType model_type, const OH_AI_ContextHandle model_context) | 通过模型文件加载并编译MindSpore模型。 | | [OH_AI_GetNameFromNNRTDeviceDesc](#oh_ai_getnamefromnnrtdevicedesc) (const [NNRTDeviceDesc](#nnrtdevicedesc) \*desc) | 从特定的NNRT设备描述信息实例获取NNRT设备名称。 |
| [OH_AI_ModelResize](#oh_ai_modelresize) (OH_AI_ModelHandle model, const OH_AI_TensorHandleArray inputs, OH_AI_ShapeInfo \*shape_infos, size_t shape_info_num) | 调整已编译模型的输入形状。 | | [OH_AI_GetTypeFromNNRTDeviceDesc](#oh_ai_gettypefromnnrtdevicedesc) (const [NNRTDeviceDesc](#nnrtdevicedesc) \*desc) | 从特定的NNRT设备描述信息实例获取NNRT设备类型。 |
| [OH_AI_ModelPredict](#oh_ai_modelpredict) (OH_AI_ModelHandle model, const OH_AI_TensorHandleArray inputs, OH_AI_TensorHandleArray \*outputs, const OH_AI_KernelCallBack before, <br/>const OH_AI_KernelCallBack after) | 执行模型推理。 | | [OH_AI_CreateNNRTDeviceInfoByName](#oh_ai_creatennrtdeviceinfobyname) (const char \*name) | 查找指定名称的NNRT设备,根据找到的第一个设备信息,创建NNRT设备信息。 |
| [OH_AI_ModelGetInputs](#oh_ai_modelgetinputs) (const OH_AI_ModelHandle model) | 获取模型的输入张量数组结构体。 | | [OH_AI_CreateNNRTDeviceInfoByType](#oh_ai_creatennrtdeviceinfobytype) ([OH_AI_NNRTDeviceType](#oh_ai_nnrtdevicetype) type) | 查找指定类型的NNRT设备,根据找到的第一个设备信息,创建NNRT设备信息。 |
| [OH_AI_ModelGetOutputs](#oh_ai_modelgetoutputs) (const OH_AI_ModelHandle model) | 获取模型的输出张量数组结构体。 | | [OH_AI_DeviceInfoSetDeviceId](#oh_ai_deviceinfosetdeviceid) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info, size_t device_id) | 设置NNRT设备ID,仅NNRT设备可用。 |
| [OH_AI_ModelGetInputByTensorName](#oh_ai_modelgetinputbytensorname) (const OH_AI_ModelHandle model, const char \*tensor_name) | 通过张量名获取模型的输入张量。 | | [OH_AI_DeviceInfoGetDeviceId](#oh_ai_deviceinfogetdeviceid) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取NNRT设备ID,仅NNRT设备可用。 |
| [OH_AI_ModelGetOutputByTensorName](#oh_ai_modelgetoutputbytensorname) (const OH_AI_ModelHandle model, const char \*tensor_name) | 通过张量名获取模型的输出张量。 | | [OH_AI_DeviceInfoSetPerformanceMode](#oh_ai_deviceinfosetperformancemode) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info, [OH_AI_PerformanceMode](#oh_ai_performancemode) mode) | 设置NNRT性能模式,仅NNRT设备可用。 |
| [OH_AI_TensorCreate](#oh_ai_tensorcreate) (const char \*name, OH_AI_DataType type, const int64_t \*shape, <br/>size_t shape_num, const void \*data, size_t data_len) | 创建一个张量对象。 | | [OH_AI_DeviceInfoGetPerformanceMode](#oh_ai_deviceinfogetperformancemode) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取NNRT性能模式,仅NNRT设备可用。 |
| [OH_AI_TensorDestroy](#oh_ai_tensordestroy) (OH_AI_TensorHandle \*tensor) | 释放张量对象。 | | [OH_AI_DeviceInfoSetPriority](#oh_ai_deviceinfosetpriority) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info, [OH_AI_Priority](#oh_ai_priority) priority) | 设置NNRT任务优先级,仅NNRT设备可用。 |
| [OH_AI_TensorClone](#oh_ai_tensorclone) (OH_AI_TensorHandle tensor) | 深拷贝一个张量。 | | [OH_AI_DeviceInfoGetPriority](#oh_ai_deviceinfogetpriority) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取NNRT任务优先级,仅NNRT设备可用。 |
| [OH_AI_TensorSetName](#oh_ai_tensorsetname) (OH_AI_TensorHandle tensor, const char \*name) | 设置张量的名称。 | | [OH_AI_ModelCreate](#oh_ai_modelcreate) () | 创建一个模型对象。 |
| [OH_AI_TensorGetName](#oh_ai_tensorgetname) (const OH_AI_TensorHandle tensor) | 获取张量的名称。 | | [OH_AI_ModelDestroy](#oh_ai_modeldestroy) ([OH_AI_ModelHandle](#oh_ai_modelhandle) \*model) | 释放一个模型对象。 |
| [OH_AI_TensorSetDataType](#oh_ai_tensorsetdatatype) (OH_AI_TensorHandle tensor, OH_AI_DataType type) | 设置张量的数据类型。 | | [OH_AI_ModelBuild](#oh_ai_modelbuild) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model, const void \*model_data, size_t data_size, [OH_AI_ModelType](#oh_ai_modeltype) model_type, const [OH_AI_ContextHandle](#oh_ai_contexthandle) model_context) | 从内存缓冲区加载并编译MindSpore模型。 |
| [OH_AI_TensorGetDataType](#oh_ai_tensorgetdatatype) (const OH_AI_TensorHandle tensor) | 获取张量类型。 | | [OH_AI_ModelBuildFromFile](#oh_ai_modelbuildfromfile) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model, const char \*model_path, [OH_AI_ModelType](#oh_ai_modeltype) model_type, const [OH_AI_ContextHandle](#oh_ai_contexthandle) model_context) | 通过模型文件加载并编译MindSpore模型。 |
| [OH_AI_TensorSetShape](#oh_ai_tensorsetshape) (OH_AI_TensorHandle tensor, const int64_t \*shape, size_t shape_num) | 设置张量的形状。 | | [OH_AI_ModelResize](#oh_ai_modelresize) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model, const [OH_AI_TensorHandleArray](_o_h___a_i___tensor_handle_array.md) inputs, [OH_AI_ShapeInfo](_o_h___a_i___shape_info.md) \*shape_infos, size_t shape_info_num) | 调整已编译模型的输入形状。 |
| [OH_AI_TensorGetShape](#oh_ai_tensorgetshape) (const OH_AI_TensorHandle tensor, size_t \*shape_num) | 获取张量的形状。 | | [OH_AI_ModelPredict](#oh_ai_modelpredict) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model, const [OH_AI_TensorHandleArray](_o_h___a_i___tensor_handle_array.md) inputs, [OH_AI_TensorHandleArray](_o_h___a_i___tensor_handle_array.md) \*outputs, const [OH_AI_KernelCallBack](#oh_ai_kernelcallback) before, const [OH_AI_KernelCallBack](#oh_ai_kernelcallback) after) | 执行模型推理。 |
| [OH_AI_TensorSetFormat](#oh_ai_tensorsetformat) (OH_AI_TensorHandle tensor, OH_AI_Format format) | 设置张量数据的排列方式。 | | [OH_AI_ModelGetInputs](#oh_ai_modelgetinputs) (const [OH_AI_ModelHandle](#oh_ai_modelhandle) model) | 获取模型的输入张量数组结构体。 |
| [OH_AI_TensorGetFormat](#oh_ai_tensorgetformat) (const OH_AI_TensorHandle tensor) | 获取张量数据的排列方式。 | | [OH_AI_ModelGetOutputs](#oh_ai_modelgetoutputs) (const [OH_AI_ModelHandle](#oh_ai_modelhandle) model) | 获取模型的输出张量数组结构体。 |
| [OH_AI_TensorSetData](#oh_ai_tensorsetdata) (OH_AI_TensorHandle tensor, void \*data) | 设置张量的数据。 | | [OH_AI_ModelGetInputByTensorName](#oh_ai_modelgetinputbytensorname) (const [OH_AI_ModelHandle](#oh_ai_modelhandle) model, const char \*tensor_name) | 通过张量名获取模型的输入张量。 |
| [OH_AI_TensorGetData](#oh_ai_tensorgetdata) (const OH_AI_TensorHandle tensor) | 获取张量数据的指针。 | | [OH_AI_ModelGetOutputByTensorName](#oh_ai_modelgetoutputbytensorname) (const [OH_AI_ModelHandle](#oh_ai_modelhandle) model, const char \*tensor_name) | 通过张量名获取模型的输出张量。 |
| [OH_AI_TensorGetMutableData](#oh_ai_tensorgetmutabledata) (const OH_AI_TensorHandle tensor) | 获取可变的张量数据指针。如果数据为空则会开辟内存。 | | [OH_AI_TensorCreate](#oh_ai_tensorcreate) (const char \*name, [OH_AI_DataType](#oh_ai_datatype) type, const int64_t \*shape, size_t shape_num, const void \*data, size_t data_len) | 创建一个张量对象。 |
| [OH_AI_TensorGetElementNum](#oh_ai_tensorgetelementnum) (const OH_AI_TensorHandle tensor) | 获取张量元素数量。 | | [OH_AI_TensorDestroy](#oh_ai_tensordestroy) ([OH_AI_TensorHandle](#oh_ai_tensorhandle) \*tensor) | 释放张量对象。 |
| [OH_AI_TensorGetDataSize](#oh_ai_tensorgetdatasize) (const OH_AI_TensorHandle tensor) | 获取张量中的数据的字节数大小。 | | [OH_AI_TensorClone](#oh_ai_tensorclone) ([OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 深拷贝一个张量。 |
| [OH_AI_TensorSetName](#oh_ai_tensorsetname) ([OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor, const char \*name) | 设置张量的名称。 |
| [OH_AI_TensorGetName](#oh_ai_tensorgetname) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 获取张量的名称。 |
## **宏定义说明** | [OH_AI_TensorSetDataType](#oh_ai_tensorsetdatatype) ([OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor, [OH_AI_DataType](#oh_ai_datatype) type) | 设置张量的数据类型。 |
| [OH_AI_TensorGetDataType](#oh_ai_tensorgetdatatype) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 获取张量类型。 |
| [OH_AI_TensorSetShape](#oh_ai_tensorsetshape) ([OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor, const int64_t \*shape, size_t shape_num) | 设置张量的形状。 |
| [OH_AI_TensorGetShape](#oh_ai_tensorgetshape) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor, size_t \*shape_num) | 获取张量的形状。 |
| [OH_AI_TensorSetFormat](#oh_ai_tensorsetformat) ([OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor, [OH_AI_Format](#oh_ai_format) format) | 设置张量数据的排列方式。 |
| [OH_AI_TensorGetFormat](#oh_ai_tensorgetformat) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 获取张量数据的排列方式。 |
| [OH_AI_TensorSetData](#oh_ai_tensorsetdata) ([OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor, void \*data) | 设置张量的数据。 |
| [OH_AI_TensorGetData](#oh_ai_tensorgetdata) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 获取张量数据的指针。 |
| [OH_AI_TensorGetMutableData](#oh_ai_tensorgetmutabledata) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 获取可变的张量数据指针。如果数据为空则会开辟内存。 |
| [OH_AI_TensorGetElementNum](#oh_ai_tensorgetelementnum) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 获取张量元素数量。 |
| [OH_AI_TensorGetDataSize](#oh_ai_tensorgetdatasize) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 获取张量中的数据的字节数大小。 |
## 宏定义说明
### OH_AI_MAX_SHAPE_NUM ### OH_AI_MAX_SHAPE_NUM
...@@ -141,10 +161,26 @@ ...@@ -141,10 +161,26 @@
**描述:** **描述:**
维度信息,最大的维度为**MS_MAX_SHAPE_NUM** 张量维度的最大值。
## 类型定义说明
### NNRTDeviceDesc
## **类型定义说明**
```
typedef struct NNRTDeviceDesc NNRTDeviceDesc
```
**描述:**
NNRT设备信息描述,包含设备ID,设备名称等信息。
**起始版本:**
10
### OH_AI_CallBackParam ### OH_AI_CallBackParam
...@@ -254,7 +290,55 @@ typedef enum OH_AI_ModelType OH_AI_ModelType ...@@ -254,7 +290,55 @@ typedef enum OH_AI_ModelType OH_AI_ModelType
**描述:** **描述:**
模型文件的类型 模型文件的类型。
### OH_AI_NNRTDeviceType
```
typedef enum OH_AI_NNRTDeviceType OH_AI_NNRTDeviceType
```
**描述:**
NNRT管理的硬件设备类型。
**起始版本:**
10
### OH_AI_PerformanceMode
```
typedef enum OH_AI_PerformanceMode OH_AI_PerformanceMode
```
**描述:**
NNRT硬件的工作性能模式。
**起始版本:**
10
### OH_AI_Priority
```
typedef enum OH_AI_Priority OH_AI_Priority
```
**描述:**
NNRT推理任务优先级。
**起始版本:**
10
### OH_AI_Status ### OH_AI_Status
...@@ -293,7 +377,7 @@ typedef struct OH_AI_TensorHandleArray OH_AI_TensorHandleArray ...@@ -293,7 +377,7 @@ typedef struct OH_AI_TensorHandleArray OH_AI_TensorHandleArray
张量数组结构体,用于存储张量数组指针和张量数组长度。 张量数组结构体,用于存储张量数组指针和张量数组长度。
## **枚举类型说明** ## 枚举类型说明
### OH_AI_CompCode ### OH_AI_CompCode
...@@ -307,8 +391,8 @@ enum OH_AI_CompCode ...@@ -307,8 +391,8 @@ enum OH_AI_CompCode
Minspore不同组件的代码。 Minspore不同组件的代码。
| 枚举值 | 描述 | | 枚举值 | 描述 |
| -------- | -------- | | ------------------- | --------------------- |
| OH_AI_COMPCODE_CORE | Minspore Core的代码。 | | OH_AI_COMPCODE_CORE | Minspore Core的代码。 |
| OH_AI_COMPCODE_LITE | Minspore Lite的代码。 | | OH_AI_COMPCODE_LITE | Minspore Lite的代码。 |
...@@ -324,28 +408,28 @@ enum OH_AI_DataType ...@@ -324,28 +408,28 @@ enum OH_AI_DataType
MSTensor保存的数据支持的类型。 MSTensor保存的数据支持的类型。
| 枚举值 | 描述 | | 枚举值 | 描述 |
| -------- | -------- | | --------------------------------- | ---------------------- |
| OH_AI_DATATYPE_UNKNOWN | 未知的数据类型。 | | OH_AI_DATATYPE_UNKNOWN | 未知的数据类型。 |
| OH_AI_DATATYPE_OBJECTTYPE_STRING | String数据类型。 | | OH_AI_DATATYPE_OBJECTTYPE_STRING | String数据类型。 |
| OH_AI_DATATYPE_OBJECTTYPE_LIST | List数据类型。 | | OH_AI_DATATYPE_OBJECTTYPE_LIST | List数据类型。 |
| OH_AI_DATATYPE_OBJECTTYPE_TUPLE | Tuple数据类型。 | | OH_AI_DATATYPE_OBJECTTYPE_TUPLE | Tuple数据类型。 |
| OH_AI_DATATYPE_OBJECTTYPE_TENSOR | TensorList数据类型。 | | OH_AI_DATATYPE_OBJECTTYPE_TENSOR | TensorList数据类型。 |
| OH_AI_DATATYPE_NUMBERTYPE_BEGIN | Number类型的起始。 | | OH_AI_DATATYPE_NUMBERTYPE_BEGIN | Number类型的起始。 |
| OH_AI_DATATYPE_NUMBERTYPE_BOOL | Bool数据类型。 | | OH_AI_DATATYPE_NUMBERTYPE_BOOL | Bool数据类型。 |
| OH_AI_DATATYPE_NUMBERTYPE_INT8 | Int8数据类型。 | | OH_AI_DATATYPE_NUMBERTYPE_INT8 | Int8数据类型。 |
| OH_AI_DATATYPE_NUMBERTYPE_INT16 | 表示Int16数据类型。 | | OH_AI_DATATYPE_NUMBERTYPE_INT16 | 表示Int16数据类型。 |
| OH_AI_DATATYPE_NUMBERTYPE_INT32 | 表示Int32数据类型。 | | OH_AI_DATATYPE_NUMBERTYPE_INT32 | 表示Int32数据类型。 |
| OH_AI_DATATYPE_NUMBERTYPE_INT64 | 表示Int64数据类型。 | | OH_AI_DATATYPE_NUMBERTYPE_INT64 | 表示Int64数据类型。 |
| OH_AI_DATATYPE_NUMBERTYPE_UINT8 | 表示UInt8数据类型。 | | OH_AI_DATATYPE_NUMBERTYPE_UINT8 | 表示UInt8数据类型。 |
| OH_AI_DATATYPE_NUMBERTYPE_UINT16 | 表示UInt16数据类型。 | | OH_AI_DATATYPE_NUMBERTYPE_UINT16 | 表示UInt16数据类型。 |
| OH_AI_DATATYPE_NUMBERTYPE_UINT32 | 表示UInt32数据类型。 | | OH_AI_DATATYPE_NUMBERTYPE_UINT32 | 表示UInt32数据类型。 |
| OH_AI_DATATYPE_NUMBERTYPE_UINT64 | 表示UInt64数据类型。 | | OH_AI_DATATYPE_NUMBERTYPE_UINT64 | 表示UInt64数据类型。 |
| OH_AI_DATATYPE_NUMBERTYPE_FLOAT16 | 表示Float16数据类型。 | | OH_AI_DATATYPE_NUMBERTYPE_FLOAT16 | 表示Float16数据类型。 |
| OH_AI_DATATYPE_NUMBERTYPE_FLOAT32 | 表示Float32数据类型。 | | OH_AI_DATATYPE_NUMBERTYPE_FLOAT32 | 表示Float32数据类型。 |
| OH_AI_DATATYPE_NUMBERTYPE_FLOAT64 | 表示Float64数据类型。 | | OH_AI_DATATYPE_NUMBERTYPE_FLOAT64 | 表示Float64数据类型。 |
| OH_AI_DATATYPE_NUMBERTYPE_END | 表示Number类型的结尾。 | | OH_AI_DATATYPE_NUMBERTYPE_END | 表示Number类型的结尾。 |
| OH_AI_DataTypeInvalid | 表示无效的数据类型。 | | OH_AI_DataTypeInvalid | 表示无效的数据类型。 |
### OH_AI_DeviceType ### OH_AI_DeviceType
...@@ -359,13 +443,13 @@ enum OH_AI_DeviceType ...@@ -359,13 +443,13 @@ enum OH_AI_DeviceType
设备类型信息,包含了目前支持的设备类型。 设备类型信息,包含了目前支持的设备类型。
| 枚举值 | 描述 | | 枚举值 | 描述 |
| -------- | -------- | | -------------------------- | --------------------------------------- |
| OH_AI_DEVICETYPE_CPU | 设备类型是CPU。 | | OH_AI_DEVICETYPE_CPU | 设备类型是CPU。 |
| OH_AI_DEVICETYPE_GPU | 设备类型是GPU。预留选项,暂不支持。 | | OH_AI_DEVICETYPE_GPU | 设备类型是GPU。预留选项, 暂不支持。 |
| OH_AI_DEVICETYPE_KIRIN_NPU | 设备类型是麒麟NPU。预留选项,暂不支持。 | | OH_AI_DEVICETYPE_KIRIN_NPU | 设备类型是麒麟NPU。预留选项,暂不支持。 |
| OH_AI_DEVICETYPE_NNRT | 设备类型是NNRt。OHOS设备范围是[60,80)。 | | OH_AI_DEVICETYPE_NNRT | 设备类型是NNRt。OHOS设备范围是[60,80)。 |
| OH_AI_DEVICETYPE_INVALID | 设备类型无效。 | | OH_AI_DEVICETYPE_INVALID | 设备类型无效。 |
### OH_AI_Format ### OH_AI_Format
...@@ -379,25 +463,25 @@ enum OH_AI_Format ...@@ -379,25 +463,25 @@ enum OH_AI_Format
MSTensor保存的数据支持的排列格式。 MSTensor保存的数据支持的排列格式。
| 枚举值 | 描述 | | 枚举值 | 描述 |
| -------- | -------- | | ------------------- | ---------------- |
| OH_AI_FORMAT_NCHW | 表示NCHW排列。 | | OH_AI_FORMAT_NCHW | 表示NCHW排列。 |
| OH_AI_FORMAT_NHWC | 表示NHWC排列。 | | OH_AI_FORMAT_NHWC | 表示NHWC排列。 |
| OH_AI_FORMAT_NHWC4 | 表示NHWC4排列。 | | OH_AI_FORMAT_NHWC4 | 表示NHWC4排列。 |
| OH_AI_FORMAT_HWKC | 表示HWKC排列。 | | OH_AI_FORMAT_HWKC | 表示HWKC排列。 |
| OH_AI_FORMAT_HWCK | 表示HWCK排列。 | | OH_AI_FORMAT_HWCK | 表示HWCK排列。 |
| OH_AI_FORMAT_KCHW | 表示KCHW排列。 | | OH_AI_FORMAT_KCHW | 表示KCHW排列。 |
| OH_AI_FORMAT_CKHW | 表示CKHW排列。 | | OH_AI_FORMAT_CKHW | 表示CKHW排列。 |
| OH_AI_FORMAT_KHWC | 表示KHWC排列。 | | OH_AI_FORMAT_KHWC | 表示KHWC排列。 |
| OH_AI_FORMAT_CHWK | 表示CHWK排列。 | | OH_AI_FORMAT_CHWK | 表示CHWK排列。 |
| OH_AI_FORMAT_HW | 表示HW排列。 | | OH_AI_FORMAT_HW | 表示HW排列。 |
| OH_AI_FORMAT_HW4 | 表示HW4排列。 | | OH_AI_FORMAT_HW4 | 表示HW4排列。 |
| OH_AI_FORMAT_NC | 表示NC排列。 | | OH_AI_FORMAT_NC | 表示NC排列。 |
| OH_AI_FORMAT_NC4 | 表示NC4排列。 | | OH_AI_FORMAT_NC4 | 表示NC4排列。 |
| OH_AI_FORMAT_NC4HW4 | 表示NC4HW4排列。 | | OH_AI_FORMAT_NC4HW4 | 表示NC4HW4排列。 |
| OH_AI_FORMAT_NCDHW | 表示NCDHW排列。 | | OH_AI_FORMAT_NCDHW | 表示NCDHW排列。 |
| OH_AI_FORMAT_NWC | 表示NWC排列。 | | OH_AI_FORMAT_NWC | 表示NWC排列。 |
| OH_AI_FORMAT_NCW | 表示NCW排列。 | | OH_AI_FORMAT_NCW | 表示NCW排列。 |
### OH_AI_ModelType ### OH_AI_ModelType
...@@ -411,10 +495,80 @@ enum OH_AI_ModelType ...@@ -411,10 +495,80 @@ enum OH_AI_ModelType
模型文件的类型。 模型文件的类型。
| 枚举值 | 描述 | | 枚举值 | 描述 |
| -------- | -------- | | ----------------------- | ------------------ |
| OH_AI_MODELTYPE_MINDIR | 模型类型是MindIR。 | | OH_AI_MODELTYPE_MINDIR | 模型类型是MindIR。 |
| OH_AI_MODELTYPE_INVALID | 模型类型无效。 | | OH_AI_MODELTYPE_INVALID | 模型类型无效。 |
### OH_AI_NNRTDeviceType
```
enum OH_AI_NNRTDeviceType
```
**描述:**
NNRT管理的硬件设备类型。
**起始版本**:
10
| 枚举值 | 描述 |
| ---------------------------- | ----------------------------------- |
| OH_AI_NNRTDEVICE_OTHERS | 设备类型不属于以下3种,则属于其它。 |
| OH_AI_NNRTDEVICE_CPU | CPU设备。 |
| OH_AI_NNRTDEVICE_GPU | GPU设备。 |
| OH_AI_NNRTDEVICE_ACCELERATOR | 特定的加速设备。 |
### OH_AI_PerformanceMode
```
enum OH_AI_PerformanceMode
```
**描述:**
NNRT硬件的工作性能模式。
**起始版本**:
10
| 枚举值 | 描述 |
| ------------------------- | ------------------- |
| OH_AI_PERFORMANCE_NONE | 无特殊设置。 |
| OH_AI_PERFORMANCE_LOW | 低功耗模式。 |
| OH_AI_PERFORMANCE_MEDIUM | 功耗-性能均衡模式。 |
| OH_AI_PERFORMANCE_HIGH | 高性能模式。 |
| OH_AI_PERFORMANCE_EXTREME | 极致性能模式。 |
### OH_AI_Priority
```
enum OH_AI_Priority
```
**描述:**
NNRT推理任务优先级。
**起始版本**:
10
| 枚举值 | 描述 |
| --------------------- | -------------- |
| OH_AI_PRIORITY_NONE | 无优先级偏好。 |
| OH_AI_PRIORITY_LOW | 低优先级任务。 |
| OH_AI_PRIORITY_MEDIUM | 中优先级任务。 |
| OH_AI_PRIORITY_HIGH | 高优先级。 |
### OH_AI_Status ### OH_AI_Status
...@@ -428,34 +582,33 @@ enum OH_AI_Status ...@@ -428,34 +582,33 @@ enum OH_AI_Status
Minspore的状态码。 Minspore的状态码。
| 枚举值 | 描述 | | 枚举值 | 描述 |
| -------- | -------- | | ------------------------------------- | ----------------------------------------- |
| OH_AI_STATUS_SUCCESS | 通用的成功状态码。 | | OH_AI_STATUS_SUCCESS | 通用的成功状态码。 |
| OH_AI_STATUS_CORE_FAILED | Mindspore Core 失败状态码。 | | OH_AI_STATUS_CORE_FAILED | Mindspore Core 失败状态码。 |
| OH_AI_STATUS_LITE_ERROR | Mindspore Lite 异常状态码。 | | OH_AI_STATUS_LITE_ERROR | Mindspore Lite 异常状态码。 |
| OH_AI_STATUS_LITE_NULLPTR | Mindspore Lite 空指针状态码。 | | OH_AI_STATUS_LITE_NULLPTR | Mindspore Lite 空指针状态码。 |
| OH_AI_STATUS_LITE_PARAM_INVALID | Mindspore Lite 参数异常状态码。 | | OH_AI_STATUS_LITE_PARAM_INVALID | Mindspore Lite 参数异常状态码。 |
| OH_AI_STATUS_LITE_NO_CHANGE | Mindspore Lite 未改变状态码。 | | OH_AI_STATUS_LITE_NO_CHANGE | Mindspore Lite 未改变状态码。 |
| OH_AI_STATUS_LITE_SUCCESS_EXIT | Mindspore Lite 没有错误但是退出的状态码。 | | OH_AI_STATUS_LITE_SUCCESS_EXIT | Mindspore Lite 没有错误但是退出的状态码。 |
| OH_AI_STATUS_LITE_MEMORY_FAILED | Mindspore Lite 内存分配失败的状态码。 | | OH_AI_STATUS_LITE_MEMORY_FAILED | Mindspore Lite 内存分配失败的状态码。 |
| OH_AI_STATUS_LITE_NOT_SUPPORT | Mindspore Lite 功能未支持的状态码。 | | OH_AI_STATUS_LITE_NOT_SUPPORT | Mindspore Lite 功能未支持的状态码。 |
| OH_AI_STATUS_LITE_THREADPOOL_ERROR | Mindspore Lite 线程池异常状态码。 | | OH_AI_STATUS_LITE_THREADPOOL_ERROR | Mindspore Lite 线程池异常状态码。 |
| OH_AI_STATUS_LITE_UNINITIALIZED_OBJ | Mindspore Lite 未初始化状态码。 | | OH_AI_STATUS_LITE_UNINITIALIZED_OBJ | Mindspore Lite 未初始化状态码。 |
| OH_AI_STATUS_LITE_OUT_OF_TENSOR_RANGE | Mindspore Lite 张量溢出错误的状态码。 | | OH_AI_STATUS_LITE_OUT_OF_TENSOR_RANGE | Mindspore Lite 张量溢出错误的状态码。 |
| OH_AI_STATUS_LITE_INPUT_TENSOR_ERROR | Mindspore Lite 输入张量异常的状态码。 | | OH_AI_STATUS_LITE_INPUT_TENSOR_ERROR | Mindspore Lite 输入张量异常的状态码。 |
| OH_AI_STATUS_LITE_REENTRANT_ERROR | Mindspore Lite 重入异常的状态码。 | | OH_AI_STATUS_LITE_REENTRANT_ERROR | Mindspore Lite 重入异常的状态码。 |
| OH_AI_STATUS_LITE_GRAPH_FILE_ERROR | Mindspore Lite 文件异常状态码。 | | OH_AI_STATUS_LITE_GRAPH_FILE_ERROR | Mindspore Lite 文件异常状态码。 |
| OH_AI_STATUS_LITE_NOT_FIND_OP | Mindspore Lite 未找到算子的状态码。 | | OH_AI_STATUS_LITE_NOT_FIND_OP | Mindspore Lite 未找到算子的状态码。 |
| OH_AI_STATUS_LITE_INVALID_OP_NAME | Mindspore Lite 无效算子状态码。 | | OH_AI_STATUS_LITE_INVALID_OP_NAME | Mindspore Lite 无效算子状态码。 |
| OH_AI_STATUS_LITE_INVALID_OP_ATTR | Mindspore Lite 无效算子超参数状态码。 | | OH_AI_STATUS_LITE_INVALID_OP_ATTR | Mindspore Lite 无效算子超参数状态码。 |
| OH_AI_STATUS_LITE_OP_EXECUTE_FAILURE | Mindspore Lite 算子执行失败的状态码。 | | OH_AI_STATUS_LITE_OP_EXECUTE_FAILURE | Mindspore Lite 算子执行失败的状态码。 |
| OH_AI_STATUS_LITE_FORMAT_ERROR | Mindspore Lite 张量格式异常状态码。 | | OH_AI_STATUS_LITE_FORMAT_ERROR | Mindspore Lite 张量格式异常状态码。 |
| OH_AI_STATUS_LITE_INFER_ERROR | Mindspore Lite 形状推理异常状态码。 | | OH_AI_STATUS_LITE_INFER_ERROR | Mindspore Lite 形状推理异常状态码。 |
| OH_AI_STATUS_LITE_INFER_INVALID | Mindspore Lite 无效的形状推理的状态码。 | | OH_AI_STATUS_LITE_INFER_INVALID | Mindspore Lite 无效的形状推理的状态码。 |
| OH_AI_STATUS_LITE_INPUT_PARAM_INVALID | Mindspore Lite 用户输入的参数无效状态码。 | | OH_AI_STATUS_LITE_INPUT_PARAM_INVALID | Mindspore Lite 用户输入的参数无效状态码。 |
## 函数说明
## **函数说明**
### OH_AI_ContextAddDeviceInfo() ### OH_AI_ContextAddDeviceInfo()
...@@ -471,9 +624,9 @@ OH_AI_API void OH_AI_ContextAddDeviceInfo (OH_AI_ContextHandle context, OH_AI_De ...@@ -471,9 +624,9 @@ OH_AI_API void OH_AI_ContextAddDeviceInfo (OH_AI_ContextHandle context, OH_AI_De
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | | context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | | device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
...@@ -506,8 +659,8 @@ OH_AI_API void OH_AI_ContextDestroy (OH_AI_ContextHandle * context) ...@@ -506,8 +659,8 @@ OH_AI_API void OH_AI_ContextDestroy (OH_AI_ContextHandle * context)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------- | ------------------------------------------------------------ |
| context | 指向[OH_AI_ContextHandle](#oh_ai_contexthandle)的二级指针,上下文销毁后会对context置为空指针。 | | context | 指向[OH_AI_ContextHandle](#oh_ai_contexthandle)的二级指针,上下文销毁后会对context置为空指针。 |
...@@ -524,8 +677,8 @@ OH_AI_API bool OH_AI_ContextGetEnableParallel (const OH_AI_ContextHandle context ...@@ -524,8 +677,8 @@ OH_AI_API bool OH_AI_ContextGetEnableParallel (const OH_AI_ContextHandle context
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------- | ------------------------------------------------------------ |
| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | | context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 |
**返回:** **返回:**
...@@ -546,10 +699,10 @@ OH_AI_API const int32_t* OH_AI_ContextGetThreadAffinityCoreList (const OH_AI_Con ...@@ -546,10 +699,10 @@ OH_AI_API const int32_t* OH_AI_ContextGetThreadAffinityCoreList (const OH_AI_Con
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | ------------------------------------------------------------ |
| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | | context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 |
| core_num | 该参数是输出参数,表示核的数量。 | | core_num | 该参数是输出参数,表示核的数量。 |
**返回:** **返回:**
...@@ -569,13 +722,13 @@ OH_AI_API int OH_AI_ContextGetThreadAffinityMode (const OH_AI_ContextHandle cont ...@@ -569,13 +722,13 @@ OH_AI_API int OH_AI_ContextGetThreadAffinityMode (const OH_AI_ContextHandle cont
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------- | ------------------------------------------------------------ |
| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | | context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 |
**返回:** **返回:**
绑核策略。一共有三种策略,0为不绑核, 1为大核优先, 2为核优先。 绑核策略。一共有三种策略,0为不绑核, 1为大核优先, 2为核优先。
### OH_AI_ContextGetThreadNum() ### OH_AI_ContextGetThreadNum()
...@@ -591,8 +744,8 @@ OH_AI_API int32_t OH_AI_ContextGetThreadNum (const OH_AI_ContextHandle context) ...@@ -591,8 +744,8 @@ OH_AI_API int32_t OH_AI_ContextGetThreadNum (const OH_AI_ContextHandle context)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------- | ------------------------------------------------------------ |
| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | | context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 |
**返回:** **返回:**
...@@ -613,10 +766,10 @@ OH_AI_API void OH_AI_ContextSetEnableParallel (OH_AI_ContextHandle context, bool ...@@ -613,10 +766,10 @@ OH_AI_API void OH_AI_ContextSetEnableParallel (OH_AI_ContextHandle context, bool
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | | context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 |
| is_parallel | 是否支持并行。true 为支持并行, false 为不支持并行。 | | is_parallel | 是否支持并行。true 为支持并行, false 为不支持并行。 |
### OH_AI_ContextSetThreadAffinityCoreList() ### OH_AI_ContextSetThreadAffinityCoreList()
...@@ -634,11 +787,11 @@ OH_AI_API void OH_AI_ContextSetThreadAffinityCoreList (OH_AI_ContextHandle conte ...@@ -634,11 +787,11 @@ OH_AI_API void OH_AI_ContextSetThreadAffinityCoreList (OH_AI_ContextHandle conte
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | --------- | ------------------------------------------------------------ |
| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | | context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 |
| core_list | CPU绑核的列表。 | | core_list | CPU绑核的列表。 |
| core_num | 核的数量,它就代表**core_list**的长度。 | | core_num | 核的数量,它就代表**core_list**的长度。 |
### OH_AI_ContextSetThreadAffinityMode() ### OH_AI_ContextSetThreadAffinityMode()
...@@ -654,10 +807,10 @@ OH_AI_API void OH_AI_ContextSetThreadAffinityMode (OH_AI_ContextHandle context, ...@@ -654,10 +807,10 @@ OH_AI_API void OH_AI_ContextSetThreadAffinityMode (OH_AI_ContextHandle context,
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------- | ------------------------------------------------------------ |
| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | | context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 |
| mode | 绑核策略。一共有三种策略,0为不绑核, 1为大核优先, 2为中核优先。 | | mode | 绑核策略。一共有三种策略,0为不绑核, 1为大核优先, 2为中核优先。 |
### OH_AI_ContextSetThreadNum() ### OH_AI_ContextSetThreadNum()
...@@ -673,10 +826,84 @@ OH_AI_API void OH_AI_ContextSetThreadNum (OH_AI_ContextHandle context, int32_t t ...@@ -673,10 +826,84 @@ OH_AI_API void OH_AI_ContextSetThreadNum (OH_AI_ContextHandle context, int32_t t
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ---------- | ------------------------------------------------------------ |
| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle) | | context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle) |
| thread_num | 运行时的线程数量。 | | thread_num | 运行时的线程数量。 |
### OH_AI_CreateNNRTDeviceInfoByName()
```
OH_AI_API OH_AI_DeviceInfoHandle OH_AI_CreateNNRTDeviceInfoByName (const char * name)
```
**描述:**
查找指定名称的NNRT设备,根据找到的第一个设备信息,创建NNRT设备信息。
**参数:**
| 名称 | 描述 |
| ---- | ---------------- |
| name | 目标NNRT设备名。 |
**返回:**
指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)
**起始版本:**
10
### OH_AI_CreateNNRTDeviceInfoByType()
```
OH_AI_API OH_AI_DeviceInfoHandle OH_AI_CreateNNRTDeviceInfoByType (OH_AI_NNRTDeviceType type)
```
**描述:**
查找指定类型的NNRT设备,根据找到的第一个设备信息,创建NNRT设备信息。
**参数:**
| 名称 | 描述 |
| ---- | ------------------------------------------------------------ |
| type | [OH_AI_NNRTDeviceType](#oh_ai_nnrtdevicetype) 目标NNRT设备类型。 |
**返回:**
指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)
**起始版本:**
10
### OH_AI_DestroyAllNNRTDeviceDescs()
```
OH_AI_API void OH_AI_DestroyAllNNRTDeviceDescs (NNRTDeviceDesc ** desc)
```
**描述:**
销毁从[OH_AI_GetAllNNRTDeviceDescs](#oh_ai_getallnnrtdevicedescs)获取的NNRT描写信息实例数组。
**参数:**
| 名称 | 描述 |
| ---- | ------------------------------------------------------------ |
| desc | 指向NNRT设备描述信息实例数组的二重指针。销毁结束,desc指向内容会被置为NULL。 |
**起始版本:**
10
### OH_AI_DeviceInfoCreate() ### OH_AI_DeviceInfoCreate()
...@@ -692,9 +919,9 @@ OH_AI_API OH_AI_DeviceInfoHandle OH_AI_DeviceInfoCreate (OH_AI_DeviceType device ...@@ -692,9 +919,9 @@ OH_AI_API OH_AI_DeviceInfoHandle OH_AI_DeviceInfoCreate (OH_AI_DeviceType device
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------- |
| device_type | 设备类型, 具体见[OH_AI_DeviceType](#oh_ai_devicetype-1)。 | | device_type | 设备类型, 具体见[OH_AI_DeviceType](#oh_ai_devicetype)。 |
**返回:** **返回:**
...@@ -714,10 +941,36 @@ OH_AI_API void OH_AI_DeviceInfoDestroy (OH_AI_DeviceInfoHandle * device_info) ...@@ -714,10 +941,36 @@ OH_AI_API void OH_AI_DeviceInfoDestroy (OH_AI_DeviceInfoHandle * device_info)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
### OH_AI_DeviceInfoGetDeviceId()
```
OH_AI_API size_t OH_AI_DeviceInfoGetDeviceId (const OH_AI_DeviceInfoHandle device_info)
```
**描述:**
获取NNRT设备ID,仅NNRT设备可用。
**参数:**
| 名称 | 描述 |
| ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | | device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
**返回:**
NNRT设备ID。
**起始版本:**
10
### OH_AI_DeviceInfoGetDeviceType() ### OH_AI_DeviceInfoGetDeviceType()
...@@ -732,8 +985,8 @@ OH_AI_API OH_AI_DeviceType OH_AI_DeviceInfoGetDeviceType (const OH_AI_DeviceInfo ...@@ -732,8 +985,8 @@ OH_AI_API OH_AI_DeviceType OH_AI_DeviceInfoGetDeviceType (const OH_AI_DeviceInfo
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | | device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
**返回:** **返回:**
...@@ -754,8 +1007,8 @@ OH_AI_API bool OH_AI_DeviceInfoGetEnableFP16 (const OH_AI_DeviceInfoHandle devic ...@@ -754,8 +1007,8 @@ OH_AI_API bool OH_AI_DeviceInfoGetEnableFP16 (const OH_AI_DeviceInfoHandle devic
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | | device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
**返回:** **返回:**
...@@ -776,8 +1029,8 @@ OH_AI_API int OH_AI_DeviceInfoGetFrequency (const OH_AI_DeviceInfoHandle device_ ...@@ -776,8 +1029,8 @@ OH_AI_API int OH_AI_DeviceInfoGetFrequency (const OH_AI_DeviceInfoHandle device_
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | | device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
**返回:** **返回:**
...@@ -785,6 +1038,58 @@ OH_AI_API int OH_AI_DeviceInfoGetFrequency (const OH_AI_DeviceInfoHandle device_ ...@@ -785,6 +1038,58 @@ OH_AI_API int OH_AI_DeviceInfoGetFrequency (const OH_AI_DeviceInfoHandle device_
NPU的频率类型。取值范围为0-4,1表示低功耗,2表示平衡,3表示高性能,4表示超高性能。 NPU的频率类型。取值范围为0-4,1表示低功耗,2表示平衡,3表示高性能,4表示超高性能。
### OH_AI_DeviceInfoGetPerformanceMode()
```
OH_AI_API OH_AI_PerformanceMode OH_AI_DeviceInfoGetPerformanceMode (const OH_AI_DeviceInfoHandle device_info)
```
**描述:**
获取NNRT性能模式,仅NNRT设备可用。
**参数:**
| 名称 | 描述 |
| ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
**返回:**
[OH_AI_PerformanceMode](#oh_ai_performancemode) NNRT性能模式。
**起始版本:**
10
### OH_AI_DeviceInfoGetPriority()
```
OH_AI_API OH_AI_Priority OH_AI_DeviceInfoGetPriority (const OH_AI_DeviceInfoHandle device_info)
```
**描述:**
获取NNRT任务优先级,仅NNRT设备可用。
**参数:**
| 名称 | 描述 |
| ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
**返回:**
[OH_AI_Priority](#oh_ai_priority) NNRT任务优先级。
**起始版本:**
10
### OH_AI_DeviceInfoGetProvider() ### OH_AI_DeviceInfoGetProvider()
...@@ -798,8 +1103,8 @@ OH_AI_API const char* OH_AI_DeviceInfoGetProvider (const OH_AI_DeviceInfoHandle ...@@ -798,8 +1103,8 @@ OH_AI_API const char* OH_AI_DeviceInfoGetProvider (const OH_AI_DeviceInfoHandle
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | | device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
**返回:** **返回:**
...@@ -820,8 +1125,8 @@ OH_AI_API const char* OH_AI_DeviceInfoGetProviderDevice (const OH_AI_DeviceInfoH ...@@ -820,8 +1125,8 @@ OH_AI_API const char* OH_AI_DeviceInfoGetProviderDevice (const OH_AI_DeviceInfoH
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | | device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
**返回:** **返回:**
...@@ -829,6 +1134,29 @@ OH_AI_API const char* OH_AI_DeviceInfoGetProviderDevice (const OH_AI_DeviceInfoH ...@@ -829,6 +1134,29 @@ OH_AI_API const char* OH_AI_DeviceInfoGetProviderDevice (const OH_AI_DeviceInfoH
生产商设备的名称。 生产商设备的名称。
### OH_AI_DeviceInfoSetDeviceId()
```
OH_AI_API void OH_AI_DeviceInfoSetDeviceId (OH_AI_DeviceInfoHandle device_info, size_t device_id )
```
**描述:**
设置NNRT设备ID,仅NNRT设备可用。
**参数:**
| 名称 | 描述 |
| ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
| device_id | NNRT设备ID。 |
**起始版本:**
10
### OH_AI_DeviceInfoSetEnableFP16() ### OH_AI_DeviceInfoSetEnableFP16()
...@@ -842,10 +1170,10 @@ OH_AI_API void OH_AI_DeviceInfoSetEnableFP16 (OH_AI_DeviceInfoHandle device_info ...@@ -842,10 +1170,10 @@ OH_AI_API void OH_AI_DeviceInfoSetEnableFP16 (OH_AI_DeviceInfoHandle device_info
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | | device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
| is_fp16 | 是否开启float16推理模式。 | | is_fp16 | 是否开启float16推理模式。 |
### OH_AI_DeviceInfoSetFrequency() ### OH_AI_DeviceInfoSetFrequency()
...@@ -861,10 +1189,56 @@ OH_AI_API void OH_AI_DeviceInfoSetFrequency (OH_AI_DeviceInfoHandle device_info, ...@@ -861,10 +1189,56 @@ OH_AI_API void OH_AI_DeviceInfoSetFrequency (OH_AI_DeviceInfoHandle device_info,
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
| frequency | 频率类型,取值范围为0-4,默认是3。1表示低功耗,2表示平衡,3表示高性能,4表示超高性能。 |
### OH_AI_DeviceInfoSetPerformanceMode()
```
OH_AI_API void OH_AI_DeviceInfoSetPerformanceMode (OH_AI_DeviceInfoHandle device_info, OH_AI_PerformanceMode mode )
```
**描述:**
设置NNRT性能模式,仅NNRT设备可用。
**参数:**
| 名称 | 描述 |
| ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | | device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
| frequency | 频率类型,取值范围为0-4,默认是3。1表示低功耗,2表示平衡,3表示高性能,4表示超高性能。 | | mode | [OH_AI_PerformanceMode](#oh_ai_performancemode) NNRT性能模式。 |
**起始版本**
10
### OH_AI_DeviceInfoSetPriority()
```
OH_AI_API void OH_AI_DeviceInfoSetPriority (OH_AI_DeviceInfoHandle device_info, OH_AI_Priority priority )
```
**描述:**
设置NNRT任务优先级,仅NNRT设备可用。
**参数:**
| 名称 | 描述 |
| ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
| priority | [OH_AI_Priority](#oh_ai_priority) NNRT任务优先级。 |
**起始版本:**
10
### OH_AI_DeviceInfoSetProvider() ### OH_AI_DeviceInfoSetProvider()
...@@ -880,10 +1254,10 @@ OH_AI_API void OH_AI_DeviceInfoSetProvider (OH_AI_DeviceInfoHandle device_info, ...@@ -880,10 +1254,10 @@ OH_AI_API void OH_AI_DeviceInfoSetProvider (OH_AI_DeviceInfoHandle device_info,
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | | device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
| provider | 供应商的名称。 | | provider | 供应商的名称。 |
### OH_AI_DeviceInfoSetProviderDevice() ### OH_AI_DeviceInfoSetProviderDevice()
...@@ -899,10 +1273,114 @@ OH_AI_API void OH_AI_DeviceInfoSetProviderDevice (OH_AI_DeviceInfoHandle device_ ...@@ -899,10 +1273,114 @@ OH_AI_API void OH_AI_DeviceInfoSetProviderDevice (OH_AI_DeviceInfoHandle device_
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | ------------------------------------------------------------ |
| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | | device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 |
| device | 生产商设备名称。 例如: CPU。 | | device | 生产商设备名称。例如: CPU。 |
### OH_AI_GetAllNNRTDeviceDescs()
```
OH_AI_API NNRTDeviceDesc* OH_AI_GetAllNNRTDeviceDescs (size_t * num)
```
**描述:**
获取系统中所有NNRT硬件设备的描述信息。
**参数:**
| 名称 | 描述 |
| ---- | ------------------------ |
| num | 输出参数,返回设备数量。 |
**返回:**
指向NNRT设备描述信息实例数组的指针。当获取失败时,返回NULL。
**起始版本:**
10
### OH_AI_GetDeviceIdFromNNRTDeviceDesc()
```
OH_AI_API size_t OH_AI_GetDeviceIdFromNNRTDeviceDesc (const NNRTDeviceDesc * desc)
```
**描述:**
从特定的NNRT设备描述信息实例获取NNRT设备ID。注意,此ID只对NNRT有效。
**参数:**
| 名称 | 描述 |
| ---- | -------------------------------- |
| desc | 指向NNRT设备描述信息实例的指针。 |
**返回:**
NNRT设备ID。
**起始版本:**
10
### OH_AI_GetNameFromNNRTDeviceDesc()
```
OH_AI_API const char* OH_AI_GetNameFromNNRTDeviceDesc (const NNRTDeviceDesc * desc)
```
**描述:**
从特定的NNRT设备描述信息实例获取NNRT设备名称。
**参数:**
| 名称 | 描述 |
| ---- | -------------------------------- |
| desc | 指向NNRT设备描述信息实例的指针。 |
**返回:**
NNRT设备名称,指向一个常量字符串的指针,该常量字符串由desc持有,调用者无需单独释放此指针。
**起始版本:**
10
### OH_AI_GetTypeFromNNRTDeviceDesc()
```
OH_AI_API OH_AI_NNRTDeviceType OH_AI_GetTypeFromNNRTDeviceDesc (const NNRTDeviceDesc * desc)
```
**描述:**
从特定的NNRT设备描述信息实例获取NNRT设备类型。
**参数:**
| 名称 | 描述 |
| ---- | -------------------------------- |
| desc | 指向NNRT设备描述信息实例的指针。 |
**返回:**
[OH_AI_NNRTDeviceType](#oh_ai_nnrtdevicetype) NNRT设备类型。
**起始版本:**
10
### OH_AI_ModelBuild() ### OH_AI_ModelBuild()
...@@ -914,17 +1392,18 @@ OH_AI_API OH_AI_Status OH_AI_ModelBuild (OH_AI_ModelHandle model, const void * m ...@@ -914,17 +1392,18 @@ OH_AI_API OH_AI_Status OH_AI_ModelBuild (OH_AI_ModelHandle model, const void * m
**描述:** **描述:**
从内存缓冲区加载并编译MindSpore模型。 从内存缓冲区加载并编译MindSpore模型。
注意,同一个[OH_AI_ContextHandle](#oh_ai_contexthandle)对象仅能传递给[OH_AI_ModelBuildFromFile](#oh_ai_modelbuildfromfile)或者[OH_AI_ModelBuild](#oh_ai_modelbuild)一次,如果多次调用该函数需要创建多个不同的[OH_AI_ContextHandle](#oh_ai_contexthandle)
注意,同一个[OH_AI_ContextHandle](#oh_ai_contexthandle)对象仅能传递给[OH_AI_ModelBuild](#oh_ai_modelbuild)或者[OH_AI_ModelBuildFromFile](#oh_ai_modelbuildfromfile)一次, 如果多次调用该函数需要创建多个不同的[OH_AI_ContextHandle](#oh_ai_contexthandle)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------------- | ------------------------------------------------------------ |
| model | 模型对象指针。 | | model | 模型对象指针。 |
| model_data | 内存中已经加载的模型数据地址。 | | model_data | 内存中已经加载的模型数据地址。 |
| data_size | 模型数据的长度。 | | data_size | 模型数据的长度。 |
| model_type | 模型文件类型,具体见[OH_AI_ModelType](#oh_ai_modeltype-1) | | model_type | 模型文件类型,具体见[OH_AI_ModelType](#oh_ai_modeltype) |
| model_context | 模型运行时的上下文环境,具体见 [OH_AI_ContextHandle](#oh_ai_contexthandle)。 | | model_context | 模型运行时的上下文环境,具体见 [OH_AI_ContextHandle](#oh_ai_contexthandle)。 |
**返回:** **返回:**
...@@ -942,15 +1421,16 @@ OH_AI_API OH_AI_Status OH_AI_ModelBuildFromFile (OH_AI_ModelHandle model, const ...@@ -942,15 +1421,16 @@ OH_AI_API OH_AI_Status OH_AI_ModelBuildFromFile (OH_AI_ModelHandle model, const
**描述:** **描述:**
通过模型文件加载并编译MindSpore模型。 通过模型文件加载并编译MindSpore模型。
注意,同一个[OH_AI_ContextHandle](#oh_ai_contexthandle)对象仅能传递给[OH_AI_ModelBuildFromFile](#oh_ai_modelbuildfromfile)或者[OH_AI_ModelBuild](#oh_ai_modelbuild)一次,如果多次调用该函数需要创建多个不同的[OH_AI_ContextHandle](#oh_ai_contexthandle)
注意,同一个[OH_AI_ContextHandle](#oh_ai_contexthandle)对象仅能传递给[OH_AI_ModelBuild](#oh_ai_modelbuild)或者[OH_AI_ModelBuildFromFile](#oh_ai_modelbuildfromfile)一次, 如果多次调用该函数需要创建多个不同的[OH_AI_ContextHandle](#oh_ai_contexthandle)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------------- | ------------------------------------------------------------ |
| model | 模型对象指针。 | | model | 模型对象指针。 |
| model_path | 模型文件路径。 | | model_path | 模型文件路径。 |
| model_type | 模型文件类型,具体见[OH_AI_ModelType](#oh_ai_modeltype-1) | | model_type | 模型文件类型,具体见[OH_AI_ModelType](#oh_ai_modeltype) |
| model_context | 模型运行时的上下文环境,具体见 [OH_AI_ContextHandle](#oh_ai_contexthandle)。 | | model_context | 模型运行时的上下文环境,具体见 [OH_AI_ContextHandle](#oh_ai_contexthandle)。 |
**返回:** **返回:**
...@@ -987,8 +1467,8 @@ OH_AI_API void OH_AI_ModelDestroy (OH_AI_ModelHandle * model) ...@@ -987,8 +1467,8 @@ OH_AI_API void OH_AI_ModelDestroy (OH_AI_ModelHandle * model)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----- | -------------- |
| model | 模型对象指针。 | | model | 模型对象指针。 |
...@@ -1005,10 +1485,10 @@ OH_AI_API OH_AI_TensorHandle OH_AI_ModelGetInputByTensorName (const OH_AI_ModelH ...@@ -1005,10 +1485,10 @@ OH_AI_API OH_AI_TensorHandle OH_AI_ModelGetInputByTensorName (const OH_AI_ModelH
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | -------------- |
| model | 模型对象指针。 | | model | 模型对象指针。 |
| tensor_name | 张量名称。 | | tensor_name | 张量名称。 |
**返回:** **返回:**
...@@ -1028,8 +1508,8 @@ OH_AI_API OH_AI_TensorHandleArray OH_AI_ModelGetInputs (const OH_AI_ModelHandle ...@@ -1028,8 +1508,8 @@ OH_AI_API OH_AI_TensorHandleArray OH_AI_ModelGetInputs (const OH_AI_ModelHandle
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----- | -------------- |
| model | 模型对象指针。 | | model | 模型对象指针。 |
**返回:** **返回:**
...@@ -1050,10 +1530,10 @@ OH_AI_API OH_AI_TensorHandle OH_AI_ModelGetOutputByTensorName (const OH_AI_Model ...@@ -1050,10 +1530,10 @@ OH_AI_API OH_AI_TensorHandle OH_AI_ModelGetOutputByTensorName (const OH_AI_Model
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----------- | -------------- |
| model | 模型对象指针。 | | model | 模型对象指针。 |
| tensor_名称 | 张量名称。 | | tensor_name | 张量名称。 |
**返回:** **返回:**
...@@ -1073,8 +1553,8 @@ OH_AI_API OH_AI_TensorHandleArray OH_AI_ModelGetOutputs (const OH_AI_ModelHandle ...@@ -1073,8 +1553,8 @@ OH_AI_API OH_AI_TensorHandleArray OH_AI_ModelGetOutputs (const OH_AI_ModelHandle
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ----- | -------------- |
| model | 模型对象指针。 | | model | 模型对象指针。 |
**返回:** **返回:**
...@@ -1095,13 +1575,13 @@ OH_AI_API OH_AI_Status OH_AI_ModelPredict (OH_AI_ModelHandle model, const OH_AI_ ...@@ -1095,13 +1575,13 @@ OH_AI_API OH_AI_Status OH_AI_ModelPredict (OH_AI_ModelHandle model, const OH_AI_
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------- | ------------------------------------ |
| model | 模型对象指针。 | | model | 模型对象指针。 |
| inputs | 模型输入对应的张量数组结构体。 | | inputs | 模型输入对应的张量数组结构体。 |
| outputs | 模型输出对应的张量数组结构体的指针。 | | outputs | 模型输出对应的张量数组结构体的指针。 |
| before | 模型推理前执行的回调函数。 | | before | 模型推理前执行的回调函数。 |
| after | 模型推理后执行的回调函数。 | | after | 模型推理后执行的回调函数。 |
**返回:** **返回:**
...@@ -1121,12 +1601,12 @@ OH_AI_API OH_AI_Status OH_AI_ModelResize (OH_AI_ModelHandle model, const OH_AI_T ...@@ -1121,12 +1601,12 @@ OH_AI_API OH_AI_Status OH_AI_ModelResize (OH_AI_ModelHandle model, const OH_AI_T
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------------- | ------------------------------------------------------------ |
| model | 模型对象指针。 | | model | 模型对象指针。 |
| inputs | 模型输入对应的张量数组结构体。 | | inputs | 模型输入对应的张量数组结构体。 |
| shape_infos | 输入形状信息数组,按模型输入顺序排列的由形状信息组成的数组,模型会按顺序依次调整张量形状。 | | shape_infos | 输入形状信息数组,按模型输入顺序排列的由形状信息组成的数组,模型会按顺序依次调整张量形状。 |
| shape_info_num | 形状信息数组的长度。 | | shape_info_num | 形状信息数组的长度。 |
**返回:** **返回:**
...@@ -1146,8 +1626,8 @@ OH_AI_API OH_AI_TensorHandle OH_AI_TensorClone (OH_AI_TensorHandle tensor) ...@@ -1146,8 +1626,8 @@ OH_AI_API OH_AI_TensorHandle OH_AI_TensorClone (OH_AI_TensorHandle tensor)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | ------------------ |
| tensor | 待拷贝张量的指针。 | | tensor | 待拷贝张量的指针。 |
**返回:** **返回:**
...@@ -1159,7 +1639,7 @@ OH_AI_API OH_AI_TensorHandle OH_AI_TensorClone (OH_AI_TensorHandle tensor) ...@@ -1159,7 +1639,7 @@ OH_AI_API OH_AI_TensorHandle OH_AI_TensorClone (OH_AI_TensorHandle tensor)
``` ```
OH_AI_API OH_AI_TensorHandle OH_AI_TensorCreate (const char *name, OH_AI_DataType type, const int64_t * shape, size_t shape_num, const void * data, size_t data_len ) OH_AI_API OH_AI_TensorHandle OH_AI_TensorCreate (const char * name, OH_AI_DataType type, const int64_t * shape, size_t shape_num, const void * data, size_t data_len )
``` ```
**描述:** **描述:**
...@@ -1168,14 +1648,14 @@ OH_AI_API OH_AI_TensorHandle OH_AI_TensorCreate (const char *name, OH_AI_DataTyp ...@@ -1168,14 +1648,14 @@ OH_AI_API OH_AI_TensorHandle OH_AI_TensorCreate (const char *name, OH_AI_DataTyp
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | --------- | ------------------ |
| 名称 | 张量名称 | | name | 张量名称 |
| type | 张量的数据类型 | | type | 张量的数据类型 |
| shape | 张量的维度数组。 | | shape | 张量的维度数组。 |
| shape_num | 张量维度数组长度。 | | shape_num | 张量维度数组长度。 |
| data | 指向数据的指针。 | | data | 指向数据的指针。 |
| data_len | 数据的长度。 | | data_len | 数据的长度。 |
**返回:** **返回:**
...@@ -1195,8 +1675,8 @@ OH_AI_API void OH_AI_TensorDestroy (OH_AI_TensorHandle * tensor) ...@@ -1195,8 +1675,8 @@ OH_AI_API void OH_AI_TensorDestroy (OH_AI_TensorHandle * tensor)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | ------------------------ |
| tensor | 指向张量句柄的二级指针。 | | tensor | 指向张量句柄的二级指针。 |
...@@ -1213,8 +1693,8 @@ OH_AI_API const void* OH_AI_TensorGetData (const OH_AI_TensorHandle tensor) ...@@ -1213,8 +1693,8 @@ OH_AI_API const void* OH_AI_TensorGetData (const OH_AI_TensorHandle tensor)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | -------------- |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
**返回:** **返回:**
...@@ -1235,8 +1715,8 @@ OH_AI_API size_t OH_AI_TensorGetDataSize (const OH_AI_TensorHandle tensor) ...@@ -1235,8 +1715,8 @@ OH_AI_API size_t OH_AI_TensorGetDataSize (const OH_AI_TensorHandle tensor)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | -------------- |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
**返回:** **返回:**
...@@ -1257,8 +1737,8 @@ OH_AI_API OH_AI_DataType OH_AI_TensorGetDataType (const OH_AI_TensorHandle tenso ...@@ -1257,8 +1737,8 @@ OH_AI_API OH_AI_DataType OH_AI_TensorGetDataType (const OH_AI_TensorHandle tenso
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | -------------- |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
**返回:** **返回:**
...@@ -1279,8 +1759,8 @@ OH_AI_API int64_t OH_AI_TensorGetElementNum (const OH_AI_TensorHandle tensor) ...@@ -1279,8 +1759,8 @@ OH_AI_API int64_t OH_AI_TensorGetElementNum (const OH_AI_TensorHandle tensor)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | -------------- |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
**返回:** **返回:**
...@@ -1301,8 +1781,8 @@ OH_AI_API OH_AI_Format OH_AI_TensorGetFormat (const OH_AI_TensorHandle tensor) ...@@ -1301,8 +1781,8 @@ OH_AI_API OH_AI_Format OH_AI_TensorGetFormat (const OH_AI_TensorHandle tensor)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | -------------- |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
**返回:** **返回:**
...@@ -1323,8 +1803,8 @@ OH_AI_API void* OH_AI_TensorGetMutableData (const OH_AI_TensorHandle tensor) ...@@ -1323,8 +1803,8 @@ OH_AI_API void* OH_AI_TensorGetMutableData (const OH_AI_TensorHandle tensor)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | -------------- |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
**返回:** **返回:**
...@@ -1345,8 +1825,8 @@ OH_AI_API const char* OH_AI_TensorGetName (const OH_AI_TensorHandle tensor) ...@@ -1345,8 +1825,8 @@ OH_AI_API const char* OH_AI_TensorGetName (const OH_AI_TensorHandle tensor)
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | -------------- |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
**返回:** **返回:**
...@@ -1367,9 +1847,9 @@ OH_AI_API const int64_t* OH_AI_TensorGetShape (const OH_AI_TensorHandle tensor, ...@@ -1367,9 +1847,9 @@ OH_AI_API const int64_t* OH_AI_TensorGetShape (const OH_AI_TensorHandle tensor,
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | --------- | ---------------------------------------------- |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
| shape_num | 该参数是输出参数,形状数组的长度会写入该变量。 | | shape_num | 该参数是输出参数,形状数组的长度会写入该变量。 |
**返回:** **返回:**
...@@ -1390,10 +1870,10 @@ OH_AI_API void OH_AI_TensorSetData (OH_AI_TensorHandle tensor, void * data ) ...@@ -1390,10 +1870,10 @@ OH_AI_API void OH_AI_TensorSetData (OH_AI_TensorHandle tensor, void * data )
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | ---------------- |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
| data | 指向数据的指针。 | | data | 指向数据的指针。 |
### OH_AI_TensorSetDataType() ### OH_AI_TensorSetDataType()
...@@ -1409,10 +1889,10 @@ OH_AI_API void OH_AI_TensorSetDataType (OH_AI_TensorHandle tensor, OH_AI_DataTyp ...@@ -1409,10 +1889,10 @@ OH_AI_API void OH_AI_TensorSetDataType (OH_AI_TensorHandle tensor, OH_AI_DataTyp
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | --------------------------------------------------- |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
| type | 数据类型,具体见[OH_AI_DataType](#oh_ai_datatype-1)。 | | type | 数据类型,具体见[OH_AI_DataType](#oh_ai_datatype)。 |
### OH_AI_TensorSetFormat() ### OH_AI_TensorSetFormat()
...@@ -1428,9 +1908,9 @@ OH_AI_API void OH_AI_TensorSetFormat (OH_AI_TensorHandle tensor, OH_AI_Format fo ...@@ -1428,9 +1908,9 @@ OH_AI_API void OH_AI_TensorSetFormat (OH_AI_TensorHandle tensor, OH_AI_Format fo
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | ------------------ |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
| format | 张量数据排列方式。 | | format | 张量数据排列方式。 |
...@@ -1447,10 +1927,10 @@ OH_AI_API void OH_AI_TensorSetName (OH_AI_TensorHandle tensor, const char *name ...@@ -1447,10 +1927,10 @@ OH_AI_API void OH_AI_TensorSetName (OH_AI_TensorHandle tensor, const char *name
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | ------ | -------------- |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
| 名称 | 张量名称。 | | name | 张量名称。 |
### OH_AI_TensorSetShape() ### OH_AI_TensorSetShape()
...@@ -1466,8 +1946,8 @@ OH_AI_API void OH_AI_TensorSetShape (OH_AI_TensorHandle tensor, const int64_t * ...@@ -1466,8 +1946,8 @@ OH_AI_API void OH_AI_TensorSetShape (OH_AI_TensorHandle tensor, const int64_t *
**参数:** **参数:**
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | --------- | ------------------ |
| tensor | 张量对象句柄。 | | tensor | 张量对象句柄。 |
| shape | 形状数组。 | | shape | 形状数组。 |
| shape_num | 张量形状数组长度。 | | shape_num | 张量形状数组长度。 |
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
### 类型定义 ### 类型定义
| 类型定义名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) | Mindspore的上下文信息的指针,该指针会指向Context。 | | [OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) | Mindspore的上下文信息的指针,该指针会指向Context。 |
| [OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) | Mindspore的运行设备信息的指针。 | | [OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) | Mindspore的运行设备信息的指针。 |
...@@ -27,27 +27,40 @@ ...@@ -27,27 +27,40 @@
### 函数 ### 函数
| 函数名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AI_ContextCreate](_mind_spore.md#oh_ai_contextcreate) () | 创建一个上下文的对象。 | | [OH_AI_ContextCreate](_mind_spore.md#oh_ai_contextcreate) () | 创建一个上下文的对象。 |
| [OH_AI_ContextDestroy](_mind_spore.md#oh_ai_contextdestroy) (OH_AI_ContextHandle \*context) | 释放上下文对象。 | | [OH_AI_ContextDestroy](_mind_spore.md#oh_ai_contextdestroy) ([OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) \*context) | 释放上下文对象。 |
| [OH_AI_ContextSetThreadNum](_mind_spore.md#oh_ai_contextsetthreadnum) (OH_AI_ContextHandle context, int32_t thread_num) | 设置运行时的线程数量。 | | [OH_AI_ContextSetThreadNum](_mind_spore.md#oh_ai_contextsetthreadnum) ([OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) context, int32_t thread_num) | 设置运行时的线程数量。 |
| [OH_AI_ContextGetThreadNum](_mind_spore.md#oh_ai_contextgetthreadnum) (const OH_AI_ContextHandle context) | 获取线程数量。 | | [OH_AI_ContextGetThreadNum](_mind_spore.md#oh_ai_contextgetthreadnum) (const [OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) context) | 获取线程数量。 |
| [OH_AI_ContextSetThreadAffinityMode](_mind_spore.md#oh_ai_contextsetthreadaffinitymode) (OH_AI_ContextHandle context, int mode) | 设置运行时线程绑定CPU核心的策略,按照CPU物理核频率分为大、中、小三种类型的核心,并且仅需绑大核或者绑中核,不需要绑小核。 | | [OH_AI_ContextSetThreadAffinityMode](_mind_spore.md#oh_ai_contextsetthreadaffinitymode) ([OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) context, int mode) | 设置运行时线程绑定CPU核心的策略,按照CPU物理核频率分为大、中、小三种类型的核心,并且仅需绑大核或者绑中核,不需要绑小核。 |
| [OH_AI_ContextGetThreadAffinityMode](_mind_spore.md#oh_ai_contextgetthreadaffinitymode) (const OH_AI_ContextHandle context) | 获取运行时线程绑定CPU核心的策略。 | | [OH_AI_ContextGetThreadAffinityMode](_mind_spore.md#oh_ai_contextgetthreadaffinitymode) (const [OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) context) | 获取运行时线程绑定CPU核心的策略。 |
| [OH_AI_ContextSetThreadAffinityCoreList](_mind_spore.md#oh_ai_contextsetthreadaffinitycorelist) (OH_AI_ContextHandle context, const int32_t \*core_list, size_t core_num) | 设置运行时线程绑定CPU核心的列表。 | | [OH_AI_ContextSetThreadAffinityCoreList](_mind_spore.md#oh_ai_contextsetthreadaffinitycorelist) ([OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) context, const int32_t \*core_list, size_t core_num) | 设置运行时线程绑定CPU核心的列表。 |
| [OH_AI_ContextGetThreadAffinityCoreList](_mind_spore.md#oh_ai_contextgetthreadaffinitycorelist) (const OH_AI_ContextHandle context, size_t \*core_num) | 获取CPU绑核列表。 | | [OH_AI_ContextGetThreadAffinityCoreList](_mind_spore.md#oh_ai_contextgetthreadaffinitycorelist) (const [OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) context, size_t \*core_num) | 获取CPU绑核列表。 |
| [OH_AI_ContextSetEnableParallel](_mind_spore.md#oh_ai_contextsetenableparallel) (OH_AI_ContextHandle context, bool is_parallel) | 设置运行时是否支持并行。 | | [OH_AI_ContextSetEnableParallel](_mind_spore.md#oh_ai_contextsetenableparallel) ([OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) context, bool is_parallel) | 设置运行时是否支持并行。 |
| [OH_AI_ContextGetEnableParallel](_mind_spore.md#oh_ai_contextgetenableparallel) (const OH_AI_ContextHandle context) | 获取是否支持算子间并行。 | | [OH_AI_ContextGetEnableParallel](_mind_spore.md#oh_ai_contextgetenableparallel) (const [OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) context) | 获取是否支持算子间并行。 |
| [OH_AI_ContextAddDeviceInfo](_mind_spore.md#oh_ai_contextadddeviceinfo) (OH_AI_ContextHandle context, OH_AI_DeviceInfoHandle device_info) | 添加运行设备信息。 | | [OH_AI_ContextAddDeviceInfo](_mind_spore.md#oh_ai_contextadddeviceinfo) ([OH_AI_ContextHandle](_mind_spore.md#oh_ai_contexthandle) context, [OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info) | 添加运行设备信息。 |
| [OH_AI_DeviceInfoCreate](_mind_spore.md#oh_ai_deviceinfocreate) (OH_AI_DeviceType device_type) | 创建一个设备信息对象。 | | [OH_AI_DeviceInfoCreate](_mind_spore.md#oh_ai_deviceinfocreate) ([OH_AI_DeviceType](_mind_spore.md#oh_ai_devicetype) device_type) | 创建一个设备信息对象。 |
| [OH_AI_DeviceInfoDestroy](_mind_spore.md#oh_ai_deviceinfodestroy) (OH_AI_DeviceInfoHandle \*device_info) | 释放设备信息实例。 | | [OH_AI_DeviceInfoDestroy](_mind_spore.md#oh_ai_deviceinfodestroy) ([OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) \*device_info) | 释放设备信息实例。 |
| [OH_AI_DeviceInfoSetProvider](_mind_spore.md#oh_ai_deviceinfosetprovider) (OH_AI_DeviceInfoHandle device_info, const char \*provider) | 设置供应商的名称。 | | [OH_AI_DeviceInfoSetProvider](_mind_spore.md#oh_ai_deviceinfosetprovider) ([OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info, const char \*provider) | 设置供应商的名称。 |
| [OH_AI_DeviceInfoGetProvider](_mind_spore.md#oh_ai_deviceinfogetprovider) (const OH_AI_DeviceInfoHandle device_info) | 获取生产商的名称。 | | [OH_AI_DeviceInfoGetProvider](_mind_spore.md#oh_ai_deviceinfogetprovider) (const [OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info) | 获取生产商的名称。 |
| [OH_AI_DeviceInfoSetProviderDevice](_mind_spore.md#oh_ai_deviceinfosetproviderdevice) (OH_AI_DeviceInfoHandle device_info, const char \*device) | 设置生产商设备的名称。 | | [OH_AI_DeviceInfoSetProviderDevice](_mind_spore.md#oh_ai_deviceinfosetproviderdevice) ([OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info, const char \*device) | 设置生产商设备的名称。 |
| [OH_AI_DeviceInfoGetProviderDevice](_mind_spore.md#oh_ai_deviceinfogetproviderdevice) (const OH_AI_DeviceInfoHandle device_info) | 获取生产商设备的名称。 | | [OH_AI_DeviceInfoGetProviderDevice](_mind_spore.md#oh_ai_deviceinfogetproviderdevice) (const [OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info) | 获取生产商设备的名称。 |
| [OH_AI_DeviceInfoGetDeviceType](_mind_spore.md#oh_ai_deviceinfogetdevicetype) (const OH_AI_DeviceInfoHandle device_info) | 获取设备的类型。 | | [OH_AI_DeviceInfoGetDeviceType](_mind_spore.md#oh_ai_deviceinfogetdevicetype) (const [OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info) | 获取设备的类型。 |
| [OH_AI_DeviceInfoSetEnableFP16](_mind_spore.md#oh_ai_deviceinfosetenablefp16) (OH_AI_DeviceInfoHandle device_info, bool is_fp16) | 设置是否开启float16推理模式,仅CPU/GPU设备可用。 | | [OH_AI_DeviceInfoSetEnableFP16](_mind_spore.md#oh_ai_deviceinfosetenablefp16) ([OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info, bool is_fp16) | 设置是否开启float16推理模式,仅CPU/GPU设备可用。 |
| [OH_AI_DeviceInfoGetEnableFP16](_mind_spore.md#oh_ai_deviceinfogetenablefp16) (const OH_AI_DeviceInfoHandle device_info) | 获取是否开启float16推理模式, 仅CPU/GPU设备可用。 | | [OH_AI_DeviceInfoGetEnableFP16](_mind_spore.md#oh_ai_deviceinfogetenablefp16) (const [OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info) | 获取是否开启float16推理模式, 仅CPU/GPU设备可用。 |
| [OH_AI_DeviceInfoSetFrequency](_mind_spore.md#oh_ai_deviceinfosetfrequency) (OH_AI_DeviceInfoHandle device_info, int frequency) | 设置NPU的频率,仅NPU设备可用。 | | [OH_AI_DeviceInfoSetFrequency](_mind_spore.md#oh_ai_deviceinfosetfrequency) ([OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info, int frequency) | 设置NPU的频率,仅NPU设备可用。 |
| [OH_AI_DeviceInfoGetFrequency](_mind_spore.md#oh_ai_deviceinfogetfrequency) (const OH_AI_DeviceInfoHandle device_info) | 获取NPU的频率类型,仅NPU设备可用。 | | [OH_AI_DeviceInfoGetFrequency](_mind_spore.md#oh_ai_deviceinfogetfrequency) (const [OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info) | 获取NPU的频率类型,仅NPU设备可用。 |
| [OH_AI_GetAllNNRTDeviceDescs](_mind_spore.md#oh_ai_getallnnrtdevicedescs) (size_t \*num) | 获取系统中所有NNRT硬件设备的描述信息。 |
| [OH_AI_DestroyAllNNRTDeviceDescs](_mind_spore.md#oh_ai_destroyallnnrtdevicedescs) ([NNRTDeviceDesc](_mind_spore.md#nnrtdevicedesc) \*\*desc) | 销毁从[OH_AI_GetAllNNRTDeviceDescs](_mind_spore.md#oh_ai_getallnnrtdevicedescs)获取的NNRT描写信息实例数组。 |
| [OH_AI_GetDeviceIdFromNNRTDeviceDesc](_mind_spore.md#oh_ai_getdeviceidfromnnrtdevicedesc) (const [NNRTDeviceDesc](_mind_spore.md#nnrtdevicedesc) \*desc) | 从特定的NNRT设备描述信息实例获取NNRT设备ID。注意,此ID只对NNRT有效。 |
| [OH_AI_GetNameFromNNRTDeviceDesc](_mind_spore.md#oh_ai_getnamefromnnrtdevicedesc) (const [NNRTDeviceDesc](_mind_spore.md#nnrtdevicedesc) \*desc) | 从特定的NNRT设备描述信息实例获取NNRT设备名称。 |
| [OH_AI_GetTypeFromNNRTDeviceDesc](_mind_spore.md#oh_ai_gettypefromnnrtdevicedesc) (const [NNRTDeviceDesc](_mind_spore.md#nnrtdevicedesc) \*desc) | 从特定的NNRT设备描述信息实例获取NNRT设备类型。 |
| [OH_AI_CreateNNRTDeviceInfoByName](_mind_spore.md#oh_ai_creatennrtdeviceinfobyname) (const char \*name) | 查找指定名称的NNRT设备,根据找到的第一个设备信息,创建NNRT设备信息。 |
| [OH_AI_CreateNNRTDeviceInfoByType](_mind_spore.md#oh_ai_creatennrtdeviceinfobytype) ([OH_AI_NNRTDeviceType](_mind_spore.md#oh_ai_nnrtdevicetype) type) | 查找指定类型的NNRT设备,根据找到的第一个设备信息,创建NNRT设备信息。 |
| [OH_AI_DeviceInfoSetDeviceId](_mind_spore.md#oh_ai_deviceinfosetdeviceid) ([OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info, size_t device_id) | 设置NNRT设备ID,仅NNRT设备可用。 |
| [OH_AI_DeviceInfoGetDeviceId](_mind_spore.md#oh_ai_deviceinfogetdeviceid) (const [OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info) | 获取NNRT设备ID,仅NNRT设备可用。 |
| [OH_AI_DeviceInfoSetPerformanceMode](_mind_spore.md#oh_ai_deviceinfosetperformancemode) ([OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info, [OH_AI_PerformanceMode](_mind_spore.md#oh_ai_performancemode) mode) | 设置NNRT性能模式,仅NNRT设备可用。 |
| [OH_AI_DeviceInfoGetPerformanceMode](_mind_spore.md#oh_ai_deviceinfogetperformancemode) (const [OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info) | 获取NNRT性能模式,仅NNRT设备可用。 |
| [OH_AI_DeviceInfoSetPriority](_mind_spore.md#oh_ai_deviceinfosetpriority) ([OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info, [OH_AI_Priority](_mind_spore.md#oh_ai_priority) priority) | 设置NNRT任务优先级,仅NNRT设备可用。 |
| [OH_AI_DeviceInfoGetPriority](_mind_spore.md#oh_ai_deviceinfogetpriority) (const [OH_AI_DeviceInfoHandle](_mind_spore.md#oh_ai_deviceinfohandle) device_info) | 获取NNRT任务优先级,仅NNRT设备可用。 |
...@@ -19,15 +19,22 @@ ...@@ -19,15 +19,22 @@
### 类型定义 ### 类型定义
| 类型定义名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AI_ModelType](_mind_spore.md#oh_ai_modeltype-1) | 模型文件的类型。 | | [OH_AI_ModelType](_mind_spore.md#oh_ai_modeltype) | 模型文件的类型。 |
| [OH_AI_DeviceType](_mind_spore.md#oh_ai_devicetype-1) | 设备类型信息,包含了目前支持的设备类型。 | | [OH_AI_DeviceType](_mind_spore.md#oh_ai_devicetype) | 设备类型信息,包含了目前支持的设备类型。 |
| [OH_AI_NNRTDeviceType](_mind_spore.md#oh_ai_nnrtdevicetype) | NNRT管理的硬件设备类型。 |
| [OH_AI_PerformanceMode](_mind_spore.md#oh_ai_performancemode) | NNRT硬件的工作性能模式。 |
| [OH_AI_Priority](_mind_spore.md#oh_ai_priority) | NNRT推理任务优先级。 |
| [NNRTDeviceDesc](_mind_spore.md#nnrtdevicedesc) | NNRT设备信息描述,包含设备ID,设备名称等信息。 |
### 枚举 ### 枚举
| 枚举名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AI_ModelType](_mind_spore.md#oh_ai_modeltype-1) { <br/>OH_AI_MODELTYPE_MINDIR = 0, <br/>OH_AI_MODELTYPE_INVALID = 0xFFFFFFFF } | 模型文件的类型。 | | [OH_AI_ModelType](_mind_spore.md#oh_ai_modeltype-1) { <br/>OH_AI_MODELTYPE_MINDIR = 0, <br/>OH_AI_MODELTYPE_INVALID = 0xFFFFFFFF } | 模型文件的类型。 |
| [OH_AI_DeviceType](_mind_spore.md#oh_ai_devicetype-1) { <br/>OH_AI_DEVICETYPE_CPU = 0, <br/>OH_AI_DEVICETYPE_KIRIN_GPU, <br/>OH_AI_DEVICETYPE_KIRIN_NPU, <br/>OH_AI_DEVICETYPE_NNRT = 60, <br/>OH_AI_DEVICETYPE_INVALID = 100 } | 设备类型信息,包含了目前支持的设备类型。 | | [OH_AI_DeviceType](_mind_spore.md#oh_ai_devicetype-1) {<br/>OH_AI_DEVICETYPE_CPU = 0, <br/>OH_AI_DEVICETYPE_GPU, <br/>OH_AI_DEVICETYPE_KIRIN_NPU, <br/>OH_AI_DEVICETYPE_NNRT = 60,<br/>OH_AI_DEVICETYPE_INVALID = 100<br/>} | 设备类型信息,包含了目前支持的设备类型。 |
| [OH_AI_NNRTDeviceType](_mind_spore.md#oh_ai_nnrtdevicetype) { <br/>OH_AI_NNRTDEVICE_OTHERS = 0,<br/> OH_AI_NNRTDEVICE_CPU = 1, <br/>OH_AI_NNRTDEVICE_GPU = 2, <br/>OH_AI_NNRTDEVICE_ACCELERATOR = 3 } | NNRT管理的硬件设备类型。 |
| [OH_AI_PerformanceMode](_mind_spore.md#oh_ai_performancemode) {<br/>OH_AI_PERFORMANCE_NONE = 0, <br/>OH_AI_PERFORMANCE_LOW = 1, <br/>OH_AI_PERFORMANCE_MEDIUM = 2, <br/>OH_AI_PERFORMANCE_HIGH = 3,<br/>OH_AI_PERFORMANCE_EXTREME = 4<br/>} | NNRT硬件的工作性能模式。 |
| [OH_AI_Priority](_mind_spore.md#oh_ai_priority) { <br/>OH_AI_PRIORITY_NONE = 0, <br/>OH_AI_PRIORITY_LOW = 1, <br/>OH_AI_PRIORITY_MEDIUM = 2,<br/> OH_AI_PRIORITY_HIGH = 3 } | NNRT推理任务优先级。 |
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册