MindSpore

概述

提供MindSpore Lite的模型推理相关接口。

起始版本: 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_TrainCfgHandle 指向训练配置对象的指针。
OH_AI_TensorHandleArray 张量数组结构体,用于存储张量数组指针和张量数组长度
OH_AI_ShapeInfo 维度信息,最大的维度为MS_MAX_SHAPE_NUM
OH_AI_CallBackParam 回调函数中传入的算子信息。
OH_AI_KernelCallBack) (const OH_AI_TensorHandleArray inputs, const OH_AI_TensorHandleArray outputs, const OH_AI_CallBackParam kernel_Info) 回调函数指针。
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推理任务优先级
OH_AI_OptimizationLevel 训练优化等级。
OH_AI_QuantizationType 量化类型信息。
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_MD = 0x10000000u,
OH_AI_COMPCODE_ME = 0x20000000u,
OH_AI_COMPCODE_MC = 0x30000000u,
OH_AI_COMPCODE_LITE = 0xF0000000u
}
MindSpore不同组件的代码。
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_OptimizationLevel {
OH_AI_KO0 = 0, OH_AI_KO2 = 2, OH_AI_KO3 = 3, OH_AI_KAUTO = 4,
OH_AI_KOPTIMIZATIONTYPE = 0xFFFFFFFF
}
训练优化等级。
OH_AI_QuantizationType { OH_AI_NO_QUANT = 0, OH_AI_WEIGHT_QUANT = 1, OH_AI_FULL_QUANT = 2, OH_AI_UNKNOWN_QUANT_TYPE = 0xFFFFFFFF } 量化类型信息。

函数

名称 描述
OH_AI_ContextCreate () 创建一个上下文的对象。
OH_AI_ContextDestroy (OH_AI_ContextHandle *context) 释放上下文对象。
OH_AI_ContextSetThreadNum (OH_AI_ContextHandle context, int32_t thread_num) 设置运行时的线程数量。
OH_AI_ContextGetThreadNum (const OH_AI_ContextHandle context) 获取线程数量。
OH_AI_ContextSetThreadAffinityMode (OH_AI_ContextHandle context, int mode) 设置运行时线程绑定CPU核心的策略,按照CPU物理核频率分为大、中、小三种类型的核心,并且仅需绑大核或者绑中核,不需要绑小核。
OH_AI_ContextGetThreadAffinityMode (const OH_AI_ContextHandle context) 获取运行时线程绑定CPU核心的策略。
OH_AI_ContextSetThreadAffinityCoreList (OH_AI_ContextHandle context, const int32_t *core_list, size_t core_num) 设置运行时线程绑定CPU核心的列表。
OH_AI_ContextGetThreadAffinityCoreList (const OH_AI_ContextHandle context, size_t *core_num) 获取CPU绑核列表。
OH_AI_ContextSetEnableParallel (OH_AI_ContextHandle context, bool is_parallel) 设置运行时是否支持并行。此接口特性当前未开启,设置无效。
OH_AI_ContextGetEnableParallel (const OH_AI_ContextHandle context) 获取是否支持算子间并行。
OH_AI_ContextAddDeviceInfo (OH_AI_ContextHandle context, OH_AI_DeviceInfoHandle device_info) 将一个用户定义的运行设备信息附加到推理上下文中。
OH_AI_DeviceInfoCreate (OH_AI_DeviceType device_type) 创建一个设备信息对象。
OH_AI_DeviceInfoDestroy (OH_AI_DeviceInfoHandle *device_info) 释放设备信息实例。注意:设备信息实例被添加到context后,无须调用者手动释放。
OH_AI_DeviceInfoSetProvider (OH_AI_DeviceInfoHandle device_info, const char *provider) 设置生产商的名称。
OH_AI_DeviceInfoGetProvider (const OH_AI_DeviceInfoHandle device_info) 获取生产商的名称。
OH_AI_DeviceInfoSetProviderDevice (OH_AI_DeviceInfoHandle device_info, const char *device) 设置生产商设备的名称。
OH_AI_DeviceInfoGetProviderDevice (const OH_AI_DeviceInfoHandle device_info) 获取生产商设备的名称。
OH_AI_DeviceInfoGetDeviceType (const OH_AI_DeviceInfoHandle device_info) 获取设备的类型。
OH_AI_DeviceInfoSetEnableFP16 (OH_AI_DeviceInfoHandle device_info, bool is_fp16) 设置是否开启float16推理模式,仅CPU/GPU设备可用。
OH_AI_DeviceInfoGetEnableFP16 (const OH_AI_DeviceInfoHandle device_info) 获取是否开启float16推理模式, 仅CPU/GPU设备可用。
OH_AI_DeviceInfoSetFrequency (OH_AI_DeviceInfoHandle device_info, int frequency) 设置NPU的频率,仅NPU设备可用。
OH_AI_DeviceInfoGetFrequency (const OH_AI_DeviceInfoHandle device_info) 获取NPU的频率类型,仅NPU设备可用。
OH_AI_GetAllNNRTDeviceDescs (size_t *num) 获取系统中所有NNRT硬件设备的描述信息。
OH_AI_GetElementOfNNRTDeviceDescs (NNRTDeviceDesc *descs, size_t index) 获取NNRT设备描述信息数组中的元素指针。
OH_AI_DestroyAllNNRTDeviceDescs (NNRTDeviceDesc **desc) 销毁从OH_AI_GetAllNNRTDeviceDescs获取的NNRT描写信息实例数组。
OH_AI_GetDeviceIdFromNNRTDeviceDesc (const NNRTDeviceDesc *desc) 从特定的NNRT设备描述信息实例获取NNRT设备ID。注意,此ID只对NNRT有效。
OH_AI_GetNameFromNNRTDeviceDesc (const NNRTDeviceDesc *desc) 从特定的NNRT设备描述信息实例获取NNRT设备名称。
OH_AI_GetTypeFromNNRTDeviceDesc (const NNRTDeviceDesc *desc) 从特定的NNRT设备描述信息实例获取NNRT设备类型。
OH_AI_CreateNNRTDeviceInfoByName (const char *name) 查找指定名称的NNRT设备,根据找到的第一个设备信息,创建NNRT设备信息。
OH_AI_CreateNNRTDeviceInfoByType (OH_AI_NNRTDeviceType type) 查找指定类型的NNRT设备,根据找到的第一个设备信息,创建NNRT设备信息。
OH_AI_DeviceInfoSetDeviceId (OH_AI_DeviceInfoHandle device_info, size_t device_id) 设置NNRT设备ID,仅NNRT设备可用。
OH_AI_DeviceInfoGetDeviceId (const OH_AI_DeviceInfoHandle device_info) 获取NNRT设备ID,仅NNRT设备可用。
OH_AI_DeviceInfoSetPerformanceMode (OH_AI_DeviceInfoHandle device_info, OH_AI_PerformanceMode mode) 设置NNRT性能模式,仅NNRT设备可用。
OH_AI_DeviceInfoGetPerformanceMode (const OH_AI_DeviceInfoHandle device_info) 获取NNRT性能模式,仅NNRT设备可用。
OH_AI_DeviceInfoSetPriority (OH_AI_DeviceInfoHandle device_info, OH_AI_Priority priority) 设置NNRT任务优先级,仅NNRT设备可用。
OH_AI_DeviceInfoGetPriority (const OH_AI_DeviceInfoHandle device_info) 获取NNRT任务优先级,仅NNRT设备可用。
OH_AI_DeviceInfoAddExtension (OH_AI_DeviceInfoHandle device_info, const char *name, const char *value, size_t value_size) 向设备信息中添加键/值对形式的扩展配置。只对NNRT设备信息有效。
OH_AI_ModelCreate () 创建一个模型对象。
OH_AI_ModelDestroy (OH_AI_ModelHandle *model) 释放一个模型对象。
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_ModelBuildFromFile (OH_AI_ModelHandle model, const char *model_path, OH_AI_ModelType model_type, const OH_AI_ContextHandle model_context) 通过模型文件加载并编译MindSpore模型。
OH_AI_ModelResize (OH_AI_ModelHandle model, const OH_AI_TensorHandleArray inputs, OH_AI_ShapeInfo *shape_infos, size_t shape_info_num) 调整已编译模型的输入形状。
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) 执行模型推理。
OH_AI_ModelGetInputs (const OH_AI_ModelHandle model) 获取模型的输入张量数组结构体。
OH_AI_ModelGetOutputs (const OH_AI_ModelHandle model) 获取模型的输出张量数组结构体。
OH_AI_ModelGetInputByTensorName (const OH_AI_ModelHandle model, const char *tensor_name) 通过张量名获取模型的输入张量。
OH_AI_ModelGetOutputByTensorName (const OH_AI_ModelHandle model, const char *tensor_name) 通过张量名获取模型的输出张量。
OH_AI_TrainCfgCreate () 创建训练配置对象指针,仅用于端侧训练。
OH_AI_TrainCfgDestroy (OH_AI_TrainCfgHandle *train_cfg) 销毁训练配置对象指针,仅用于端侧训练。
OH_AI_TrainCfgGetLossName (OH_AI_TrainCfgHandle train_cfg, size_t *num) 获取损失函数的名称列表,仅用于端侧训练。
OH_AI_TrainCfgSetLossName (OH_AI_TrainCfgHandle train_cfg, const char **loss_name, size_t num) 设置损失函数的名称列表,仅用于端侧训练。
OH_AI_TrainCfgGetOptimizationLevel (OH_AI_TrainCfgHandle train_cfg) 获取训练配置的优化等级,仅用于端侧训练。
OH_AI_TrainCfgSetOptimizationLevel (OH_AI_TrainCfgHandle train_cfg, OH_AI_OptimizationLevel level) 设置训练配置的优化等级,仅用于端侧训练。
OH_AI_TrainModelBuild (OH_AI_ModelHandle model, const void *model_data, size_t data_size, OH_AI_ModelType model_type, const OH_AI_ContextHandle model_context, const OH_AI_TrainCfgHandle train_cfg) 从内存缓冲区加载训练模型,并将模型编译至可在Device上运行的状态,仅用于端侧训练。
OH_AI_TrainModelBuildFromFile (OH_AI_ModelHandle model, const char *model_path, OH_AI_ModelType model_type, const OH_AI_ContextHandle model_context, const OH_AI_TrainCfgHandle train_cfg) 根据路径读取加载训练模型,并将模型编译至可在Device上运行的状态,仅用于端侧训练。
OH_AI_RunStep (OH_AI_ModelHandle model, const OH_AI_KernelCallBack before, const OH_AI_KernelCallBack after) 单步训练模型,仅用于端侧训练。
OH_AI_ModelSetLearningRate (OH_AI_ModelHandle model, float learning_rate) 设置训练的学习率,仅用于端侧训练。
OH_AI_ModelGetLearningRate (OH_AI_ModelHandle model) 获取训练的学习率,仅用于端侧训练。
OH_AI_ModelGetWeights (OH_AI_ModelHandle model) 获取模型的所有权重Tensors,仅用于端侧训练。
OH_AI_ModelUpdateWeights (OH_AI_ModelHandle model, const OH_AI_TensorHandleArray new_weights) 更新模型的权重Tensor内容,仅用于端侧训练。
OH_AI_ModelGetTrainMode (OH_AI_ModelHandle model) 获取训练模式。
OH_AI_ModelSetTrainMode (OH_AI_ModelHandle model, bool train) 设置训练模式,仅用于端侧训练。
OH_AI_ModelSetupVirtualBatch (OH_AI_ModelHandle model, int virtual_batch_multiplier, float lr, float momentum) OH_AI_API OH_AI_Status
设置虚拟batch用于训练,仅用于端侧训练。
OH_AI_ExportModel (OH_AI_ModelHandle model, OH_AI_ModelType model_type, const char *model_file, OH_AI_QuantizationType quantization_type, bool export_inference_only, char **output_tensor_name, size_t num) 导出训练模型,仅用于端侧训练。
OH_AI_ExportModelBuffer (OH_AI_ModelHandle model, OH_AI_ModelType model_type, char **model_data, size_t *data_size, OH_AI_QuantizationType quantization_type, bool export_inference_only, char **output_tensor_name, size_t num) 导出训练模型内存缓存,仅用于端侧训练。
OH_AI_ExportWeightsCollaborateWithMicro (OH_AI_ModelHandle model, OH_AI_ModelType model_type, const char *weight_file, bool is_inference, bool enable_fp16, char **changeable_weights_name, size_t num) 导出模型权重,只能用于micro推理,仅用于端侧训练。
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_TensorDestroy (OH_AI_TensorHandle *tensor) 释放张量对象。
OH_AI_TensorClone (OH_AI_TensorHandle tensor) 深拷贝一个张量。
OH_AI_TensorSetName (OH_AI_TensorHandle tensor, const char *name) 设置张量的名称。
OH_AI_TensorGetName (const OH_AI_TensorHandle tensor) 获取张量的名称。
OH_AI_TensorSetDataType (OH_AI_TensorHandle tensor, OH_AI_DataType type) 设置张量的数据类型。
OH_AI_TensorGetDataType (const OH_AI_TensorHandle tensor) 获取张量类型。
OH_AI_TensorSetShape (OH_AI_TensorHandle tensor, const int64_t *shape, size_t shape_num) 设置张量的形状。
OH_AI_TensorGetShape (const OH_AI_TensorHandle tensor, size_t *shape_num) 获取张量的形状。
OH_AI_TensorSetFormat (OH_AI_TensorHandle tensor, OH_AI_Format format) 设置张量数据的排列方式。
OH_AI_TensorGetFormat (const OH_AI_TensorHandle tensor) 获取张量数据的排列方式。
OH_AI_TensorSetData (OH_AI_TensorHandle tensor, void *data) 设置张量的数据。
OH_AI_TensorGetData (const OH_AI_TensorHandle tensor) 获取张量数据的指针。
OH_AI_TensorGetMutableData (const OH_AI_TensorHandle tensor) 获取可变的张量数据指针。如果数据为空则会开辟内存。
OH_AI_TensorGetElementNum (const OH_AI_TensorHandle tensor) 获取张量元素数量。
OH_AI_TensorGetDataSize (const OH_AI_TensorHandle tensor) 获取张量中的数据的字节数大小。
OH_AI_TensorSetUserData (OH_AI_TensorHandle tensor, void *data, size_t data_size) 设置张量为用户自行管理的数据。此接口常用于复用用户数据作为模型输入,可减少一次数据拷贝。 注意:此数据对于张量来说是外部数据,张量销毁时不会主动释放,由调用者负责释放。另外,在此张量 使用过程中,调用者须确保此数据有效。

宏定义说明

OH_AI_MAX_SHAPE_NUM

#define OH_AI_MAX_SHAPE_NUM   32

描述

维度信息,最大的维度为MS_MAX_SHAPE_NUM

起始版本: 9

类型定义说明

NNRTDeviceDesc

typedef struct NNRTDeviceDesc NNRTDeviceDesc

描述

NNRT设备信息描述,包含设备ID,设备名称等信息。

起始版本: 10

OH_AI_CallBackParam

typedef struct OH_AI_CallBackParamOH_AI_CallBackParam

描述

回调函数中传入的算子信息。

起始版本: 9

OH_AI_ContextHandle

typedef void* OH_AI_ContextHandle

描述

Mindspore的上下文信息的指针,该指针会指向Context。

起始版本: 9

OH_AI_DataType

typedef enum OH_AI_DataTypeOH_AI_DataType

描述

MSTensor保存的数据支持的类型。

起始版本: 9

OH_AI_DeviceInfoHandle

typedef void* OH_AI_DeviceInfoHandle

描述

Mindspore的运行设备信息的指针。

起始版本: 9

OH_AI_DeviceType

typedef enum OH_AI_DeviceTypeOH_AI_DeviceType

描述

设备类型信息,包含了目前支持的设备类型。

起始版本: 9

OH_AI_Format

typedef enum OH_AI_FormatOH_AI_Format

描述

MSTensor保存的数据支持的排列格式。

起始版本: 9

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表示当前算子的信息。 可以通过回调函数监控算子执行的情况,例如统计算子的执行时间,校验算子的正确性等等。

起始版本: 9

OH_AI_ModelHandle

typedef void* OH_AI_ModelHandle

描述

指向模型对象的指针。

起始版本: 9

OH_AI_ModelType

typedef enum OH_AI_ModelTypeOH_AI_ModelType

描述

模型文件的类型

起始版本: 9

OH_AI_NNRTDeviceType

typedef enum OH_AI_NNRTDeviceTypeOH_AI_NNRTDeviceType

描述

NNRT管理的硬件设备类型

起始版本: 10

OH_AI_PerformanceMode

typedef enum OH_AI_PerformanceModeOH_AI_PerformanceMode

描述

NNRT硬件的工作性能模式

起始版本: 10

OH_AI_Priority

typedef enum OH_AI_PriorityOH_AI_Priority

描述

NNRT推理任务优先级

起始版本: 10

OH_AI_Status

typedef enum OH_AI_StatusOH_AI_Status

描述

Minspore的状态码

起始版本: 9

OH_AI_TensorHandle

typedef void* OH_AI_TensorHandle

描述

指向张量对象句柄

起始版本: 9

OH_AI_TensorHandleArray

typedef struct OH_AI_TensorHandleArrayOH_AI_TensorHandleArray

描述

张量数组结构体,用于存储张量数组指针和张量数组长度

起始版本: 9

OH_AI_TrainCfgHandle

typedef void* OH_AI_TrainCfgHandle

描述

指向训练配置对象的指针。

起始版本: 11

枚举类型说明

OH_AI_CompCode

enum OH_AI_CompCode

描述

Minspore不同组件的代码

起始版本: 9

枚举值 描述
OH_AI_COMPCODE_CORE MindSpore Core的代码
OH_AI_COMPCODE_MD MindSpore MindData的代码。
OH_AI_COMPCODE_ME MindSpore MindExpression的代码。
OH_AI_COMPCODE_MC MindSpore的代码。
OH_AI_COMPCODE_LITE MindSpore Lite的代码

OH_AI_DataType

enum OH_AI_DataType

描述

MSTensor保存的数据支持的类型。

起始版本: 9

枚举值 描述
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

描述

设备类型信息,包含了目前支持的设备类型。

起始版本: 9

枚举值 描述
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保存的数据支持的排列格式。

起始版本: 9

枚举值 描述
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

描述

模型文件的类型

起始版本: 9

枚举值 描述
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_OptimizationLevel

enum OH_AI_OptimizationLevel

描述:

训练优化等级。

起始版本:

11

枚举值 描述
OH_AI_KO0 无优化等级。
OH_AI_KO2 将网络转换为float16, 保持批量归一化层和损失函数为float32。
OH_AI_KO3 将网络转换为float16, 包括批量归一化层
OH_AI_KAUTO 根据设备选择优化等级。
OH_AI_KOPTIMIZATIONTYPE 无效优化等级。

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_QuantizationType

enum OH_AI_QuantizationType

描述:

量化类型信息。

起始版本:

11

枚举值 描述
OH_AI_NO_QUANT 不做量化
OH_AI_WEIGHT_QUANT 权重量化
OH_AI_FULL_QUANT 全量化
OH_AI_UNKNOWN_QUANT_TYPE 无效量化类型

OH_AI_Status

enum OH_AI_Status

描述

Minspore的状态码

起始版本: 9

枚举值 描述
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 )

描述

将一个用户定义的运行设备信息附加到推理上下文中。

起始版本: 9

参数:

名称 描述
context 指向上下文信息实例的OH_AI_ContextHandle
device_info 指向设备信息实例的OH_AI_DeviceInfoHandle

OH_AI_ContextCreate()

OH_AI_API OH_AI_ContextHandle OH_AI_ContextCreate ()

描述

创建一个上下文的对象。

起始版本: 9

返回:

指向上下文信息的OH_AI_ContextHandle

OH_AI_ContextDestroy()

OH_AI_API void OH_AI_ContextDestroy (OH_AI_ContextHandle * context)

描述

释放上下文对象。

起始版本: 9

参数:

名称 描述
context 指向OH_AI_ContextHandle的二级指针,上下文销毁后会对context置为空指针。

OH_AI_ContextGetEnableParallel()

OH_AI_API bool OH_AI_ContextGetEnableParallel (const OH_AI_ContextHandle context)

描述

获取是否支持算子间并行。

起始版本: 9

参数:

名称 描述
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绑核列表。

起始版本: 9

参数:

名称 描述
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核心的策略。

起始版本: 9

参数:

名称 描述
context 指向上下文信息实例的OH_AI_ContextHandle

返回:

绑核策略。一共有三种策略,0为不绑核, 1为大核优先, 2为中核优先。

OH_AI_ContextGetThreadNum()

OH_AI_API int32_t OH_AI_ContextGetThreadNum (const OH_AI_ContextHandle context)

描述

获取线程数量。

起始版本: 9

参数:

名称 描述
context 指向上下文信息实例的OH_AI_ContextHandle

返回:

当前的线程数量。

OH_AI_ContextSetEnableParallel()

OH_AI_API void OH_AI_ContextSetEnableParallel (OH_AI_ContextHandle context, bool is_parallel )

描述

设置运行时是否支持并行。此接口特性当前未开启,设置无效。

起始版本: 9

参数:

名称 描述
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_ContextSetThreadAffinityModeOH_AI_ContextSetThreadAffinityCoreList 这两个函数,则仅OH_AI_ContextSetThreadAffinityCoreList的core_list参数生效,而OH_AI_ContextSetThreadAffinityMode的 mode参数不生效。

起始版本: 9

参数:

名称 描述
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物理核频率分为大、中、小三种类型的核心,并且仅需绑大核或者绑中核,不需要绑小核。

起始版本: 9

参数:

名称 描述
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 )

描述

设置运行时的线程数量。

起始版本: 9

参数:

名称 描述
context 指向上下文信息实例的OH_AI_ContextHandle
thread_num 运行时的线程数量。

OH_AI_CreateNNRTDeviceInfoByName()

OH_AI_API OH_AI_DeviceInfoHandle OH_AI_CreateNNRTDeviceInfoByName (const char * name)

描述

查找指定名称的NNRT设备,根据找到的第一个设备信息,创建NNRT设备信息。

起始版本: 10

参数:

名称 描述
name 目标NNRT设备名。

返回:

指向设备信息实例的OH_AI_DeviceInfoHandle

OH_AI_CreateNNRTDeviceInfoByType()

OH_AI_API OH_AI_DeviceInfoHandle OH_AI_CreateNNRTDeviceInfoByType (OH_AI_NNRTDeviceType type)

描述

查找指定类型的NNRT设备,根据找到的第一个设备信息,创建NNRT设备信息。

起始版本: 10

参数:

名称 描述
type OH_AI_NNRTDeviceType 目标NNRT设备类型。

返回:

指向设备信息实例的OH_AI_DeviceInfoHandle

OH_AI_DestroyAllNNRTDeviceDescs()

OH_AI_API void OH_AI_DestroyAllNNRTDeviceDescs (NNRTDeviceDesc ** desc)

描述

销毁从OH_AI_GetAllNNRTDeviceDescs获取的NNRT描写信息实例数组。

起始版本: 10

参数:

名称 描述
desc 指向NNRT设备描述信息实例数组的二重指针。销毁结束,desc指向内容会被置为NULL。

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"} 三种键值对配置,用户根据使用情况替换具体的值。

起始版本: 10

参数:

名称 描述
device_info 指向设备信息实例的OH_AI_DeviceInfoHandle
name 单个扩展项的键,格式为C字符串。
value 单个扩展项的值内容首地址。
value_size 单个扩展项的值内容长度。

返回:

OH_AI_Status 执行状态码,若成功返回OH_AI_STATUS_SUCCESS,失败则返回具体错误码。

OH_AI_DeviceInfoCreate()

OH_AI_API OH_AI_DeviceInfoHandle OH_AI_DeviceInfoCreate (OH_AI_DeviceType device_type)

描述

创建一个设备信息对象。

起始版本: 9

参数:

名称 描述
device_type 设备类型, 具体见OH_AI_DeviceType

返回:

指向设备信息实例的OH_AI_DeviceInfoHandle

OH_AI_DeviceInfoDestroy()

OH_AI_API void OH_AI_DeviceInfoDestroy (OH_AI_DeviceInfoHandle * device_info)

描述

释放设备信息实例。注意:设备信息实例被添加到context后,无须调用者手动释放。

起始版本: 9

参数:

名称 描述
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设备可用。

起始版本: 10

参数:

名称 描述
device_info 指向设备信息实例的OH_AI_DeviceInfoHandle

返回:

NNRT设备ID。

OH_AI_DeviceInfoGetDeviceType()

OH_AI_API OH_AI_DeviceType OH_AI_DeviceInfoGetDeviceType (const OH_AI_DeviceInfoHandle device_info)

描述

获取设备的类型。

起始版本: 9

参数:

名称 描述
device_info 指向设备信息实例的OH_AI_DeviceInfoHandle

返回:

生产商设备类型。

OH_AI_DeviceInfoGetEnableFP16()

OH_AI_API bool OH_AI_DeviceInfoGetEnableFP16 (const OH_AI_DeviceInfoHandle device_info)

描述

获取是否开启float16推理模式, 仅CPU/GPU设备可用。

起始版本: 9

参数:

名称 描述
device_info 指向设备信息实例的OH_AI_DeviceInfoHandle

返回:

设置是否开启float16推理模式。

OH_AI_DeviceInfoGetFrequency()

OH_AI_API int OH_AI_DeviceInfoGetFrequency (const OH_AI_DeviceInfoHandle device_info)

描述

获取NPU的频率类型,仅NPU设备可用。

起始版本: 9

参数:

名称 描述
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设备可用。

起始版本: 10

参数:

名称 描述
device_info 指向设备信息实例的OH_AI_DeviceInfoHandle

返回:

OH_AI_PerformanceMode NNRT性能模式。

OH_AI_DeviceInfoGetPriority()

OH_AI_API OH_AI_Priority OH_AI_DeviceInfoGetPriority (const OH_AI_DeviceInfoHandle device_info)

描述

获取NNRT任务优先级,仅NNRT设备可用。

起始版本: 10

参数:

名称 描述
device_info 指向设备信息实例的OH_AI_DeviceInfoHandle

返回:

OH_AI_Priority NNRT任务优先级。

OH_AI_DeviceInfoGetProvider()

OH_AI_API const char* OH_AI_DeviceInfoGetProvider (const OH_AI_DeviceInfoHandle device_info)

描述

获取生产商的名称。

起始版本: 9

参数:

名称 描述
device_info 指向设备信息实例的OH_AI_DeviceInfoHandle

返回:

生产商的名称。

OH_AI_DeviceInfoGetProviderDevice()

OH_AI_API const char* OH_AI_DeviceInfoGetProviderDevice (const OH_AI_DeviceInfoHandle device_info)

描述

获取生产商设备的名称。

起始版本: 9

参数:

名称 描述
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设备可用。

起始版本: 10

参数:

名称 描述
device_info 指向设备信息实例的OH_AI_DeviceInfoHandle
device_id NNRT设备ID。

OH_AI_DeviceInfoSetEnableFP16()

OH_AI_API void OH_AI_DeviceInfoSetEnableFP16 (OH_AI_DeviceInfoHandle device_info, bool is_fp16 )

描述

设置是否开启float16推理模式,仅CPU/GPU设备可用。

起始版本: 9

参数:

名称 描述
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设备可用。

起始版本: 9

参数:

名称 描述
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设备可用。

起始版本: 10

参数:

名称 描述
device_info 指向设备信息实例的OH_AI_DeviceInfoHandle
mode OH_AI_PerformanceMode NNRT性能模式。

OH_AI_DeviceInfoSetPriority()

OH_AI_API void OH_AI_DeviceInfoSetPriority (OH_AI_DeviceInfoHandle device_info, OH_AI_Priority priority )

描述

设置NNRT任务优先级,仅NNRT设备可用。

起始版本: 10

参数:

名称 描述
device_info 指向设备信息实例的OH_AI_DeviceInfoHandle
priority OH_AI_Priority NNRT任务优先级。

OH_AI_DeviceInfoSetProvider()

OH_AI_API void OH_AI_DeviceInfoSetProvider (OH_AI_DeviceInfoHandle device_info, const char * provider )

描述

设置生产商的名称。

起始版本: 9

参数:

名称 描述
device_info 指向设备信息实例的OH_AI_DeviceInfoHandle
provider 生产商的名称。

OH_AI_DeviceInfoSetProviderDevice()

OH_AI_API void OH_AI_DeviceInfoSetProviderDevice (OH_AI_DeviceInfoHandle device_info, const char * device )

描述

设置生产商设备的名称。

起始版本: 9

参数:

名称 描述
device_info 指向设备信息实例的OH_AI_DeviceInfoHandle
device 生产商设备名称。例如: CPU。

OH_AI_ExportModel()

OH_AI_API OH_AI_Status OH_AI_ExportModel (OH_AI_ModelHandle model, OH_AI_ModelType model_type, const char * model_file, OH_AI_QuantizationType quantization_type, bool export_inference_only, char ** output_tensor_name, size_t num )

描述

导出训练模型,仅用于端侧训练。

起始版本: 11

参数:

名称 描述
model 模型对象指针。
model_type 模型文件类型,具体见OH_AI_ModelType
model_file 导出的模型文件路径。
quantization_type 量化类型。
export_inference_only 是否导出推理模型。
output_tensor_name 设置导出模型的输出Tensor,默认为空表示全量导出。
num 输出Tensor的数量。

返回:

枚举类型的状态码OH_AI_Status,若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。

OH_AI_ExportModelBuffer()

OH_AI_API OH_AI_Status OH_AI_ExportModelBuffer (OH_AI_ModelHandle model, OH_AI_ModelType model_type, char ** model_data, size_t * data_size, OH_AI_QuantizationType quantization_type, bool export_inference_only, char ** output_tensor_name, size_t num )

描述 导出训练模型内存缓存,仅用于端侧训练。

起始版本: 11

参数:

名称 描述
model 模型对象指针。
model_type 模型文件类型,具体见OH_AI_ModelType
model_data 指向导出模型文件缓冲区的指针。
data_size 缓冲区大小。
quantization_type 量化类型。
export_inference_only 是否导出推理模型。
output_tensor_name 设置导出模型的输出Tensor,默认为空表示全量导出。
num 输出Tensor的数量。

返回:

枚举类型的状态码OH_AI_Status,若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。

OH_AI_ExportWeightsCollaborateWithMicro()

OH_AI_API OH_AI_Status OH_AI_ExportWeightsCollaborateWithMicro (OH_AI_ModelHandle model, OH_AI_ModelType model_type, const char * weight_file, bool is_inference, bool enable_fp16, char ** changeable_weights_name, size_t num )

描述

导出模型权重,只能用于micro推理,仅用于端侧训练。

起始版本: 11

参数:

名称 描述
model 模型对象指针。
model_type 模型文件类型,具体见OH_AI_ModelType
weight_file 导出的权重文件路径。
is_inference 是否导出推理模型,当前只支持设置为true。
enable_fp16 浮点权重是否保存为float16格式。
changeable_weights_name shape可变的权重Tensor名称。
num shape可变的权重Tensor名称的数量。

返回:

枚举类型的状态码OH_AI_Status,若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。

OH_AI_GetAllNNRTDeviceDescs()

OH_AI_API NNRTDeviceDesc* OH_AI_GetAllNNRTDeviceDescs (size_t * num)

描述

获取系统中所有NNRT硬件设备的描述信息。

起始版本: 10

参数:

名称 描述
num 输出参数,返回设备数量。

返回:

指向NNRT设备描述信息实例数组的指针。当获取失败时,返回NULL。

OH_AI_GetDeviceIdFromNNRTDeviceDesc()

OH_AI_API size_t OH_AI_GetDeviceIdFromNNRTDeviceDesc (const NNRTDeviceDesc * desc)

描述

从特定的NNRT设备描述信息实例获取NNRT设备ID。注意,此ID只对NNRT有效。

起始版本: 10

参数:

名称 描述
desc 指向NNRT设备描述信息实例的指针。

返回:

NNRT设备ID。

OH_AI_GetElementOfNNRTDeviceDescs()

OH_AI_API NNRTDeviceDesc* OH_AI_GetElementOfNNRTDeviceDescs (NNRTDeviceDesc * descs, size_t index )

描述

获取NNRT设备描述信息数组中的元素指针。

起始版本: 10

参数:

名称 描述
descs NNRT设备描述信息数组。
index 数组元素索引。

返回:

NNRT设备描述信息类型指针。

OH_AI_GetNameFromNNRTDeviceDesc()

OH_AI_API const char* OH_AI_GetNameFromNNRTDeviceDesc (const NNRTDeviceDesc * desc)

描述

从特定的NNRT设备描述信息实例获取NNRT设备名称。

起始版本: 10

参数:

名称 描述
desc 指向NNRT设备描述信息实例的指针。

返回:

NNRT设备名称,指向一个常量字符串的指针,该常量字符串由desc持有,调用者无需单独释放此指针。

OH_AI_GetTypeFromNNRTDeviceDesc()

OH_AI_API OH_AI_NNRTDeviceType OH_AI_GetTypeFromNNRTDeviceDesc (const NNRTDeviceDesc * desc)

描述

从特定的NNRT设备描述信息实例获取NNRT设备类型。

起始版本: 10

参数:

名称 描述
desc 指向NNRT设备描述信息实例的指针。

返回:

OH_AI_NNRTDeviceType NNRT设备类型。

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

起始版本: 9

参数:

名称 描述
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

起始版本: 9

参数:

名称 描述
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 ()

描述

创建一个模型对象。

起始版本: 9

返回:

模型对象指针。

OH_AI_ModelDestroy()

OH_AI_API void OH_AI_ModelDestroy (OH_AI_ModelHandle * model)

描述

释放一个模型对象。

起始版本: 9

参数:

名称 描述
model 模型对象指针。

OH_AI_ModelGetInputByTensorName()

OH_AI_API OH_AI_TensorHandle OH_AI_ModelGetInputByTensorName (const OH_AI_ModelHandle model, const char * tensor_name )

描述

通过张量名获取模型的输入张量。

起始版本: 9

参数:

名称 描述
model 模型对象指针。
tensor_name 张量名称。

返回:

tensor_name所对应的输入张量的张量指针,如果输入中没有该张量则返回空。

OH_AI_ModelGetInputs()

OH_AI_API OH_AI_TensorHandleArray OH_AI_ModelGetInputs (const OH_AI_ModelHandle model)

描述

获取模型的输入张量数组结构体。

起始版本: 9

参数:

名称 描述
model 模型对象指针。

返回:

模型输入对应的张量数组结构体。

OH_AI_ModelGetLearningRate()

OH_AI_API float OH_AI_ModelGetLearningRate (OH_AI_ModelHandle model)

描述

获取训练的学习率,仅用于端侧训练。

起始版本: 11

参数:

名称 描述
model 模型对象指针。

返回:

学习率,没有设置优化器时为0.0。

OH_AI_ModelGetOutputByTensorName()

OH_AI_API OH_AI_TensorHandle OH_AI_ModelGetOutputByTensorName (const OH_AI_ModelHandle model, const char * tensor_name )

描述

通过张量名获取模型的输出张量。

起始版本: 9

参数:

名称 描述
model 模型对象指针。
tensor_name 张量名称。

返回:

tensor_name所对应的输入张量的张量指针,如果输出中没有该张量则返回空。

OH_AI_ModelGetOutputs()

OH_AI_API OH_AI_TensorHandleArray OH_AI_ModelGetOutputs (const OH_AI_ModelHandle model)

描述

获取模型的输出张量数组结构体。

起始版本: 9

参数:

名称 描述
model 模型对象指针。

返回:

模型输出对应的张量数组结构体。

OH_AI_ModelGetTrainMode()

OH_AI_API bool OH_AI_ModelGetTrainMode (OH_AI_ModelHandle model)

描述

获取训练模式。

起始版本: 11

参数:

名称 描述
model 模型对象指针。

返回:

表示是否是训练模式。

OH_AI_ModelGetWeights()

OH_AI_API OH_AI_TensorHandleArray OH_AI_ModelGetWeights (OH_AI_ModelHandle model)

描述

获取模型的所有权重Tensors,仅用于端侧训练。

起始版本: 11

参数:

名称 描述
model 模型对象指针。

返回:

模型的所有权重Tensor。

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 )

描述

执行模型推理。

起始版本: 9

参数:

名称 描述
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 )

描述

调整已编译模型的输入形状。

起始版本: 9

参数:

名称 描述
model 模型对象指针。
inputs 模型输入对应的张量数组结构体。
shape_infos 输入形状信息数组,按模型输入顺序排列的由形状信息组成的数组,模型会按顺序依次调整张量形状。
shape_info_num 形状信息数组的长度。

返回:

枚举类型的状态码OH_AI_Status,若返回MSStatus::kMSStatusSuccess则证明创建成功。

OH_AI_ModelSetLearningRate()

OH_AI_API OH_AI_Status OH_AI_ModelSetLearningRate (OH_AI_ModelHandle model, float learning_rate )

描述

设置训练的学习率,仅用于端侧训练。

起始版本: 11

参数:

名称 描述
learning_rate 学习率

返回:

枚举类型的状态码OH_AI_Status,若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。

OH_AI_ModelSetTrainMode()

OH_AI_API OH_AI_Status OH_AI_ModelSetTrainMode (OH_AI_ModelHandle model, bool train )

描述

设置训练模式,仅用于端侧训练。

起始版本: 11

参数:

名称 描述
model 模型对象指针。
train 是否为训练模式。

返回:

枚举类型的状态码OH_AI_Status,若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。

OH_AI_ModelSetupVirtualBatch()

OH_AI_API OH_AI_Status OH_AI_ModelSetupVirtualBatch (OH_AI_ModelHandle model, int virtual_batch_multiplier, float lr, float momentum )

描述

设置虚拟batch用于训练,仅用于端侧训练。

起始版本: 11

参数:

名称 描述
model 模型对象指针。
virtual_batch_multiplier 虚拟batch乘法器,当设置值小于1时,表示禁用虚拟batch。
lr 学习率,默认为-1.0f。
momentum 动量,默认为-1.0f。

返回:

枚举类型的状态码OH_AI_Status,若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。

OH_AI_ModelUpdateWeights()

OH_AI_API OH_AI_Status OH_AI_ModelUpdateWeights (OH_AI_ModelHandle model, const OH_AI_TensorHandleArray new_weights )

描述

更新模型的权重Tensor内容,仅用于端侧训练。

起始版本: 11

参数:

名称 描述
new_weights 要更新的权重Tensor。

返回:

枚举类型的状态码OH_AI_Status,若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。

OH_AI_RunStep()

OH_AI_API OH_AI_Status OH_AI_RunStep (OH_AI_ModelHandle model, const OH_AI_KernelCallBack before, const OH_AI_KernelCallBack after )

描述

单步训练模型,仅用于端侧训练。

起始版本: 11

参数:

名称 描述
model 模型对象指针。
before 模型推理前执行的回调函数。
after 模型推理后执行的回调函数。

返回:

枚举类型的状态码OH_AI_Status,若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。

OH_AI_TensorClone()

OH_AI_API OH_AI_TensorHandle OH_AI_TensorClone (OH_AI_TensorHandle tensor)

描述

深拷贝一个张量。

起始版本: 9

参数:

名称 描述
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 )

描述

创建一个张量对象。

起始版本: 9

参数:

名称 描述
name 张量名称
type 张量的数据类型
shape 张量的维度数组。
shape_num 张量维度数组长度。
data 指向数据的指针。
data_len 数据的长度。

返回:

指向张量对象句柄。

OH_AI_TensorDestroy()

OH_AI_API void OH_AI_TensorDestroy (OH_AI_TensorHandle * tensor)

描述

释放张量对象。

起始版本: 9

参数:

名称 描述
tensor 指向张量句柄的二级指针。

OH_AI_TensorGetData()

OH_AI_API const void* OH_AI_TensorGetData (const OH_AI_TensorHandle tensor)

描述

获取张量数据的指针。

起始版本: 9

参数:

名称 描述
tensor 张量对象句柄。

返回:

张量数据的指针。

OH_AI_TensorGetDataSize()

OH_AI_API size_t OH_AI_TensorGetDataSize (const OH_AI_TensorHandle tensor)

描述

获取张量中的数据的字节数大小。

起始版本: 9

参数:

名称 描述
tensor 张量对象句柄。

返回:

张量数据的字节数大小。

OH_AI_TensorGetDataType()

OH_AI_API OH_AI_DataType OH_AI_TensorGetDataType (const OH_AI_TensorHandle tensor)

描述

获取张量类型。

起始版本: 9

参数:

名称 描述
tensor 张量对象句柄。

返回:

张量的数据类型。

OH_AI_TensorGetElementNum()

OH_AI_API int64_t OH_AI_TensorGetElementNum (const OH_AI_TensorHandle tensor)

描述

获取张量元素数量。

起始版本: 9

参数:

名称 描述
tensor 张量对象句柄。

返回:

张量的元素数量。

OH_AI_TensorGetFormat()

OH_AI_API OH_AI_Format OH_AI_TensorGetFormat (const OH_AI_TensorHandle tensor)

描述

获取张量数据的排列方式。

起始版本: 9

参数:

名称 描述
tensor 张量对象句柄。

返回:

张量数据的排列方式。

OH_AI_TensorGetMutableData()

OH_AI_API void* OH_AI_TensorGetMutableData (const OH_AI_TensorHandle tensor)

描述

获取可变的张量数据指针。如果数据为空则会开辟内存。

起始版本: 9

参数:

名称 描述
tensor 张量对象句柄。

返回:

张量数据的指针。

OH_AI_TensorGetName()

OH_AI_API const char* OH_AI_TensorGetName (const OH_AI_TensorHandle tensor)

描述

获取张量的名称。

起始版本: 9

参数:

名称 描述
tensor 张量对象句柄。

返回:

张量的名称。

OH_AI_TensorGetShape()

OH_AI_API const int64_t* OH_AI_TensorGetShape (const OH_AI_TensorHandle tensor, size_t * shape_num )

描述

获取张量的形状。

起始版本: 9

参数:

名称 描述
tensor 张量对象句柄。
shape_num 该参数是输出参数,形状数组的长度会写入该变量。

返回:

形状数组。

OH_AI_TensorSetData()

OH_AI_API void OH_AI_TensorSetData (OH_AI_TensorHandle tensor, void * data )

描述

设置张量的数据。

起始版本: 9

参数:

名称 描述
tensor 张量对象句柄。
data 指向数据的指针。

OH_AI_TensorSetDataType()

OH_AI_API void OH_AI_TensorSetDataType (OH_AI_TensorHandle tensor, OH_AI_DataType type )

描述

设置张量的数据类型。

起始版本: 9

参数:

名称 描述
tensor 张量对象句柄。
type 数据类型,具体见OH_AI_DataType

OH_AI_TensorSetFormat()

OH_AI_API void OH_AI_TensorSetFormat (OH_AI_TensorHandle tensor, OH_AI_Format format )

描述

设置张量数据的排列方式。

起始版本: 9

参数:

名称 描述
tensor 张量对象句柄。
format 张量数据排列方式。

OH_AI_TensorSetName()

OH_AI_API void OH_AI_TensorSetName (OH_AI_TensorHandle tensor, const char * name )

描述

设置张量的名称。

起始版本: 9

参数:

名称 描述
tensor 张量对象句柄。
name 张量名称。

OH_AI_TensorSetShape()

OH_AI_API void OH_AI_TensorSetShape (OH_AI_TensorHandle tensor, const int64_t * shape, size_t shape_num )

描述

设置张量的形状。

起始版本: 9

参数:

名称 描述
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 )

描述

设置张量为用户自行管理的数据。此接口常用于复用用户数据作为模型输入,可减少一次数据拷贝。 注意:此数据对于张量来说是外部数据,张量销毁时不会主动释放,由调用者负责释放。另外,在此张量 使用过程中,调用者须确保此数据有效。

起始版本: 10

参数:

名称 描述
tensor 张量对象句柄。
data 用户数据首地址。
data_size 用户数据长度。

返回:

执行状态码。若成功返回OH_AI_STATUS_SUCCESS,否则返回具体错误码。

OH_AI_TrainCfgCreate()

OH_AI_API OH_AI_TrainCfgHandle OH_AI_TrainCfgCreate ()

描述

创建训练配置对象指针,仅用于端侧训练。

起始版本: 11

返回:

训练配置对象指针。

OH_AI_TrainCfgDestroy()

OH_AI_API void OH_AI_TrainCfgDestroy (OH_AI_TrainCfgHandle * train_cfg)

描述

销毁训练配置对象指针,仅用于端侧训练。

起始版本: 11

参数:

名称 描述
train_cfg 训练配置对象指针。

OH_AI_TrainCfgGetLossName()

OH_AI_API char** OH_AI_TrainCfgGetLossName (OH_AI_TrainCfgHandle train_cfg, size_t * num )

描述

获取损失函数的名称列表,仅用于端侧训练。

起始版本: 11

参数:

名称 描述
train_cfg 训练配置对象指针。
num 损失函数数量。

返回:

损失函数的名称列表。

OH_AI_TrainCfgGetOptimizationLevel()

OH_AI_API OH_AI_OptimizationLevel OH_AI_TrainCfgGetOptimizationLevel (OH_AI_TrainCfgHandle train_cfg)

描述

获取训练配置的优化等级,仅用于端侧训练。

起始版本: 11

参数:

名称 描述
train_cfg 训练配置对象指针。

返回:

优化等级。

OH_AI_TrainCfgSetLossName()

OH_AI_API void OH_AI_TrainCfgSetLossName (OH_AI_TrainCfgHandle train_cfg, const char ** loss_name, size_t num )

描述

设置损失函数的名称列表,仅用于端侧训练。

起始版本: 11

参数:

名称 描述
train_cfg 训练配置对象指针。
loss_name 损失函数的名称列表。
num 损失函数数量。

OH_AI_TrainCfgSetOptimizationLevel()

OH_AI_API void OH_AI_TrainCfgSetOptimizationLevel (OH_AI_TrainCfgHandle train_cfg, OH_AI_OptimizationLevel level )

描述

设置训练配置的优化等级,仅用于端侧训练。

起始版本: 11

参数:

名称 描述
train_cfg 训练配置对象指针。
level 优化等级。

OH_AI_TrainModelBuild()

OH_AI_API OH_AI_Status OH_AI_TrainModelBuild (OH_AI_ModelHandle model, const void * model_data, size_t data_size, OH_AI_ModelType model_type, const OH_AI_ContextHandle model_context, const OH_AI_TrainCfgHandle train_cfg )

描述

从内存缓冲区加载训练模型,并将模型编译至可在Device上运行的状态,仅用于端侧训练。

起始版本: 11

参数:

名称 描述
model 模型对象指针。
model_data 指向存储读入模型文件缓冲区的指针。
data_size 缓冲区大小。
model_type 模型文件类型,具体见OH_AI_ModelType
model_context 模型运行时的上下文环境,具体见 OH_AI_ContextHandle
train_cfg 训练配置对象指针。

返回:

枚举类型的状态码OH_AI_Status,若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。

OH_AI_TrainModelBuildFromFile()

OH_AI_API OH_AI_Status OH_AI_TrainModelBuildFromFile (OH_AI_ModelHandle model, const char * model_path, OH_AI_ModelType model_type, const OH_AI_ContextHandle model_context, const OH_AI_TrainCfgHandle train_cfg )

描述

根据路径读取加载训练模型,并将模型编译至可在Device上运行的状态,仅用于端侧训练。

起始版本: 11

参数:

名称 描述
model 模型对象指针。
model_path 模型文件路径。
model_type 模型文件类型,具体见OH_AI_ModelType
model_context 模型运行时的上下文环境,具体见 OH_AI_ContextHandle
train_cfg 训练配置对象指针。

返回:

枚举类型的状态码OH_AI_Status,若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。