harmony 鸿蒙MindSpore
MindSpore
概述
提供MindSpore Lite的模型推理相关接口。
\@Syscap SystemCapability.Ai.MindSpore
起始版本:
9
汇总
文件
名称 | 描述 |
---|---|
context.h | 提供了Context相关的接口,可以配置运行时信息。 引用文件:<mindspore/context.h> 库:libmindspore_lite_ndk.so |
data_type.h | 声明了张量的数据的类型。 引用文件:<mindspore/data_type.h> 库:libmindspore_lite_ndk.so |
format.h | 提供张量数据的排列格式。 引用文件:<mindspore/format.h> 库:libmindspore_lite_ndk.so |
model.h | 提供了模型相关接口,可以用于模型创建、模型推理等。 引用文件:<mindspore/model.h> 库:libmindspore_lite_ndk.so |
status.h | 提供了Mindspore Lite运行时的状态码。 引用文件:<mindspore/status.h> 库:libmindspore_lite_ndk.so |
tensor.h | 提供了张量相关的接口,可用于创建和修改张量信息。 引用文件:<mindspore/tensor.h> 库:libmindspore_lite_ndk.so |
types.h | 提供了MindSpore Lite支持的模型文件类型和设备类型。 引用文件:<mindspore/types.h> 库:libmindspore_lite_ndk.so |
结构体
名称 | 描述 |
---|---|
OH_AI_TensorHandleArray | 张量数组结构体,用于存储张量数组指针和张量数组长度。 |
OH_AI_ShapeInfo | 维度信息,最大的维度为MS_MAX_SHAPE_NUM。 |
OH_AI_CallBackParam | 回调函数中传入的算子信息。 |
宏定义
名称 | 描述 |
---|---|
OH_AI_MAX_SHAPE_NUM 32 | 张量维度的最大值。 |
类型定义
名称 | 描述 |
---|---|
OH_AI_ContextHandle | Mindspore的上下文信息的指针,该指针会指向Context。 |
OH_AI_DeviceInfoHandle | Mindspore的运行设备信息的指针。 |
OH_AI_DataType | MSTensor保存的数据支持的类型。 |
OH_AI_Format | MSTensor保存的数据支持的排列格式。 |
OH_AI_ModelHandle | 指向模型对象的指针。 |
OH_AI_TensorHandleArray | 张量数组结构体,用于存储张量数组指针和张量数组长度 |
OH_AI_ShapeInfo | 维度信息,最大的维度为MS_MAX_SHAPE_NUM。 |
OH_AI_CallBackParam | 回调函数中传入的算子信息。 |
OH_AI_KernelCallBack | 回调函数指针。 |
OH_AI_Status | Minspore的状态码。 |
OH_AI_TensorHandle | 指向张量对象句柄。 |
OH_AI_ModelType | 模型文件的类型。 |
OH_AI_DeviceType | 设备类型信息,包含了目前支持的设备类型。 |
OH_AI_NNRTDeviceType | NNRT管理的硬件设备类型 |
OH_AI_PerformanceMode | NNRT硬件的工作性能模式 |
OH_AI_Priority | NNRT推理任务优先级 |
NNRTDeviceDesc | NNRT设备信息描述,包含设备ID,设备名称等信息。 |
枚举
名称 | 描述 |
---|---|
OH_AI_DataType { OH_AI_DATATYPE_UNKNOWN = 0, OH_AI_DATATYPE_OBJECTTYPE_STRING = 12, OH_AI_DATATYPE_OBJECTTYPE_LIST = 13, OH_AI_DATATYPE_OBJECTTYPE_TUPLE = 14, OH_AI_DATATYPE_OBJECTTYPE_TENSOR = 17, OH_AI_DATATYPE_NUMBERTYPE_BEGIN = 29, OH_AI_DATATYPE_NUMBERTYPE_BOOL = 30, OH_AI_DATATYPE_NUMBERTYPE_INT8 = 32, OH_AI_DATATYPE_NUMBERTYPE_INT16 = 33, OH_AI_DATATYPE_NUMBERTYPE_INT32 = 34, OH_AI_DATATYPE_NUMBERTYPE_INT64 = 35, OH_AI_DATATYPE_NUMBERTYPE_UINT8 = 37, OH_AI_DATATYPE_NUMBERTYPE_UINT16 = 38, OH_AI_DATATYPE_NUMBERTYPE_UINT32 = 39, OH_AI_DATATYPE_NUMBERTYPE_UINT64 = 40, OH_AI_DATATYPE_NUMBERTYPE_FLOAT16 = 42, OH_AI_DATATYPE_NUMBERTYPE_FLOAT32 = 43, OH_AI_DATATYPE_NUMBERTYPE_FLOAT64 = 44, OH_AI_DATATYPE_NUMBERTYPE_END = 46, OH_AI_DataTypeInvalid = INT32_MAX } |
MSTensor保存的数据支持的类型。 |
OH_AI_Format { OH_AI_FORMAT_NCHW = 0, OH_AI_FORMAT_NHWC = 1, OH_AI_FORMAT_NHWC4 = 2, OH_AI_FORMAT_HWKC = 3, OH_AI_FORMAT_HWCK = 4, OH_AI_FORMAT_KCHW = 5, OH_AI_FORMAT_CKHW = 6, OH_AI_FORMAT_KHWC = 7, OH_AI_FORMAT_CHWK = 8, OH_AI_FORMAT_HW = 9, OH_AI_FORMAT_HW4 = 10, OH_AI_FORMAT_NC = 11, OH_AI_FORMAT_NC4 = 12, OH_AI_FORMAT_NC4HW4 = 13, OH_AI_FORMAT_NCDHW = 15, OH_AI_FORMAT_NWC = 16, OH_AI_FORMAT_NCW = 17 } |
MSTensor保存的数据支持的排列格式。 |
OH_AI_CompCode { OH_AI_COMPCODE_CORE = 0x00000000u, OH_AI_COMPCODE_LITE = 0xF0000000u } |
Minspore不同组件的代码。 |
OH_AI_Status { 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 & -1), OH_AI_STATUS_LITE_NULLPTR = OH_AI_COMPCODE_LITE |(0x0FFFFFFF & -2), OH_AI_STATUS_LITE_PARAM_INVALID = OH_AI_COMPCODE_LITE |(0x0FFFFFFF & -3), OH_AI_STATUS_LITE_NO_CHANGE = OH_AI_COMPCODE_LITE |(0x0FFFFFFF & -4), OH_AI_STATUS_LITE_SUCCESS_EXIT = OH_AI_COMPCODE_LITE |(0x0FFFFFFF & -5), OH_AI_STATUS_LITE_MEMORY_FAILED = OH_AI_COMPCODE_LITE |(0x0FFFFFFF & -6), OH_AI_STATUS_LITE_NOT_SUPPORT = OH_AI_COMPCODE_LITE |(0x0FFFFFFF & -7), OH_AI_STATUS_LITE_THREADPOOL_ERROR = OH_AI_COMPCODE_LITE |(0x0FFFFFFF & -8), OH_AI_STATUS_LITE_UNINITIALIZED_OBJ = OH_AI_COMPCODE_LITE |(0x0FFFFFFF & -9), OH_AI_STATUS_LITE_OUT_OF_TENSOR_RANGE = OH_AI_COMPCODE_LITE |(0x0FFFFFFF & -100), OH_AI_STATUS_LITE_INPUT_TENSOR_ERROR, OH_AI_STATUS_LITE_REENTRANT_ERROR = OH_AI_COMPCODE_LITE |(0x0FFFFFFF & -102), OH_AI_STATUS_LITE_GRAPH_FILE_ERROR = OH_AI_COMPCODE_LITE |(0x0FFFFFFF & -200), OH_AI_STATUS_LITE_NOT_FIND_OP = OH_AI_COMPCODE_LITE |(0x0FFFFFFF & -300), OH_AI_STATUS_LITE_INVALID_OP_NAME = OH_AI_COMPCODE_LITE |(0x0FFFFFFF & -301), OH_AI_STATUS_LITE_INVALID_OP_ATTR = OH_AI_COMPCODE_LITE |(0x0FFFFFFF & -302), OH_AI_STATUS_LITE_OP_EXECUTE_FAILURE, OH_AI_STATUS_LITE_FORMAT_ERROR = OH_AI_COMPCODE_LITE |(0x0FFFFFFF & -400), OH_AI_STATUS_LITE_INFER_ERROR = OH_AI_COMPCODE_LITE |(0x0FFFFFFF & -500), OH_AI_STATUS_LITE_INFER_INVALID, OH_AI_STATUS_LITE_INPUT_PARAM_INVALID } |
Minspore的状态码。 |
OH_AI_ModelType { OH_AI_MODELTYPE_MINDIR = 0, OH_AI_MODELTYPE_INVALID = 0xFFFFFFFF } |
模型文件的类型。 |
OH_AI_DeviceType { OH_AI_DEVICETYPE_CPU = 0, OH_AI_DEVICETYPE_GPU, OH_AI_DEVICETYPE_KIRIN_NPU, OH_AI_DEVICETYPE_NNRT = 60, OH_AI_DEVICETYPE_INVALID = 100 } |
设备类型信息,包含了目前支持的设备类型。 |
OH_AI_NNRTDeviceType { OH_AI_NNRTDEVICE_OTHERS = 0, OH_AI_NNRTDEVICE_CPU = 1, OH_AI_NNRTDEVICE_GPU = 2, OH_AI_NNRTDEVICE_ACCELERATOR = 3 } |
NNRT管理的硬件设备类型。 |
OH_AI_PerformanceMode { OH_AI_PERFORMANCE_NONE = 0, OH_AI_PERFORMANCE_LOW = 1, OH_AI_PERFORMANCE_MEDIUM = 2, OH_AI_PERFORMANCE_HIGH = 3, OH_AI_PERFORMANCE_EXTREME = 4 } |
NNRT硬件的工作性能模式。 |
OH_AI_Priority { OH_AI_PRIORITY_NONE = 0, OH_AI_PRIORITY_LOW = 1, OH_AI_PRIORITY_MEDIUM = 2, OH_AI_PRIORITY_HIGH = 3 } |
NNRT推理任务优先级。 |
函数
宏定义说明
OH_AI_MAX_SHAPE_NUM
#define OH_AI_MAX_SHAPE_NUM 32
描述:
张量维度的最大值。
类型定义说明
NNRTDeviceDesc
typedef struct NNRTDeviceDesc NNRTDeviceDesc
描述:
NNRT设备信息描述,包含设备ID,设备名称等信息。
起始版本:
10
OH_AI_CallBackParam
typedef struct OH_AI_CallBackParam OH_AI_CallBackParam
描述:
回调函数中传入的算子信息。
OH_AI_ContextHandle
typedef void* OH_AI_ContextHandle
描述:
Mindspore的上下文信息的指针,该指针会指向Context。
OH_AI_DataType
typedef enum OH_AI_DataType OH_AI_DataType
描述:
MSTensor保存的数据支持的类型。
OH_AI_DeviceInfoHandle
typedef void* OH_AI_DeviceInfoHandle
描述:
Mindspore的运行设备信息的指针。
OH_AI_DeviceType
typedef enum OH_AI_DeviceType OH_AI_DeviceType
描述:
设备类型信息,包含了目前支持的设备类型。
OH_AI_Format
typedef enum OH_AI_Format OH_AI_Format
描述:
MSTensor保存的数据支持的排列格式。
OH_AI_KernelCallBack
typedef bool(* OH_AI_KernelCallBack) (const OH_AI_TensorHandleArray inputs, const OH_AI_TensorHandleArray outputs, const OH_AI_CallBackParam kernel_Info)
描述:
回调函数指针。
该函数指针是用于设置OH_AI_ModelPredict函数参数中的两个回调函数。 该指针指向的函数需要包含三个参数,其中inputs和outputs对应了算子的输入和输出张量,kernel_Info表示当前算子的信息。 可以通过回调函数监控算子执行的情况,例如统计算子的执行时间,校验算子的正确性等等。
OH_AI_ModelHandle
typedef void* OH_AI_ModelHandle
描述:
指向模型对象的指针。
OH_AI_ModelType
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
typedef enum OH_AI_Status OH_AI_Status
描述:
Minspore的状态码。
OH_AI_TensorHandle
typedef void* OH_AI_TensorHandle
描述:
指向张量对象句柄。
OH_AI_TensorHandleArray
typedef struct OH_AI_TensorHandleArray OH_AI_TensorHandleArray
描述:
张量数组结构体,用于存储张量数组指针和张量数组长度。
枚举类型说明
OH_AI_CompCode
enum OH_AI_CompCode
描述:
Minspore不同组件的代码。
枚举值 | 描述 |
---|---|
OH_AI_COMPCODE_CORE | Minspore Core的代码。 |
OH_AI_COMPCODE_LITE | Minspore Lite的代码。 |
OH_AI_DataType
enum OH_AI_DataType
描述:
MSTensor保存的数据支持的类型。
枚举值 | 描述 |
---|---|
OH_AI_DATATYPE_UNKNOWN | 未知的数据类型。 |
OH_AI_DATATYPE_OBJECTTYPE_STRING | String数据类型。 |
OH_AI_DATATYPE_OBJECTTYPE_LIST | List数据类型。 |
OH_AI_DATATYPE_OBJECTTYPE_TUPLE | Tuple数据类型。 |
OH_AI_DATATYPE_OBJECTTYPE_TENSOR | TensorList数据类型。 |
OH_AI_DATATYPE_NUMBERTYPE_BEGIN | Number类型的起始。 |
OH_AI_DATATYPE_NUMBERTYPE_BOOL | Bool数据类型。 |
OH_AI_DATATYPE_NUMBERTYPE_INT8 | Int8数据类型。 |
OH_AI_DATATYPE_NUMBERTYPE_INT16 | 表示Int16数据类型。 |
OH_AI_DATATYPE_NUMBERTYPE_INT32 | 表示Int32数据类型。 |
OH_AI_DATATYPE_NUMBERTYPE_INT64 | 表示Int64数据类型。 |
OH_AI_DATATYPE_NUMBERTYPE_UINT8 | 表示UInt8数据类型。 |
OH_AI_DATATYPE_NUMBERTYPE_UINT16 | 表示UInt16数据类型。 |
OH_AI_DATATYPE_NUMBERTYPE_UINT32 | 表示UInt32数据类型。 |
OH_AI_DATATYPE_NUMBERTYPE_UINT64 | 表示UInt64数据类型。 |
OH_AI_DATATYPE_NUMBERTYPE_FLOAT16 | 表示Float16数据类型。 |
OH_AI_DATATYPE_NUMBERTYPE_FLOAT32 | 表示Float32数据类型。 |
OH_AI_DATATYPE_NUMBERTYPE_FLOAT64 | 表示Float64数据类型。 |
OH_AI_DATATYPE_NUMBERTYPE_END | 表示Number类型的结尾。 |
OH_AI_DataTypeInvalid | 表示无效的数据类型。 |
OH_AI_DeviceType
enum OH_AI_DeviceType
描述:
设备类型信息,包含了目前支持的设备类型。
枚举值 | 描述 |
---|---|
OH_AI_DEVICETYPE_CPU | 设备类型是CPU。 |
OH_AI_DEVICETYPE_GPU | 设备类型是GPU。预留选项, 暂不支持。 |
OH_AI_DEVICETYPE_KIRIN_NPU | 设备类型是麒麟NPU。预留选项,暂不支持。 |
OH_AI_DEVICETYPE_NNRT | 设备类型是NNRt。OHOS设备范围是[60,80)。 |
OH_AI_DEVICETYPE_INVALID | 设备类型无效。 |
OH_AI_Format
enum OH_AI_Format
描述:
MSTensor保存的数据支持的排列格式。
枚举值 | 描述 |
---|---|
OH_AI_FORMAT_NCHW | 按批次N、通道C、高度H和宽度W的顺序存储张量数据。 |
OH_AI_FORMAT_NHWC | 按批次N、高度H、宽度W和通道C的顺序存储张量数据。 |
OH_AI_FORMAT_NHWC4 | 按批次N、高度H、宽度W和通道C的顺序存储张量数据,其中C轴是4字节对齐格式。 |
OH_AI_FORMAT_HWKC | 按高度H、宽度W、核数K和通道C的顺序存储张量数据。 |
OH_AI_FORMAT_HWCK | 按高度H、宽度W、通道C和核数K的顺序存储张量数据。 |
OH_AI_FORMAT_KCHW | 按核数K、通道C、高度H和宽度W的顺序存储张量数据。 |
OH_AI_FORMAT_CKHW | 按通道C、核数K、高度H和宽度W的顺序存储张量数据。 |
OH_AI_FORMAT_KHWC | 按核数K、高度H、宽度W和通道C的顺序存储张量数据。 |
OH_AI_FORMAT_CHWK | 按通道C、高度H、宽度W和核数K的顺序存储张量数据。 |
OH_AI_FORMAT_HW | 按高度H和宽度W的顺序存储张量数据。 |
OH_AI_FORMAT_HW4 | 按高度H和宽度W的顺序存储张量数据,其中W轴是4字节对齐格式。 |
OH_AI_FORMAT_NC | 按批次N和通道C的顺序存储张量数据。 |
OH_AI_FORMAT_NC4 | 按批次N和通道C的顺序存储张量数据,其中C轴是4字节对齐格式。 |
OH_AI_FORMAT_NC4HW4 | 按批次N、通道C、高度H和宽度W的顺序存储张量数据,其中C轴和W轴是4字节对齐格式。 |
OH_AI_FORMAT_NCDHW | 按批次N、通道C、深度D、高度H和宽度W的顺序存储张量数据。 |
OH_AI_FORMAT_NWC | 按批次N、宽度W和通道C的顺序存储张量数据。 |
OH_AI_FORMAT_NCW | 按批次N、通道C和宽度W的顺序存储张量数据。 |
OH_AI_ModelType
enum OH_AI_ModelType
描述:
模型文件的类型。
枚举值 | 描述 |
---|---|
OH_AI_MODELTYPE_MINDIR | 模型类型是MindIR,对应的模型文件后缀为.ms。 |
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
enum OH_AI_Status
描述:
Minspore的状态码。
枚举值 | 描述 |
---|---|
OH_AI_STATUS_SUCCESS | 通用的成功状态码。 |
OH_AI_STATUS_CORE_FAILED | Mindspore Core 失败状态码。 |
OH_AI_STATUS_LITE_ERROR | Mindspore Lite 异常状态码。 |
OH_AI_STATUS_LITE_NULLPTR | Mindspore Lite 空指针状态码。 |
OH_AI_STATUS_LITE_PARAM_INVALID | Mindspore Lite 参数异常状态码。 |
OH_AI_STATUS_LITE_NO_CHANGE | Mindspore Lite 未改变状态码。 |
OH_AI_STATUS_LITE_SUCCESS_EXIT | Mindspore Lite 没有错误但是退出的状态码。 |
OH_AI_STATUS_LITE_MEMORY_FAILED | Mindspore Lite 内存分配失败的状态码。 |
OH_AI_STATUS_LITE_NOT_SUPPORT | Mindspore Lite 功能未支持的状态码。 |
OH_AI_STATUS_LITE_THREADPOOL_ERROR | Mindspore Lite 线程池异常状态码。 |
OH_AI_STATUS_LITE_UNINITIALIZED_OBJ | 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_REENTRANT_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_INVALID_OP_NAME | Mindspore Lite 无效算子状态码。 |
OH_AI_STATUS_LITE_INVALID_OP_ATTR | Mindspore Lite 无效算子超参数状态码。 |
OH_AI_STATUS_LITE_OP_EXECUTE_FAILURE | Mindspore Lite 算子执行失败的状态码。 |
OH_AI_STATUS_LITE_FORMAT_ERROR | Mindspore Lite 张量格式异常状态码。 |
OH_AI_STATUS_LITE_INFER_ERROR | Mindspore Lite 形状推理异常状态码。 |
OH_AI_STATUS_LITE_INFER_INVALID | Mindspore Lite 无效的形状推理的状态码。 |
OH_AI_STATUS_LITE_INPUT_PARAM_INVALID | Mindspore Lite 用户输入的参数无效状态码。 |
函数说明
OH_AI_ContextAddDeviceInfo()
OH_AI_API void OH_AI_ContextAddDeviceInfo (OH_AI_ContextHandle context, OH_AI_DeviceInfoHandle device_info )
描述:
将一个用户定义的运行设备信息附加到推理上下文中。
参数:
名称 | 描述 |
---|---|
context | 指向上下文信息实例的OH_AI_ContextHandle。 |
device_info | 指向设备信息实例的OH_AI_DeviceInfoHandle。 |
OH_AI_ContextCreate()
OH_AI_API OH_AI_ContextHandle OH_AI_ContextCreate ()
描述:
创建一个上下文的对象。
返回:
指向上下文信息的OH_AI_ContextHandle。
OH_AI_ContextDestroy()
OH_AI_API void OH_AI_ContextDestroy (OH_AI_ContextHandle * context)
描述:
释放上下文对象。
参数:
名称 | 描述 |
---|---|
context | 指向OH_AI_ContextHandle的二级指针,上下文销毁后会对context置为空指针。 |
OH_AI_ContextGetEnableParallel()
OH_AI_API bool OH_AI_ContextGetEnableParallel (const OH_AI_ContextHandle context)
描述:
获取是否支持算子间并行。
参数:
名称 | 描述 |
---|---|
context | 指向上下文信息实例的OH_AI_ContextHandle。 |
返回:
是否支持并行。true 为支持并行, false 为不支持并行。
OH_AI_ContextGetThreadAffinityCoreList()
OH_AI_API const int32_t* OH_AI_ContextGetThreadAffinityCoreList (const OH_AI_ContextHandle context, size_t * core_num )
描述:
获取CPU绑核列表。
参数:
名称 | 描述 |
---|---|
context | 指向上下文信息实例的OH_AI_ContextHandle。 |
core_num | 该参数是输出参数,表示核的数量。 |
返回:
CPU绑核列表。此列表对象由OH_AI_ContextHandle管理,调用者无须手动释放。
OH_AI_ContextGetThreadAffinityMode()
OH_AI_API int OH_AI_ContextGetThreadAffinityMode (const OH_AI_ContextHandle context)
描述:
获取运行时线程绑定CPU核心的策略。
参数:
名称 | 描述 |
---|---|
context | 指向上下文信息实例的OH_AI_ContextHandle。 |
返回:
绑核策略。一共有三种策略,0为不绑核, 1为大核优先, 2为中核优先。
OH_AI_ContextGetThreadNum()
OH_AI_API int32_t OH_AI_ContextGetThreadNum (const OH_AI_ContextHandle context)
描述:
获取线程数量。
参数:
名称 | 描述 |
---|---|
context | 指向上下文信息实例的OH_AI_ContextHandle。 |
返回:
当前的线程数量。
OH_AI_ContextSetEnableParallel()
OH_AI_API void OH_AI_ContextSetEnableParallel (OH_AI_ContextHandle context, bool is_parallel )
描述:
设置运行时是否支持并行。此接口特性当前未开启,设置无效。
参数:
名称 | 描述 |
---|---|
context | 指向上下文信息实例的OH_AI_ContextHandle。 |
is_parallel | 是否支持并行。true 为支持并行, false 为不支持并行。 |
OH_AI_ContextSetThreadAffinityCoreList()
OH_AI_API void OH_AI_ContextSetThreadAffinityCoreList (OH_AI_ContextHandle context, const int32_t * core_list, size_t core_num )
描述:
设置运行时线程绑定CPU核心的列表。
例如:当core_list=[2,6,8]时,则线程会在CPU的第2,6,8个核心上运行。 如果对于同一个上下文对象,调用了OH_AI_ContextSetThreadAffinityMode和OH_AI_ContextSetThreadAffinityCoreList 这两个函数,则仅OH_AI_ContextSetThreadAffinityCoreList的core_list参数生效,而OH_AI_ContextSetThreadAffinityMode的 mode参数不生效。
参数:
名称 | 描述 |
---|---|
context | 指向上下文信息实例的OH_AI_ContextHandle。 |
core_list | CPU绑核的列表。 |
core_num | 核的数量,它就代表core_list的长度。 |
OH_AI_ContextSetThreadAffinityMode()
OH_AI_API void OH_AI_ContextSetThreadAffinityMode (OH_AI_ContextHandle context, int mode )
描述:
设置运行时线程绑定CPU核心的策略,按照CPU物理核频率分为大、中、小三种类型的核心,并且仅需绑大核或者绑中核,不需要绑小核。
参数:
名称 | 描述 |
---|---|
context | 指向上下文信息实例的OH_AI_ContextHandle。 |
mode | 绑核策略。一共有三种策略,0为不绑核, 1为大核优先, 2为中核优先。 |
OH_AI_ContextSetThreadNum()
OH_AI_API void OH_AI_ContextSetThreadNum (OH_AI_ContextHandle context, int32_t thread_num )
描述:
设置运行时的线程数量。
参数:
名称 | 描述 |
---|---|
context | 指向上下文信息实例的OH_AI_ContextHandle |
thread_num | 运行时的线程数量。 |
OH_AI_CreateNNRTDeviceInfoByName()
OH_AI_API OH_AI_DeviceInfoHandle OH_AI_CreateNNRTDeviceInfoByName (const char * name)
描述:
查找指定名称的NNRT设备,根据找到的第一个设备信息,创建NNRT设备信息。
参数:
名称 | 描述 |
---|---|
name | 目标NNRT设备名。 |
返回:
指向设备信息实例的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 目标NNRT设备类型。 |
返回:
指向设备信息实例的OH_AI_DeviceInfoHandle。
起始版本:
10
OH_AI_DestroyAllNNRTDeviceDescs()
OH_AI_API void OH_AI_DestroyAllNNRTDeviceDescs (NNRTDeviceDesc ** desc)
描述:
销毁从OH_AI_GetAllNNRTDeviceDescs获取的NNRT描写信息实例数组。
参数:
名称 | 描述 |
---|---|
desc | 指向NNRT设备描述信息实例数组的二重指针。销毁结束,desc指向内容会被置为NULL。 |
起始版本:
10
OH_AI_DeviceInfoCreate()
OH_AI_API OH_AI_DeviceInfoHandle OH_AI_DeviceInfoCreate (OH_AI_DeviceType device_type)
描述:
创建一个设备信息对象。
参数:
名称 | 描述 |
---|---|
device_type | 设备类型, 具体见OH_AI_DeviceType。 |
返回:
指向设备信息实例的OH_AI_DeviceInfoHandle。
OH_AI_DeviceInfoDestroy()
OH_AI_API void OH_AI_DeviceInfoDestroy (OH_AI_DeviceInfoHandle * device_info)
描述:
释放设备信息实例。注意:设备信息实例被添加到context后,无需调用者手动释放。
参数:
名称 | 描述 |
---|---|
device_info | 指向设备信息实例的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。 |
返回:
NNRT设备ID。
起始版本:
10
OH_AI_DeviceInfoGetDeviceType()
OH_AI_API OH_AI_DeviceType OH_AI_DeviceInfoGetDeviceType (const OH_AI_DeviceInfoHandle device_info)
描述:
获取设备的类型。
参数:
名称 | 描述 |
---|---|
device_info | 指向设备信息实例的OH_AI_DeviceInfoHandle。 |
返回:
生产商设备类型。
OH_AI_DeviceInfoGetEnableFP16()
OH_AI_API bool OH_AI_DeviceInfoGetEnableFP16 (const OH_AI_DeviceInfoHandle device_info)
描述:
获取是否开启float16推理模式, 仅CPU/GPU设备可用。
参数:
名称 | 描述 |
---|---|
device_info | 指向设备信息实例的OH_AI_DeviceInfoHandle。 |
返回:
设置是否开启float16推理模式。
OH_AI_DeviceInfoGetFrequency()
OH_AI_API int OH_AI_DeviceInfoGetFrequency (const OH_AI_DeviceInfoHandle device_info)
描述:
获取NPU的频率类型,仅NPU设备可用。
参数:
名称 | 描述 |
---|---|
device_info | 指向设备信息实例的OH_AI_DeviceInfoHandle。 |
返回:
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_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_Priority NNRT任务优先级。
起始版本:
10
OH_AI_DeviceInfoGetProvider()
OH_AI_API const char* OH_AI_DeviceInfoGetProvider (const OH_AI_DeviceInfoHandle device_info)
描述:
获取生产商的名称。
参数:
名称 | 描述 |
---|---|
device_info | 指向设备信息实例的OH_AI_DeviceInfoHandle。 |
返回:
生产商的名称。
OH_AI_DeviceInfoGetProviderDevice()
OH_AI_API const char* OH_AI_DeviceInfoGetProviderDevice (const OH_AI_DeviceInfoHandle device_info)
描述:
获取生产商设备的名称。
参数:
名称 | 描述 |
---|---|
device_info | 指向设备信息实例的OH_AI_DeviceInfoHandle。 |
返回:
生产商设备的名称。
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。 |
device_id | NNRT设备ID。 |
起始版本:
10
OH_AI_DeviceInfoSetEnableFP16()
OH_AI_API void OH_AI_DeviceInfoSetEnableFP16 (OH_AI_DeviceInfoHandle device_info, bool is_fp16 )
描述:
设置是否开启float16推理模式,仅CPU/GPU设备可用。
参数:
名称 | 描述 |
---|---|
device_info | 指向设备信息实例的OH_AI_DeviceInfoHandle。 |
is_fp16 | 是否开启float16推理模式。 |
OH_AI_DeviceInfoSetFrequency()
OH_AI_API void OH_AI_DeviceInfoSetFrequency (OH_AI_DeviceInfoHandle device_info, int frequency )
描述:
设置NPU的频率,仅NPU设备可用。
参数:
名称 | 描述 |
---|---|
device_info | 指向设备信息实例的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。 |
mode | 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。 |
priority | OH_AI_Priority NNRT任务优先级。 |
起始版本:
10
OH_AI_DeviceInfoSetProvider()
OH_AI_API void OH_AI_DeviceInfoSetProvider (OH_AI_DeviceInfoHandle device_info, const char * provider )
描述:
设置供应商的名称。
参数:
名称 | 描述 |
---|---|
device_info | 指向设备信息实例的OH_AI_DeviceInfoHandle。 |
provider | 供应商的名称。 |
OH_AI_DeviceInfoSetProviderDevice()
OH_AI_API void OH_AI_DeviceInfoSetProviderDevice (OH_AI_DeviceInfoHandle device_info, const char * device )
描述:
设置生产商设备的名称。
参数:
名称 | 描述 |
---|---|
device_info | 指向设备信息实例的OH_AI_DeviceInfoHandle。 |
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 NNRT设备类型。
起始版本:
10
OH_AI_ModelBuild()
OH_AI_API OH_AI_Status 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_ContextHandle对象仅能传递给OH_AI_ModelBuild或者OH_AI_ModelBuildFromFile一次, 如果多次调用该函数需要创建多个不同的OH_AI_ContextHandle。
参数:
名称 | 描述 |
---|---|
model | 模型对象指针。 |
model_data | 内存中已经加载的模型数据地址。 |
data_size | 模型数据的长度。 |
model_type | 模型文件类型,具体见OH_AI_ModelType。 |
model_context | 模型运行时的上下文环境,具体见 OH_AI_ContextHandle。 |
返回:
枚举类型的状态码OH_AI_Status,若返回MSStatus::kMSStatusSuccess则证明创建成功。
OH_AI_ModelBuildFromFile()
OH_AI_API OH_AI_Status OH_AI_ModelBuildFromFile (OH_AI_ModelHandle model, const char * model_path, OH_AI_ModelType model_type, const OH_AI_ContextHandle model_context )
描述:
通过模型文件加载并编译MindSpore模型。
注意,同一个OH_AI_ContextHandle对象仅能传递给OH_AI_ModelBuild或者OH_AI_ModelBuildFromFile一次, 如果多次调用该函数需要创建多个不同的OH_AI_ContextHandle。
参数:
名称 | 描述 |
---|---|
model | 模型对象指针。 |
model_path | 模型文件路径。 |
model_type | 模型文件类型,具体见OH_AI_ModelType。 |
model_context | 模型运行时的上下文环境,具体见 OH_AI_ContextHandle。 |
返回:
枚举类型的状态码OH_AI_Status,若返回MSStatus::kMSStatusSuccess则证明创建成功。
OH_AI_ModelCreate()
OH_AI_API OH_AI_ModelHandle OH_AI_ModelCreate ()
描述:
创建一个模型对象。
返回:
模型对象指针。
OH_AI_ModelDestroy()
OH_AI_API void OH_AI_ModelDestroy (OH_AI_ModelHandle * model)
描述:
释放一个模型对象。
参数:
名称 | 描述 |
---|---|
model | 模型对象指针。 |
OH_AI_ModelGetInputByTensorName()
OH_AI_API OH_AI_TensorHandle OH_AI_ModelGetInputByTensorName (const OH_AI_ModelHandle model, const char * tensor_name )
描述:
通过张量名获取模型的输入张量。
参数:
名称 | 描述 |
---|---|
model | 模型对象指针。 |
tensor_name | 张量名称。 |
返回:
tensor_name所对应的输入张量的张量指针,如果输入中没有该张量则返回空。
OH_AI_ModelGetInputs()
OH_AI_API OH_AI_TensorHandleArray OH_AI_ModelGetInputs (const OH_AI_ModelHandle model)
描述:
获取模型的输入张量数组结构体。
参数:
名称 | 描述 |
---|---|
model | 模型对象指针。 |
返回:
模型输入对应的张量数组结构体。
OH_AI_ModelGetOutputByTensorName()
OH_AI_API OH_AI_TensorHandle OH_AI_ModelGetOutputByTensorName (const OH_AI_ModelHandle model, const char * tensor_name )
描述:
通过张量名获取模型的输出张量。
参数:
名称 | 描述 |
---|---|
model | 模型对象指针。 |
tensor_name | 张量名称。 |
返回:
tensor_name所对应的输入张量的张量指针,如果输出中没有该张量则返回空。
OH_AI_ModelGetOutputs()
OH_AI_API OH_AI_TensorHandleArray OH_AI_ModelGetOutputs (const OH_AI_ModelHandle model)
描述:
获取模型的输出张量数组结构体。
参数:
名称 | 描述 |
---|---|
model | 模型对象指针。 |
返回:
模型输出对应的张量数组结构体。
OH_AI_ModelPredict()
OH_AI_API OH_AI_Status OH_AI_ModelPredict (OH_AI_ModelHandle model, const OH_AI_TensorHandleArray inputs, OH_AI_TensorHandleArray * outputs, const OH_AI_KernelCallBack before, const OH_AI_KernelCallBack after )
描述:
执行模型推理。
参数:
名称 | 描述 |
---|---|
model | 模型对象指针。 |
inputs | 模型输入对应的张量数组结构体。 |
outputs | 模型输出对应的张量数组结构体的指针。 |
before | 模型推理前执行的回调函数。 |
after | 模型推理后执行的回调函数。 |
返回:
枚举类型的状态码OH_AI_Status,若返回MSStatus::kMSStatusSuccess则证明创建成功。
OH_AI_ModelResize()
OH_AI_API OH_AI_Status OH_AI_ModelResize (OH_AI_ModelHandle model, const OH_AI_TensorHandleArray inputs, OH_AI_ShapeInfo * shape_infos, size_t shape_info_num )
描述:
调整已编译模型的输入形状。
参数:
名称 | 描述 |
---|---|
model | 模型对象指针。 |
inputs | 模型输入对应的张量数组结构体。 |
shape_infos | 输入形状信息数组,按模型输入顺序排列的由形状信息组成的数组,模型会按顺序依次调整张量形状。 |
shape_info_num | 形状信息数组的长度。 |
返回:
枚举类型的状态码OH_AI_Status,若返回MSStatus::kMSStatusSuccess则证明创建成功。
OH_AI_TensorClone()
OH_AI_API OH_AI_TensorHandle OH_AI_TensorClone (OH_AI_TensorHandle tensor)
描述:
深拷贝一个张量。
参数:
名称 | 描述 |
---|---|
tensor | 待拷贝张量的指针。 |
返回:
指向新张量对象句柄。
OH_AI_TensorCreate()
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 )
描述:
创建一个张量对象。
参数:
名称 | 描述 |
---|---|
name | 张量名称 |
type | 张量的数据类型 |
shape | 张量的维度数组。 |
shape_num | 张量维度数组长度。 |
data | 指向数据的指针。 |
data_len | 数据的长度。 |
返回:
指向张量对象句柄。
OH_AI_TensorDestroy()
OH_AI_API void OH_AI_TensorDestroy (OH_AI_TensorHandle * tensor)
描述:
释放张量对象。
参数:
名称 | 描述 |
---|---|
tensor | 指向张量句柄的二级指针。 |
OH_AI_TensorGetData()
OH_AI_API const void* OH_AI_TensorGetData (const OH_AI_TensorHandle tensor)
描述:
获取张量数据的指针。
参数:
名称 | 描述 |
---|---|
tensor | 张量对象句柄。 |
返回:
张量数据的指针。
OH_AI_TensorGetDataSize()
OH_AI_API size_t OH_AI_TensorGetDataSize (const OH_AI_TensorHandle tensor)
描述:
获取张量中的数据的字节数大小。
参数:
名称 | 描述 |
---|---|
tensor | 张量对象句柄。 |
返回:
张量数据的字节数大小。
OH_AI_TensorGetDataType()
OH_AI_API OH_AI_DataType OH_AI_TensorGetDataType (const OH_AI_TensorHandle tensor)
描述:
获取张量类型。
参数:
名称 | 描述 |
---|---|
tensor | 张量对象句柄。 |
返回:
张量的数据类型。
OH_AI_TensorGetElementNum()
OH_AI_API int64_t OH_AI_TensorGetElementNum (const OH_AI_TensorHandle tensor)
描述:
获取张量元素数量。
参数:
名称 | 描述 |
---|---|
tensor | 张量对象句柄。 |
返回:
张量的元素数量。
OH_AI_TensorGetFormat()
OH_AI_API OH_AI_Format OH_AI_TensorGetFormat (const OH_AI_TensorHandle tensor)
描述:
获取张量数据的排列方式。
参数:
名称 | 描述 |
---|---|
tensor | 张量对象句柄。 |
返回:
张量数据的排列方式。
OH_AI_TensorGetMutableData()
OH_AI_API void* OH_AI_TensorGetMutableData (const OH_AI_TensorHandle tensor)
描述:
获取可变的张量数据指针。如果数据为空则会开辟内存。
参数:
名称 | 描述 |
---|---|
tensor | 张量对象句柄。 |
返回:
张量数据的指针。
OH_AI_TensorGetName()
OH_AI_API const char* OH_AI_TensorGetName (const OH_AI_TensorHandle tensor)
描述:
获取张量的名称。
参数:
名称 | 描述 |
---|---|
tensor | 张量对象句柄。 |
返回:
张量的名称。
OH_AI_TensorGetShape()
OH_AI_API const int64_t* OH_AI_TensorGetShape (const OH_AI_TensorHandle tensor, size_t * shape_num )
描述:
获取张量的形状。
参数:
名称 | 描述 |
---|---|
tensor | 张量对象句柄。 |
shape_num | 该参数是输出参数,形状数组的长度会写入该变量。 |
返回:
形状数组。
OH_AI_TensorSetData()
OH_AI_API void OH_AI_TensorSetData (OH_AI_TensorHandle tensor, void * data )
描述:
设置张量的数据。
参数:
名称 | 描述 |
---|---|
tensor | 张量对象句柄。 |
data | 指向数据的指针。 |
OH_AI_TensorSetDataType()
OH_AI_API void OH_AI_TensorSetDataType (OH_AI_TensorHandle tensor, OH_AI_DataType type )
描述:
设置张量的数据类型。
参数:
名称 | 描述 |
---|---|
tensor | 张量对象句柄。 |
type | 数据类型,具体见OH_AI_DataType。 |
OH_AI_TensorSetFormat()
OH_AI_API void OH_AI_TensorSetFormat (OH_AI_TensorHandle tensor, OH_AI_Format format )
描述:
设置张量数据的排列方式。
参数:
名称 | 描述 |
---|---|
tensor | 张量对象句柄。 |
format | 张量数据排列方式。 |
OH_AI_TensorSetName()
OH_AI_API void OH_AI_TensorSetName (OH_AI_TensorHandle tensor, const char *name )
描述:
设置张量的名称。
参数:
名称 | 描述 |
---|---|
tensor | 张量对象句柄。 |
name | 张量名称。 |
OH_AI_TensorSetShape()
OH_AI_API void OH_AI_TensorSetShape (OH_AI_TensorHandle tensor, const int64_t * shape, size_t shape_num )
描述:
设置张量的形状。
参数:
名称 | 描述 |
---|---|
tensor | 张量对象句柄。 |
shape | 形状数组。 |
shape_num | 张量形状数组长度。 |
OH_AI_TensorSetUserData()
OH_AI_API OH_AI_Status OH_AI_TensorSetUserData (OH_AI_TensorHandle tensor, void * data, size_t data_size )
描述:
设置张量为用户自行管理的数据。
此接口常用于复用用户数据作为模型输入,可减少一次数据拷贝。
注意:此数据对于张量来说是外部数据,张量销毁时不会主动释放,由调用者负责释放。另外,在此张量使用过程中,调用者须确保此数据有效。
参数:
名称 | 描述 |
---|---|
tensor | 张量对象句柄。 |
data | 用户数据首地址。 |
data_size | 用户数据长度。 |
返回:
执行状态码。若成功返回OH_AI_STATUS_SUCCESS,否则返回具体错误码。
起始版本:
10
OH_AI_DeviceInfoAddExtension()
OH_AI_API OH_AI_Status OH_AI_DeviceInfoAddExtension (OH_AI_DeviceInfoHandle device_info, const char * name, const char * value, size_t value_size )
描述:
向设备信息中添加键/值对形式的扩展配置。只对NNRT设备信息有效。
注意:当前仅支持{“CachePath”: “YourCachePath”},{“CacheVersion”: “YouCacheVersion”}, {“QuantParam”: “YourQuantConfig”} 三种键值对配置,用户根据使用情况替换具体的值。
参数:
名称 | 描述 |
---|---|
device_info | 指向设备信息实例的OH_AI_DeviceInfoHandle。 |
name | 单个扩展项的键,格式为C字符串。 |
value | 单个扩展项的值内容首地址。 |
value_size | 单个扩展项的值内容长度。 |
返回:
OH_AI_Status 执行状态码,若成功返回OH_AI_STATUS_SUCCESS,失败则返回具体错误码。
起始版本:
10
OH_AI_GetElementOfNNRTDeviceDescs()
OH_AI_API NNRTDeviceDesc* OH_AI_GetElementOfNNRTDeviceDescs (NNRTDeviceDesc * descs, size_t index )
描述:
获取NNRT设备描述信息数组中的元素指针。
参数:
名称 | 描述 |
---|---|
descs | NNRT设备描述信息数组。 |
index | 数组元素索引。 |
返回:
NNRT设备描述信息类型指针。
起始版本:
10
你可能感兴趣的鸿蒙文章
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦