MindSpore
Overview
Provides APIs related to MindSpore Lite model inference.
@Syscap SystemCapability.Ai.MindSpore
Since: 9
Summary
Files
Name | Description |
---|---|
context.h | Provides Context APIs for configuring runtime information. File to Include: <mindspore/context.h> |
data_type.h | Declares tensor data types. File to Include: <mindspore/data_type.h> |
format.h | Declares tensor data formats. File to Include: <mindspore/format.h> |
model.h | Provides model-related APIs for model creation and inference. File to Include: <mindspore/model.h> |
status.h | Provides the status codes of MindSpore Lite. File to Include: <mindspore/status.h> |
tensor.h | Provides APIs for creating and modifying tensor information. File to Include: <mindspore/tensor.h> |
types.h | Provides the model file types and device types supported by MindSpore Lite. File to Include: <mindspore/types.h> |
Structs
Name | Description |
---|---|
OH_AI_TensorHandleArray | Defines the tensor array structure, which is used to store the tensor array pointer and tensor array length. |
OH_AI_ShapeInfo | Defines dimension information. The maximum dimension is set by MS_MAX_SHAPE_NUM. |
OH_AI_CallBackParam | Defines the operator information passed in a callback. |
Macros
Name | Description |
---|---|
OH_AI_MAX_SHAPE_NUM 32 | Defines dimension information. The maximum dimension is set by MS_MAX_SHAPE_NUM. |
Types
Name | Description |
---|---|
OH_AI_ContextHandle | Defines the pointer to the MindSpore context. |
OH_AI_DeviceInfoHandle | Defines the pointer to the MindSpore device information. |
OH_AI_DataType | Declares data types supported by MSTensor. |
OH_AI_Format | Declares data formats supported by MSTensor. |
OH_AI_ModelHandle | Defines the pointer to a model object. |
OH_AI_TensorHandleArray | Defines the tensor array structure, which is used to store the tensor array pointer and tensor array length. |
OH_AI_ShapeInfo | Defines dimension information. The maximum dimension is set by MS_MAX_SHAPE_NUM. |
OH_AI_CallBackParam | Defines the operator information passed in a callback. |
OH_AI_KernelCallBack) (const OH_AI_TensorHandleArray inputs, const OH_AI_TensorHandleArray outputs, const OH_AI_CallBackParam kernel_Info) | Defines the pointer to a callback. |
OH_AI_Status | Defines MindSpore status codes. |
OH_AI_TensorHandle | Defines the handle of a tensor object. |
OH_AI_ModelType | Defines model file types. |
OH_AI_DeviceType | Defines the supported device types. |
Enums
Name | Description |
---|---|
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 } |
Declares data types supported by 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 } |
Declares data formats supported by MSTensor. |
OH_AI_CompCode { OH_AI_COMPCODE_CORE = 0x00000000u, OH_AI_COMPCODE_LITE = 0xF0000000u } | Defines MinSpore component codes. |
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 } |
Defines MindSpore status codes. |
OH_AI_ModelType { OH_AI_MODELTYPE_MINDIR = 0, OH_AI_MODELTYPE_INVALID = 0xFFFFFFFF } | Defines model file types. |
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 } |
Defines the supported device types. |
Functions
Name | Description |
---|---|
OH_AI_ContextCreate () | Creates a context object. |
OH_AI_ContextDestroy (OH_AI_ContextHandle *context) | Destroys a context object. |
OH_AI_ContextSetThreadNum (OH_AI_ContextHandle context, int32_t thread_num) | Sets the number of runtime threads. |
OH_AI_ContextGetThreadNum (const OH_AI_ContextHandle context) | Obtains the number of threads. |
OH_AI_ContextSetThreadAffinityMode (OH_AI_ContextHandle context, int mode) | Sets the affinity mode for binding runtime threads to CPU cores, which are categorized into little cores and big cores depending on the CPU frequency. |
OH_AI_ContextGetThreadAffinityMode (const OH_AI_ContextHandle context) | Obtains the affinity mode for binding runtime threads to CPU cores. |
OH_AI_ContextSetThreadAffinityCoreList (OH_AI_ContextHandle context, const int32_t *core_list, size_t core_num) | Sets the list of CPU cores bound to a runtime thread. |
OH_AI_ContextGetThreadAffinityCoreList (const OH_AI_ContextHandle context, size_t *core_num) | Obtains the list of bound CPU cores. |
OH_AI_ContextSetEnableParallel (OH_AI_ContextHandle context, bool is_parallel) | Sets whether to enable parallelism between operators. |
OH_AI_ContextGetEnableParallel (const OH_AI_ContextHandle context) | Checks whether parallelism between operators is supported. |
OH_AI_ContextAddDeviceInfo (OH_AI_ContextHandle context, OH_AI_DeviceInfoHandle device_info) | Adds information about a running device. |
OH_AI_DeviceInfoCreate (OH_AI_DeviceType device_type) | Creates a device information object. |
OH_AI_DeviceInfoDestroy (OH_AI_DeviceInfoHandle *device_info) | Destroys a device information instance. |
OH_AI_DeviceInfoSetProvider (OH_AI_DeviceInfoHandle device_info, const char *provider) | Sets the name of a provider. |
OH_AI_DeviceInfoGetProvider (const OH_AI_DeviceInfoHandle device_info) | Obtains the provider name. |
OH_AI_DeviceInfoSetProviderDevice (OH_AI_DeviceInfoHandle device_info, const char *device) | Sets the name of a provider device. |
OH_AI_DeviceInfoGetProviderDevice (const OH_AI_DeviceInfoHandle device_info) | Obtains the name of a provider device. |
OH_AI_DeviceInfoGetDeviceType (const OH_AI_DeviceInfoHandle device_info) | Obtains the type of a provider device. |
OH_AI_DeviceInfoSetEnableFP16 (OH_AI_DeviceInfoHandle device_info, bool is_fp16) | Sets whether to enable float16 inference. This function is available only for CPU/GPU devices. |
OH_AI_DeviceInfoGetEnableFP16 (const OH_AI_DeviceInfoHandle device_info) | Checks whether float16 inference is enabled. This function is available only for CPU/GPU devices. |
OH_AI_DeviceInfoSetFrequency (OH_AI_DeviceInfoHandle device_info, int frequency) | Sets the NPU frequency type. This function is available only for NPU devices. |
OH_AI_DeviceInfoGetFrequency (const OH_AI_DeviceInfoHandle device_info) | Obtains the NPU frequency type. This function is available only for NPU devices. |
OH_AI_ModelCreate () | Creates a model object. |
OH_AI_ModelDestroy (OH_AI_ModelHandle *model) | Destroys a model object. |
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) | Loads and builds a MindSpore model from the memory buffer. |
OH_AI_ModelBuildFromFile (OH_AI_ModelHandle model, const char *model_path, OH_AI_ModelType model_type, const OH_AI_ContextHandle model_context) | Loads and builds a MindSpore model from a model file. |
OH_AI_ModelResize (OH_AI_ModelHandle model, const OH_AI_TensorHandleArray inputs, OH_AI_ShapeInfo *shape_infos, size_t shape_info_num) | Adjusts the input tensor shapes of a built model. |
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) | Performs model inference. |
OH_AI_ModelGetInputs (const OH_AI_ModelHandle model) | Obtains the input tensor array structure of a model. |
OH_AI_ModelGetOutputs (const OH_AI_ModelHandle model) | Obtains the output tensor array structure of a model. |
OH_AI_ModelGetInputByTensorName (const OH_AI_ModelHandle model, const char *tensor_name) | Obtains the input tensor of a model by tensor name. |
OH_AI_ModelGetOutputByTensorName (const OH_AI_ModelHandle model, const char *tensor_name) | Obtains the output tensor of a model by tensor name. |
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) | Creates a tensor object. |
OH_AI_TensorDestroy (OH_AI_TensorHandle *tensor) | Destroys a tensor object. |
OH_AI_TensorClone (OH_AI_TensorHandle tensor) | Clones a tensor. |
OH_AI_TensorSetName (OH_AI_TensorHandle tensor, const char *name) | Sets the name of a tensor. |
OH_AI_TensorGetName (const OH_AI_TensorHandle tensor) | Obtains the name of a tensor. |
OH_AI_TensorSetDataType (OH_AI_TensorHandle tensor, OH_AI_DataType type) | Sets the data type of a tensor. |
OH_AI_TensorGetDataType (const OH_AI_TensorHandle tensor) | Obtains the data type of a tensor. |
OH_AI_TensorSetShape (OH_AI_TensorHandle tensor, const int64_t *shape, size_t shape_num) | Sets the shape of a tensor. |
OH_AI_TensorGetShape (const OH_AI_TensorHandle tensor, size_t *shape_num) | Obtains the shape of a tensor. |
OH_AI_TensorSetFormat (OH_AI_TensorHandle tensor, OH_AI_Format format) | Sets the tensor data format. |
OH_AI_TensorGetFormat (const OH_AI_TensorHandle tensor) | Obtains the tensor data format. |
OH_AI_TensorSetData (OH_AI_TensorHandle tensor, void *data) | Sets the tensor data. |
OH_AI_TensorGetData (const OH_AI_TensorHandle tensor) | Obtains the pointer to tensor data. |
OH_AI_TensorGetMutableData (const OH_AI_TensorHandle tensor) | Obtains the pointer to variable tensor data. If the data is empty, memory will be allocated. |
OH_AI_TensorGetElementNum (const OH_AI_TensorHandle tensor) | Obtains the number of tensor elements. |
OH_AI_TensorGetDataSize (const OH_AI_TensorHandle tensor) | Obtains the number of bytes of the tensor data. |
Macro Description
OH_AI_MAX_SHAPE_NUM
#define OH_AI_MAX_SHAPE_NUM 32
Description
Defines dimension information. The maximum dimension is set by MS_MAX_SHAPE_NUM.
Type Description
OH_AI_CallBackParam
typedef struct OH_AI_CallBackParamOH_AI_CallBackParam
Description
Defines the operator information passed in a callback.
OH_AI_ContextHandle
typedef void* OH_AI_ContextHandle
Description
Defines the pointer to the MindSpore context.
OH_AI_DataType
typedef enum OH_AI_DataTypeOH_AI_DataType
Description
Declares data types supported by MSTensor.
OH_AI_DeviceInfoHandle
typedef void* OH_AI_DeviceInfoHandle
Description
Defines the pointer to the MindSpore device information.
OH_AI_DeviceType
typedef enum OH_AI_DeviceTypeOH_AI_DeviceType
Description
Defines the supported device types.
OH_AI_Format
typedef enum OH_AI_FormatOH_AI_Format
Description
Declares data formats supported by 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)
Description
Defines the pointer to a callback.
This pointer is used to set the two callback functions in OH_AI_ModelPredict. Each callback function must contain three parameters, where inputs and outputs indicate the input and output tensors of the operator, and kernel_Info indicates information about the current operator. You can use the callback functions to monitor the operator execution status, for example, operator execution time and the operator correctness.
OH_AI_ModelHandle
typedef void* OH_AI_ModelHandle
Description
Defines the pointer to a model object.
OH_AI_ModelType
typedef enum OH_AI_ModelTypeOH_AI_ModelType
Description
Defines model file types.
OH_AI_Status
typedef enum OH_AI_StatusOH_AI_Status
Description
Defines MindSpore status codes.
OH_AI_TensorHandle
typedef void* OH_AI_TensorHandle
Description
Defines the handle of a tensor object.
OH_AI_TensorHandleArray
typedef struct OH_AI_TensorHandleArrayOH_AI_TensorHandleArray
Description
Defines the tensor array structure, which is used to store the tensor array pointer and tensor array length.
Enum Description
OH_AI_CompCode
enum OH_AI_CompCode
Description
Defines MinSpore component codes.
Name | Description |
---|---|
OH_AI_COMPCODE_CORE | MindSpore Core code |
OH_AI_COMPCODE_LITE | MindSpore Lite code |
OH_AI_DataType
enum OH_AI_DataType
Description
Declares data types supported by MSTensor.
Name | Description |
---|---|
OH_AI_DATATYPE_UNKNOWN | Unknown data type |
OH_AI_DATATYPE_OBJECTTYPE_STRING | String data type |
OH_AI_DATATYPE_OBJECTTYPE_LIST | List data type |
OH_AI_DATATYPE_OBJECTTYPE_TUPLE | Tuple data type |
OH_AI_DATATYPE_OBJECTTYPE_TENSOR | TensorList data type |
OH_AI_DATATYPE_NUMBERTYPE_BEGIN | Beginning of the number type |
OH_AI_DATATYPE_NUMBERTYPE_BOOL | Bool data type |
OH_AI_DATATYPE_NUMBERTYPE_INT8 | Int8 data type |
OH_AI_DATATYPE_NUMBERTYPE_INT16 | Int16 data type |
OH_AI_DATATYPE_NUMBERTYPE_INT32 | Int32 data type |
OH_AI_DATATYPE_NUMBERTYPE_INT64 | Int64 data type |
OH_AI_DATATYPE_NUMBERTYPE_UINT8 | UInt8 data type |
OH_AI_DATATYPE_NUMBERTYPE_UINT16 | UInt16 data type |
OH_AI_DATATYPE_NUMBERTYPE_UINT32 | UInt32 data type |
OH_AI_DATATYPE_NUMBERTYPE_UINT64 | UInt64 data type |
OH_AI_DATATYPE_NUMBERTYPE_FLOAT16 | Float16 data type |
OH_AI_DATATYPE_NUMBERTYPE_FLOAT32 | Float32 data type |
OH_AI_DATATYPE_NUMBERTYPE_FLOAT64 | Float64 data type |
OH_AI_DATATYPE_NUMBERTYPE_END | End of the number type |
OH_AI_DataTypeInvalid | Invalid data type |
OH_AI_DeviceType
enum OH_AI_DeviceType
Description
Defines the supported device types.
Name | Description |
---|---|
OH_AI_DEVICETYPE_CPU | Device type: CPU since 9 |
OH_AI_DEVICETYPE_GPU | Device type: GPU Reserved, not support yet. since 9 |
OH_AI_DEVICETYPE_KIRIN_NPU | Device type: Kirin NPU Reserved, not support yet. since 9 |
OH_AI_DEVICETYPE_NNRT | Device type: NNRt OHOS-only device range[60,80). since 9 |
OH_AI_DEVICETYPE_INVALID | Invalid device type since 9 |
OH_AI_Format
enum OH_AI_Format
Description
Declares data formats supported by MSTensor.
Name | Description |
---|---|
OH_AI_FORMAT_NCHW | NCHW format |
OH_AI_FORMAT_NHWC | NHWC format |
OH_AI_FORMAT_NHWC4 | NHWC4 format |
OH_AI_FORMAT_HWKC | HWKC format |
OH_AI_FORMAT_HWCK | HWCK format |
OH_AI_FORMAT_KCHW | KCHW format |
OH_AI_FORMAT_CKHW | CKHW format |
OH_AI_FORMAT_KHWC | KHWC format |
OH_AI_FORMAT_CHWK | CHWK format |
OH_AI_FORMAT_HW | HW format |
OH_AI_FORMAT_HW4 | HW4 format |
OH_AI_FORMAT_NC | NC format |
OH_AI_FORMAT_NC4 | NC4 format |
OH_AI_FORMAT_NC4HW4 | NC4HW4 format |
OH_AI_FORMAT_NCDHW | NCDHW format |
OH_AI_FORMAT_NWC | NWC format |
OH_AI_FORMAT_NCW | NCW format |
OH_AI_ModelType
enum OH_AI_ModelType
Description
Defines model file types.
Name | Description |
---|---|
OH_AI_MODELTYPE_MINDIR | Model type: MindIR since 9 |
OH_AI_MODELTYPE_INVALID | Invalid model type since 9 |
OH_AI_Status
enum OH_AI_Status
Description
Defines MindSpore status codes.
Name | Description |
---|---|
OH_AI_STATUS_SUCCESS | Success |
OH_AI_STATUS_CORE_FAILED | MindSpore Core failure |
OH_AI_STATUS_LITE_ERROR | MindSpore Lite error |
OH_AI_STATUS_LITE_NULLPTR | MindSpore Lite null pointer |
OH_AI_STATUS_LITE_PARAM_INVALID | MindSpore Lite invalid parameters |
OH_AI_STATUS_LITE_NO_CHANGE | MindSpore Lite no change |
OH_AI_STATUS_LITE_SUCCESS_EXIT | MindSpore Lite exit without errors |
OH_AI_STATUS_LITE_MEMORY_FAILED | MindSpore Lite memory allocation failure |
OH_AI_STATUS_LITE_NOT_SUPPORT | MindSpore Lite not supported |
OH_AI_STATUS_LITE_THREADPOOL_ERROR | MindSpore Lite thread pool error |
OH_AI_STATUS_LITE_UNINITIALIZED_OBJ | MindSpore Lite uninitialized |
OH_AI_STATUS_LITE_OUT_OF_TENSOR_RANGE | MindSpore Lite tensor overflow |
OH_AI_STATUS_LITE_INPUT_TENSOR_ERROR | MindSpore Lite input tensor error |
OH_AI_STATUS_LITE_REENTRANT_ERROR | MindSpore Lite reentry error |
OH_AI_STATUS_LITE_GRAPH_FILE_ERROR | MindSpore Lite file error |
OH_AI_STATUS_LITE_NOT_FIND_OP | MindSpore Lite operator not found |
OH_AI_STATUS_LITE_INVALID_OP_NAME | MindSpore Lite invalid operators |
OH_AI_STATUS_LITE_INVALID_OP_ATTR | MindSpore Lite invalid operator hyperparameters |
OH_AI_STATUS_LITE_OP_EXECUTE_FAILURE | MindSpore Lite operator execution failure |
OH_AI_STATUS_LITE_FORMAT_ERROR | MindSpore Lite tensor format error |
OH_AI_STATUS_LITE_INFER_ERROR | MindSpore Lite shape inference error |
OH_AI_STATUS_LITE_INFER_INVALID | MindSpore Lite invalid shape inference |
OH_AI_STATUS_LITE_INPUT_PARAM_INVALID | MindSpore Lite invalid input parameters |
Function Description
OH_AI_ContextAddDeviceInfo()
OH_AI_API void OH_AI_ContextAddDeviceInfo (OH_AI_ContextHandle context, OH_AI_DeviceInfoHandle device_info )
Description
Adds information about a running device.
Parameters
Name | Description |
---|---|
context | OH_AI_ContextHandle that points to the context instance. |
device_info | OH_AI_DeviceInfoHandle that points to a device information instance. |
OH_AI_ContextCreate()
OH_AI_API OH_AI_ContextHandle OH_AI_ContextCreate ()
Description
Creates a context object.
Returns
OH_AI_ContextHandle that points to the context.
OH_AI_ContextDestroy()
OH_AI_API void OH_AI_ContextDestroy (OH_AI_ContextHandle * context)
Description
Destroys a context object.
Parameters
Name | Description |
---|---|
context | Level-2 pointer to OH_AI_ContextHandle. After the context is destroyed, the pointer is set to null. |
OH_AI_ContextGetEnableParallel()
OH_AI_API bool OH_AI_ContextGetEnableParallel (const OH_AI_ContextHandle context)
Description
Checks whether parallelism between operators is supported.
Parameters
Name | Description |
---|---|
context | OH_AI_ContextHandle that points to the context instance. |
Returns
Whether parallelism between operators is supported. The value true means that parallelism between operators is supported, and the value false means the opposite.
OH_AI_ContextGetThreadAffinityCoreList()
OH_AI_API const int32_t* OH_AI_ContextGetThreadAffinityCoreList (const OH_AI_ContextHandle context, size_t * core_num )
Description
Obtains the list of bound CPU cores.
Parameters
Name | Description |
---|---|
context | OH_AI_ContextHandle that points to the context instance. |
core_num | Number of CPU cores. |
Returns
List of bound CPU cores.
OH_AI_ContextGetThreadAffinityMode()
OH_AI_API int OH_AI_ContextGetThreadAffinityMode (const OH_AI_ContextHandle context)
Description
Obtains the affinity mode for binding runtime threads to CPU cores.
Parameters
Name | Description |
---|---|
context | OH_AI_ContextHandle that points to the context instance. |
Returns
Affinity mode. 0: no affinities; 1: big cores first; 2: little cores first
OH_AI_ContextGetThreadNum()
OH_AI_API int32_t OH_AI_ContextGetThreadNum (const OH_AI_ContextHandle context)
Description
Obtains the number of threads.
Parameters
Name | Description |
---|---|
context | OH_AI_ContextHandle that points to the context instance. |
Returns
Number of threads.
OH_AI_ContextSetEnableParallel()
OH_AI_API void OH_AI_ContextSetEnableParallel (OH_AI_ContextHandle context, bool is_parallel )
Description
Sets whether to enable parallelism between operators.
Parameters
Name | Description |
---|---|
context | OH_AI_ContextHandle that points to the context instance. |
is_parallel | Whether to enable parallelism between operators. The value true means to enable parallelism between operators, and the value false means the opposite. |
OH_AI_ContextSetThreadAffinityCoreList()
OH_AI_API void OH_AI_ContextSetThreadAffinityCoreList (OH_AI_ContextHandle context, const int32_t * core_list, size_t core_num )
Description
Sets the list of CPU cores bound to a runtime thread.
For example, if core_list is set to [2,6,8], threads run on the 2nd, 6th, and 8th CPU cores. If OH_AI_ContextSetThreadAffinityMode and OH_AI_ContextSetThreadAffinityCoreList are called for the same context object, the core_list parameter of OH_AI_ContextSetThreadAffinityCoreList takes effect, but the mode parameter of OH_AI_ContextSetThreadAffinityMode does not.
Parameters
Name | Description |
---|---|
context | OH_AI_ContextHandle that points to the context instance. |
core_list | List of bound CPU cores. |
core_num | Number of cores, which indicates the length of core_list. |
OH_AI_ContextSetThreadAffinityMode()
OH_AI_API void OH_AI_ContextSetThreadAffinityMode (OH_AI_ContextHandle context, int mode )
Description
Sets the affinity mode for binding runtime threads to CPU cores, which are categorized into little cores and big cores depending on the CPU frequency.
Parameters
Name | Description |
---|---|
context | OH_AI_ContextHandle that points to the context instance. |
mode | Affinity mode. 0: no affinities; 1: big cores first; 2: little cores first |
OH_AI_ContextSetThreadNum()
OH_AI_API void OH_AI_ContextSetThreadNum (OH_AI_ContextHandle context, int32_t thread_num )
Description
Sets the number of runtime threads.
Parameters
Name | Description |
---|---|
context | OH_AI_ContextHandle that points to the context instance. |
thread_num | Number of runtime threads. |
OH_AI_DeviceInfoCreate()
OH_AI_API OH_AI_DeviceInfoHandle OH_AI_DeviceInfoCreate (OH_AI_DeviceType device_type)
Description
Creates a device information object.
Parameters
Name | Description |
---|---|
device_type | Device type. For details, see OH_AI_DeviceType. |
Returns
OH_AI_DeviceInfoHandle that points to the device information instance.
OH_AI_DeviceInfoDestroy()
OH_AI_API void OH_AI_DeviceInfoDestroy (OH_AI_DeviceInfoHandle * device_info)
Description
Destroys a device information instance.
Parameters
Name | Description |
---|---|
device_info | OH_AI_DeviceInfoHandle that points to a device information instance. |
OH_AI_DeviceInfoGetDeviceType()
OH_AI_API OH_AI_DeviceType OH_AI_DeviceInfoGetDeviceType (const OH_AI_DeviceInfoHandle device_info)
Description
Obtains the type of a provider device.
Parameters
Name | Description |
---|---|
device_info | OH_AI_DeviceInfoHandle that points to a device information instance. |
Returns
Type of the provider device.
OH_AI_DeviceInfoGetEnableFP16()
OH_AI_API bool OH_AI_DeviceInfoGetEnableFP16 (const OH_AI_DeviceInfoHandle device_info)
Description
Checks whether float16 inference is enabled. This function is available only for CPU/GPU devices.
Parameters
Name | Description |
---|---|
device_info | OH_AI_DeviceInfoHandle that points to a device information instance. |
Returns
Whether float16 inference is enabled.
OH_AI_DeviceInfoGetFrequency()
OH_AI_API int OH_AI_DeviceInfoGetFrequency (const OH_AI_DeviceInfoHandle device_info)
Description
Obtains the NPU frequency type. This function is available only for NPU devices.
Parameters
Name | Description |
---|---|
device_info | OH_AI_DeviceInfoHandle that points to a device information instance. |
Returns
Frequency type of the NPU. The value ranges from 0 to 4. 1: low power consumption; 2: balanced; 3: high performance; 4: ultra-high performance
OH_AI_DeviceInfoGetProvider()
OH_AI_API const char* OH_AI_DeviceInfoGetProvider (const OH_AI_DeviceInfoHandle device_info)
Description
Obtains the provider name.
Parameters
Name | Description |
---|---|
device_info | OH_AI_DeviceInfoHandle that points to a device information instance. |
Returns
Provider name.
OH_AI_DeviceInfoGetProviderDevice()
OH_AI_API const char* OH_AI_DeviceInfoGetProviderDevice (const OH_AI_DeviceInfoHandle device_info)
Description
Obtains the name of a provider device.
Parameters
Name | Description |
---|---|
device_info | OH_AI_DeviceInfoHandle that points to a device information instance. |
Returns
Name of the provider device.
OH_AI_DeviceInfoSetEnableFP16()
OH_AI_API void OH_AI_DeviceInfoSetEnableFP16 (OH_AI_DeviceInfoHandle device_info, bool is_fp16 )
Description
Sets whether to enable float16 inference. This function is available only for CPU/GPU devices.
Parameters
Name | Description |
---|---|
device_info | OH_AI_DeviceInfoHandle that points to a device information instance. |
is_fp16 | Whether to enable float16 inference. |
OH_AI_DeviceInfoSetFrequency()
OH_AI_API void OH_AI_DeviceInfoSetFrequency (OH_AI_DeviceInfoHandle device_info, int frequency )
Description
Sets the NPU frequency type. This function is available only for NPU devices.
Parameters
Name | Description |
---|---|
device_info | OH_AI_DeviceInfoHandle that points to a device information instance. |
frequency | NPU frequency type. The value ranges from 0 to 4. The default value is 3. 1: low power consumption; 2: balanced; 3: high performance; 4: ultra-high performance |
OH_AI_DeviceInfoSetProvider()
OH_AI_API void OH_AI_DeviceInfoSetProvider (OH_AI_DeviceInfoHandle device_info, const char * provider )
Description
Sets the name of a provider.
Parameters
Name | Description |
---|---|
device_info | OH_AI_DeviceInfoHandle that points to a device information instance. |
provider | Provider name. |
OH_AI_DeviceInfoSetProviderDevice()
OH_AI_API void OH_AI_DeviceInfoSetProviderDevice (OH_AI_DeviceInfoHandle device_info, const char * device )
Description
Sets the name of a provider device.
Parameters
Name | Description |
---|---|
device_info | OH_AI_DeviceInfoHandle that points to a device information instance. |
device | Name of the provider device, for example, CPU. |
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 )
Description
Loads and builds a MindSpore model from the memory buffer.
Note that the same {@Link OH_AI_ContextHandle} object can only be passed to {@Link OH_AI_ModelBuild} or {@Link OH_AI_ModelBuildFromFile} once. If you call this function multiple times, make sure that you create multiple {@Link OH_AI_ContextHandle} objects accordingly.
Parameters
Name | Description |
---|---|
model | Pointer to the model object. |
model_data | Address of the loaded model data in the memory. |
data_size | Length of the model data. |
model_type | Type of the model file. For details, see OH_AI_ModelType. |
model_context | Context for model running. For details, see OH_AI_ContextHandle. |
Returns
Status code enumerated by OH_AI_Status. The value MSStatus::kMSStatusSuccess indicates that the operation is successful.
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 )
Description
Loads and builds a MindSpore model from a model file.
Note that the same {@Link OH_AI_ContextHandle} object can only be passed to {@Link OH_AI_ModelBuild} or {@Link OH_AI_ModelBuildFromFile} once. If you call this function multiple times, make sure that you create multiple {@Link OH_AI_ContextHandle} objects accordingly.
Parameters
Name | Description |
---|---|
model | Pointer to the model object. |
model_path | Path of the model file. |
model_type | Type of the model file. For details, see OH_AI_ModelType. |
model_context | Context for model running. For details, see OH_AI_ContextHandle. |
Returns
Status code enumerated by OH_AI_Status. The value MSStatus::kMSStatusSuccess indicates that the operation is successful.
OH_AI_ModelCreate()
OH_AI_API OH_AI_ModelHandle OH_AI_ModelCreate ()
Description
Creates a model object.
Returns
Pointer to the model object.
OH_AI_ModelDestroy()
OH_AI_API void OH_AI_ModelDestroy (OH_AI_ModelHandle * model)
Description
Destroys a model object.
Parameters
Name | Description |
---|---|
model | Pointer to the model object. |
OH_AI_ModelGetInputByTensorName()
OH_AI_API OH_AI_TensorHandle OH_AI_ModelGetInputByTensorName (const OH_AI_ModelHandle model, const char * tensor_name )
Description
Obtains the input tensor of a model by tensor name.
Parameters
Name | Description |
---|---|
model | Pointer to the model object. |
tensor_name | Tensor name. |
Returns
Pointer to the input tensor indicated by tensor_name. If the tensor does not exist in the input, null will be returned.
OH_AI_ModelGetInputs()
OH_AI_API OH_AI_TensorHandleArray OH_AI_ModelGetInputs (const OH_AI_ModelHandle model)
Description
Obtains the input tensor array structure of a model.
Parameters
Name | Description |
---|---|
model | Pointer to the model object. |
Returns
Tensor array structure corresponding to the model input.
OH_AI_ModelGetOutputByTensorName()
OH_AI_API OH_AI_TensorHandle OH_AI_ModelGetOutputByTensorName (const OH_AI_ModelHandle model, const char * tensor_name )
Description
Obtains the output tensor of a model by tensor name.
Parameters
Name | Description |
---|---|
model | Pointer to the model object. |
tensor_name | Tensor name. |
Returns
Pointer to the output tensor indicated by tensor_name. If the tensor does not exist in the input, null will be returned.
OH_AI_ModelGetOutputs()
OH_AI_API OH_AI_TensorHandleArray OH_AI_ModelGetOutputs (const OH_AI_ModelHandle model)
Description
Obtains the output tensor array structure of a model.
Parameters
Name | Description |
---|---|
model | Pointer to the model object. |
Returns
Tensor array structure corresponding to the model output.
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 )
Description
Performs model inference.
Parameters
Name | Description |
---|---|
model | Pointer to the model object. |
inputs | Tensor array structure corresponding to the model input. |
outputs | Pointer to the tensor array structure corresponding to the model output. |
before | Callback function executed before model inference. |
after | Callback function executed after model inference. |
Returns
Status code enumerated by OH_AI_Status. The value MSStatus::kMSStatusSuccess indicates that the operation is successful.
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 )
Description
Adjusts the input tensor shapes of a built model.
Parameters
Name | Description |
---|---|
model | Pointer to the model object. |
inputs | Tensor array structure corresponding to the model input. |
shape_infos | Input shape array, which consists of tensor shapes arranged in the model input sequence. The model adjusts the tensor shapes in sequence. |
shape_info_num | Length of the input shape array. |
Returns
Status code enumerated by OH_AI_Status. The value MSStatus::kMSStatusSuccess indicates that the operation is successful.
OH_AI_TensorClone()
OH_AI_API OH_AI_TensorHandle OH_AI_TensorClone (OH_AI_TensorHandle tensor)
Description
Clones a tensor.
Parameters
Name | Description |
---|---|
tensor | Pointer to the tensor to clone. |
Returns
Handle of the new tensor object.
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 )
Description
Creates a tensor object.
Parameters
Name | Description |
---|---|
name | Tensor name. |
type | Tensor data type. |
shape | Tensor dimension array. |
shape_num | Length of the tensor dimension array. |
data | Data pointer. |
data_len | Data length. |
Returns
Handle of the tensor object.
OH_AI_TensorDestroy()
OH_AI_API void OH_AI_TensorDestroy (OH_AI_TensorHandle * tensor)
Description
Destroys a tensor object.
Parameters
Name | Description |
---|---|
tensor | Level-2 pointer to the tensor handle. |
OH_AI_TensorGetData()
OH_AI_API const void* OH_AI_TensorGetData (const OH_AI_TensorHandle tensor)
Description
Obtains the pointer to tensor data.
Parameters
Name | Description |
---|---|
tensor | Handle of the tensor object. |
Returns
Pointer to tensor data.
OH_AI_TensorGetDataSize()
OH_AI_API size_t OH_AI_TensorGetDataSize (const OH_AI_TensorHandle tensor)
Description
Obtains the number of bytes of the tensor data.
Parameters
Name | Description |
---|---|
tensor | Handle of the tensor object. |
Returns
Number of bytes of the tensor data.
OH_AI_TensorGetDataType()
OH_AI_API OH_AI_DataType OH_AI_TensorGetDataType (const OH_AI_TensorHandle tensor)
Description
Obtains the data type of a tensor.
Parameters
Name | Description |
---|---|
tensor | Handle of the tensor object. |
Returns
Data type of the tensor.
OH_AI_TensorGetElementNum()
OH_AI_API int64_t OH_AI_TensorGetElementNum (const OH_AI_TensorHandle tensor)
Description
Obtains the number of tensor elements.
Parameters
Name | Description |
---|---|
tensor | Handle of the tensor object. |
Returns
Number of tensor elements.
OH_AI_TensorGetFormat()
OH_AI_API OH_AI_Format OH_AI_TensorGetFormat (const OH_AI_TensorHandle tensor)
Description
Obtains the tensor data format.
Parameters
Name | Description |
---|---|
tensor | Handle of the tensor object. |
Returns
Tensor data format.
OH_AI_TensorGetMutableData()
OH_AI_API void* OH_AI_TensorGetMutableData (const OH_AI_TensorHandle tensor)
Description
Obtains the pointer to variable tensor data. If the data is empty, memory will be allocated.
Parameters
Name | Description |
---|---|
tensor | Handle of the tensor object. |
Returns
Pointer to variable tensor data.
OH_AI_TensorGetName()
OH_AI_API const char* OH_AI_TensorGetName (const OH_AI_TensorHandle tensor)
Description
Obtains the name of a tensor.
Parameters
Name | Description |
---|---|
tensor | Handle of the tensor object. |
Returns
Tensor name.
OH_AI_TensorGetShape()
OH_AI_API const int64_t* OH_AI_TensorGetShape (const OH_AI_TensorHandle tensor, size_t * shape_num )
Description
Obtains the shape of a tensor.
Parameters
Name | Description |
---|---|
tensor | Handle of the tensor object. |
shape_num | Length of the tensor shape array. |
Returns
Tensor shape array.
OH_AI_TensorSetData()
OH_AI_API void OH_AI_TensorSetData (OH_AI_TensorHandle tensor, void * data )
Description
Sets the tensor data.
Parameters
Name | Description |
---|---|
tensor | Handle of the tensor object. |
data | Data pointer. |
OH_AI_TensorSetDataType()
OH_AI_API void OH_AI_TensorSetDataType (OH_AI_TensorHandle tensor, OH_AI_DataType type )
Description
Sets the data type of a tensor.
Parameters
Name | Description |
---|---|
tensor | Handle of the tensor object. |
type | Data type. For details, see OH_AI_DataType. |
OH_AI_TensorSetFormat()
OH_AI_API void OH_AI_TensorSetFormat (OH_AI_TensorHandle tensor, OH_AI_Format format )
Description
Sets the tensor data format.
Parameters
Name | Description |
---|---|
tensor | Handle of the tensor object. |
format | Tensor data format. |
OH_AI_TensorSetName()
OH_AI_API void OH_AI_TensorSetName (OH_AI_TensorHandle tensor, const char * name )
Description
Sets the name of a tensor.
Parameters
Name | Description |
---|---|
tensor | Handle of the tensor object. |
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 )
Description
Sets the shape of a tensor.
Parameters
Name | Description |
---|---|
tensor | Handle of the tensor object. |
shape | Tensor shape array. |
shape_num | Length of the tensor shape array. |