1e41f4b71Sopenharmony_ci# MindSpore 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci 4e41f4b71Sopenharmony_ci## 概述 5e41f4b71Sopenharmony_ci 6e41f4b71Sopenharmony_ci提供MindSpore Lite的模型推理相关接口,该模块下的接口是非线程安全的。 7e41f4b71Sopenharmony_ci 8e41f4b71Sopenharmony_ci**起始版本:** 9 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ci## 汇总 11e41f4b71Sopenharmony_ci 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci### 文件 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ci| 名称 | 描述 | 16e41f4b71Sopenharmony_ci| -------- | -------- | 17e41f4b71Sopenharmony_ci| [context.h](context_8h.md) | 提供了Context相关的接口,可以配置运行时信息。<br/>引用文件:<mindspore/context.h><br/>库:libmindspore_lite_ndk.so | 18e41f4b71Sopenharmony_ci| [data_type.h](data__type_8h.md) | 声明了张量的数据的类型。<br/>引用文件:<mindspore/data_type.h><br/>库:libmindspore_lite_ndk.so | 19e41f4b71Sopenharmony_ci| [format.h](format_8h.md) | 提供张量数据的排列格式。<br/>引用文件:<mindspore/format.h><br/>库:libmindspore_lite_ndk.so | 20e41f4b71Sopenharmony_ci| [model.h](model_8h.md) | 提供了模型相关接口,可以用于模型创建、模型推理等。<br/>引用文件:<mindspore/model.h><br/>库:libmindspore_lite_ndk.so | 21e41f4b71Sopenharmony_ci| [status.h](status_8h.md) | 提供了MindSpore Lite运行时的状态码。<br/>引用文件:<mindspore/status.h><br/>库:libmindspore_lite_ndk.so | 22e41f4b71Sopenharmony_ci| [tensor.h](tensor_8h.md) | 提供了张量相关的接口,可用于创建和修改张量信息。<br/>引用文件:<mindspore/tensor.h><br/>库:libmindspore_lite_ndk.so | 23e41f4b71Sopenharmony_ci| [types.h](types_8h.md) | 提供了MindSpore Lite支持的模型文件类型和设备类型。<br/>引用文件:<mindspore/types.h><br/>库:libmindspore_lite_ndk.so | 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci 26e41f4b71Sopenharmony_ci### 结构体 27e41f4b71Sopenharmony_ci 28e41f4b71Sopenharmony_ci| 名称 | 描述 | 29e41f4b71Sopenharmony_ci| -------- | -------- | 30e41f4b71Sopenharmony_ci| [OH_AI_TensorHandleArray](_o_h___a_i___tensor_handle_array.md) | 张量数组结构体,用于存储张量数组指针和张量数组长度 | 31e41f4b71Sopenharmony_ci| [OH_AI_ShapeInfo](_o_h___a_i___shape_info.md) | 维度信息,最大的维度为**OH_AI_MAX_SHAPE_NUM**。 | 32e41f4b71Sopenharmony_ci| [OH_AI_CallBackParam](_o_h___a_i___call_back_param.md) | 回调函数中传入的算子信息。 | 33e41f4b71Sopenharmony_ci 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci### 宏定义 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci| 名称 | 描述 | 38e41f4b71Sopenharmony_ci| -------- | -------- | 39e41f4b71Sopenharmony_ci| [OH_AI_MAX_SHAPE_NUM](#oh_ai_max_shape_num) 32 | 张量维度的最大值。 | 40e41f4b71Sopenharmony_ci 41e41f4b71Sopenharmony_ci 42e41f4b71Sopenharmony_ci### 类型定义 43e41f4b71Sopenharmony_ci 44e41f4b71Sopenharmony_ci| 名称 | 描述 | 45e41f4b71Sopenharmony_ci| -------- | -------- | 46e41f4b71Sopenharmony_ci| [OH_AI_ContextHandle](#oh_ai_contexthandle) | MindSpore的上下文信息的指针,该指针会指向Context。 | 47e41f4b71Sopenharmony_ci| [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) | MindSpore的运行设备信息的指针。 | 48e41f4b71Sopenharmony_ci| [OH_AI_DataType](#oh_ai_datatype) | MSTensor保存的数据支持的类型。 | 49e41f4b71Sopenharmony_ci| [OH_AI_Format](#oh_ai_format) | MSTensor保存的数据支持的排列格式。 | 50e41f4b71Sopenharmony_ci| [OH_AI_ModelHandle](#oh_ai_modelhandle) | 指向模型对象的指针。 | 51e41f4b71Sopenharmony_ci| [OH_AI_TrainCfgHandle](#oh_ai_traincfghandle) | 指向训练配置对象的指针。 | 52e41f4b71Sopenharmony_ci| [OH_AI_TensorHandleArray](#oh_ai_tensorhandlearray) | 张量数组结构体,用于存储张量数组指针和张量数组长度 | 53e41f4b71Sopenharmony_ci| [OH_AI_ShapeInfo](_o_h___a_i___shape_info.md) | 维度信息,最大的维度为**OH_AI_MAX_SHAPE_NUM**。 | 54e41f4b71Sopenharmony_ci| [OH_AI_CallBackParam](#oh_ai_callbackparam) | 回调函数中传入的算子信息。 | 55e41f4b71Sopenharmony_ci| [OH_AI_KernelCallBack](#oh_ai_kernelcallback)) (const [OH_AI_TensorHandleArray](_o_h___a_i___tensor_handle_array.md) inputs, const [OH_AI_TensorHandleArray](_o_h___a_i___tensor_handle_array.md) outputs, const [OH_AI_CallBackParam](_o_h___a_i___call_back_param.md) kernel_Info) | 回调函数指针。 | 56e41f4b71Sopenharmony_ci| [OH_AI_Status](#oh_ai_status) | MindSpore的状态码 | 57e41f4b71Sopenharmony_ci| [OH_AI_TensorHandle](#oh_ai_tensorhandle) | 指向张量对象句柄 | 58e41f4b71Sopenharmony_ci| [OH_AI_ModelType](#oh_ai_modeltype) | 模型文件的类型 | 59e41f4b71Sopenharmony_ci| [OH_AI_DeviceType](#oh_ai_devicetype) | 设备类型信息,包含了目前支持的设备类型。 | 60e41f4b71Sopenharmony_ci| [OH_AI_NNRTDeviceType](#oh_ai_nnrtdevicetype) | NNRt管理的硬件设备类型 | 61e41f4b71Sopenharmony_ci| [OH_AI_PerformanceMode](#oh_ai_performancemode) | NNRt硬件的工作性能模式 | 62e41f4b71Sopenharmony_ci| [OH_AI_Priority](#oh_ai_priority) | NNRt推理任务优先级 | 63e41f4b71Sopenharmony_ci| [OH_AI_OptimizationLevel](#oh_ai_optimizationlevel) | 训练优化等级。 | 64e41f4b71Sopenharmony_ci| [OH_AI_QuantizationType](#oh_ai_quantizationtype) | 量化类型信息。 | 65e41f4b71Sopenharmony_ci| [NNRTDeviceDesc](#nnrtdevicedesc) | NNRt设备信息描述,包含设备ID,设备名称等信息。 | 66e41f4b71Sopenharmony_ci| [OH_AI_AllocatorHandle](#oh_ai_allocatorhandle) | 指向内存分配器对象句柄。 | 67e41f4b71Sopenharmony_ci 68e41f4b71Sopenharmony_ci 69e41f4b71Sopenharmony_ci### 枚举 70e41f4b71Sopenharmony_ci 71e41f4b71Sopenharmony_ci| 名称 | 描述 | 72e41f4b71Sopenharmony_ci| -------- | -------- | 73e41f4b71Sopenharmony_ci| [OH_AI_DataType](#oh_ai_datatype) {<br/>OH_AI_DATATYPE_UNKNOWN = 0, OH_AI_DATATYPE_OBJECTTYPE_STRING = 12, OH_AI_DATATYPE_OBJECTTYPE_LIST = 13, OH_AI_DATATYPE_OBJECTTYPE_TUPLE = 14,<br/>OH_AI_DATATYPE_OBJECTTYPE_TENSOR = 17, OH_AI_DATATYPE_NUMBERTYPE_BEGIN = 29, OH_AI_DATATYPE_NUMBERTYPE_BOOL = 30, OH_AI_DATATYPE_NUMBERTYPE_INT8 = 32,<br/>OH_AI_DATATYPE_NUMBERTYPE_INT16 = 33, OH_AI_DATATYPE_NUMBERTYPE_INT32 = 34, OH_AI_DATATYPE_NUMBERTYPE_INT64 = 35, OH_AI_DATATYPE_NUMBERTYPE_UINT8 = 37,<br/>OH_AI_DATATYPE_NUMBERTYPE_UINT16 = 38, OH_AI_DATATYPE_NUMBERTYPE_UINT32 = 39, OH_AI_DATATYPE_NUMBERTYPE_UINT64 = 40, OH_AI_DATATYPE_NUMBERTYPE_FLOAT16 = 42,<br/>OH_AI_DATATYPE_NUMBERTYPE_FLOAT32 = 43, OH_AI_DATATYPE_NUMBERTYPE_FLOAT64 = 44, OH_AI_DATATYPE_NUMBERTYPE_END = 46, OH_AI_DataTypeInvalid = INT32_MAX<br/>} | MSTensor保存的数据支持的类型。 | 74e41f4b71Sopenharmony_ci| [OH_AI_Format](#oh_ai_format) {<br/>OH_AI_FORMAT_NCHW = 0, OH_AI_FORMAT_NHWC = 1, OH_AI_FORMAT_NHWC4 = 2, OH_AI_FORMAT_HWKC = 3,<br/>OH_AI_FORMAT_HWCK = 4, OH_AI_FORMAT_KCHW = 5, OH_AI_FORMAT_CKHW = 6, OH_AI_FORMAT_KHWC = 7,<br/>OH_AI_FORMAT_CHWK = 8, OH_AI_FORMAT_HW = 9, OH_AI_FORMAT_HW4 = 10, OH_AI_FORMAT_NC = 11,<br/>OH_AI_FORMAT_NC4 = 12, OH_AI_FORMAT_NC4HW4 = 13, OH_AI_FORMAT_NCDHW = 15, OH_AI_FORMAT_NWC = 16,<br/>OH_AI_FORMAT_NCW = 17<br/>} | MSTensor保存的数据支持的排列格式。 | 75e41f4b71Sopenharmony_ci| [OH_AI_CompCode](#oh_ai_compcode) { <br/>OH_AI_COMPCODE_CORE = 0x00000000u, <br/>OH_AI_COMPCODE_MD = 0x10000000u, <br/>OH_AI_COMPCODE_ME = 0x20000000u, <br/>OH_AI_COMPCODE_MC = 0x30000000u, <br/>OH_AI_COMPCODE_LITE = 0xF0000000u<br/> } | MindSpore不同组件的代码。 76e41f4b71Sopenharmony_ci| [OH_AI_Status](#oh_ai_status) {<br/>OH_AI_STATUS_SUCCESS = 0, OH_AI_STATUS_CORE_FAILED = OH_AI_COMPCODE_CORE \| 0x1, OH_AI_STATUS_LITE_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF & -1), OH_AI_STATUS_LITE_NULLPTR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF & -2),<br/>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),<br/>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),<br/>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),<br/>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),<br/>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<br/>} | MindSpore的状态码 | 77e41f4b71Sopenharmony_ci| [OH_AI_ModelType](#oh_ai_modeltype) { OH_AI_MODELTYPE_MINDIR = 0, OH_AI_MODELTYPE_INVALID = 0xFFFFFFFF } | 模型文件的类型 | 78e41f4b71Sopenharmony_ci| [OH_AI_DeviceType](#oh_ai_devicetype) {<br/>OH_AI_DEVICETYPE_CPU = 0, OH_AI_DEVICETYPE_GPU, OH_AI_DEVICETYPE_KIRIN_NPU, OH_AI_DEVICETYPE_NNRT = 60,<br/>OH_AI_DEVICETYPE_INVALID = 100<br/>} | 设备类型信息,包含了目前支持的设备类型。 | 79e41f4b71Sopenharmony_ci| [OH_AI_NNRTDeviceType](#oh_ai_nnrtdevicetype) { OH_AI_NNRTDEVICE_OTHERS = 0, OH_AI_NNRTDEVICE_CPU = 1, OH_AI_NNRTDEVICE_GPU = 2, OH_AI_NNRTDEVICE_ACCELERATOR = 3 } | NNRt管理的硬件设备类型 | 80e41f4b71Sopenharmony_ci| [OH_AI_PerformanceMode](#oh_ai_performancemode) {<br/>OH_AI_PERFORMANCE_NONE = 0, OH_AI_PERFORMANCE_LOW = 1, OH_AI_PERFORMANCE_MEDIUM = 2, OH_AI_PERFORMANCE_HIGH = 3,<br/>OH_AI_PERFORMANCE_EXTREME = 4<br/>} | NNRt硬件的工作性能模式 | 81e41f4b71Sopenharmony_ci| [OH_AI_Priority](#oh_ai_priority) { OH_AI_PRIORITY_NONE = 0, OH_AI_PRIORITY_LOW = 1, OH_AI_PRIORITY_MEDIUM = 2, OH_AI_PRIORITY_HIGH = 3 } | NNRt推理任务优先级 | 82e41f4b71Sopenharmony_ci| [OH_AI_OptimizationLevel](#oh_ai_optimizationlevel) {<br/>OH_AI_KO0 = 0, OH_AI_KO2 = 2, OH_AI_KO3 = 3, OH_AI_KAUTO = 4,<br/>OH_AI_KOPTIMIZATIONTYPE = 0xFFFFFFFF<br/>} | 训练优化等级。 | 83e41f4b71Sopenharmony_ci| [OH_AI_QuantizationType](#oh_ai_quantizationtype) { OH_AI_NO_QUANT = 0, OH_AI_WEIGHT_QUANT = 1, OH_AI_FULL_QUANT = 2, OH_AI_UNKNOWN_QUANT_TYPE = 0xFFFFFFFF } | 量化类型信息。 | 84e41f4b71Sopenharmony_ci 85e41f4b71Sopenharmony_ci 86e41f4b71Sopenharmony_ci### 函数 87e41f4b71Sopenharmony_ci 88e41f4b71Sopenharmony_ci| 名称 | 描述 | 89e41f4b71Sopenharmony_ci| -------- | -------- | 90e41f4b71Sopenharmony_ci| [OH_AI_ContextCreate](#oh_ai_contextcreate) () | 创建一个上下文的对象。 | 91e41f4b71Sopenharmony_ci| [OH_AI_ContextDestroy](#oh_ai_contextdestroy) ([OH_AI_ContextHandle](#oh_ai_contexthandle) \*context) | 释放上下文对象。 | 92e41f4b71Sopenharmony_ci| [OH_AI_ContextSetThreadNum](#oh_ai_contextsetthreadnum) ([OH_AI_ContextHandle](#oh_ai_contexthandle) context, int32_t thread_num) | 设置运行时的线程数量。 | 93e41f4b71Sopenharmony_ci| [OH_AI_ContextGetThreadNum](#oh_ai_contextgetthreadnum) (const [OH_AI_ContextHandle](#oh_ai_contexthandle) context) | 获取线程数量。 | 94e41f4b71Sopenharmony_ci| [OH_AI_ContextSetThreadAffinityMode](#oh_ai_contextsetthreadaffinitymode) ([OH_AI_ContextHandle](#oh_ai_contexthandle) context, int mode) | 设置运行时线程绑定CPU核心的策略,按照CPU物理核频率分为大、中、小三种类型的核心,并且仅需绑大核或者绑中核,不需要绑小核。 | 95e41f4b71Sopenharmony_ci| [OH_AI_ContextGetThreadAffinityMode](#oh_ai_contextgetthreadaffinitymode) (const [OH_AI_ContextHandle](#oh_ai_contexthandle) context) | 获取运行时线程绑定CPU核心的策略。 | 96e41f4b71Sopenharmony_ci| [OH_AI_ContextSetThreadAffinityCoreList](#oh_ai_contextsetthreadaffinitycorelist) ([OH_AI_ContextHandle](#oh_ai_contexthandle) context, const int32_t \*core_list, size_t core_num) | 设置运行时线程绑定CPU核心的列表。 | 97e41f4b71Sopenharmony_ci| [OH_AI_ContextGetThreadAffinityCoreList](#oh_ai_contextgetthreadaffinitycorelist) (const [OH_AI_ContextHandle](#oh_ai_contexthandle) context, size_t \*core_num) | 获取CPU绑核列表。 | 98e41f4b71Sopenharmony_ci| [OH_AI_ContextSetEnableParallel](#oh_ai_contextsetenableparallel) ([OH_AI_ContextHandle](#oh_ai_contexthandle) context, bool is_parallel) | 设置运行时是否支持并行。此接口特性当前未开启,设置无效。 | 99e41f4b71Sopenharmony_ci| [OH_AI_ContextGetEnableParallel](#oh_ai_contextgetenableparallel) (const [OH_AI_ContextHandle](#oh_ai_contexthandle) context) | 获取是否支持算子间并行。 | 100e41f4b71Sopenharmony_ci| [OH_AI_ContextAddDeviceInfo](#oh_ai_contextadddeviceinfo) ([OH_AI_ContextHandle](#oh_ai_contexthandle) context, [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 将一个用户定义的运行设备信息附加到推理上下文中。 | 101e41f4b71Sopenharmony_ci| [OH_AI_DeviceInfoCreate](#oh_ai_deviceinfocreate) ([OH_AI_DeviceType](#oh_ai_devicetype) device_type) | 创建一个设备信息对象。 | 102e41f4b71Sopenharmony_ci| [OH_AI_DeviceInfoDestroy](#oh_ai_deviceinfodestroy) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) \*device_info) | 释放设备信息实例。注意:设备信息实例被添加到context后,无须调用者手动释放。 | 103e41f4b71Sopenharmony_ci| [OH_AI_DeviceInfoSetProvider](#oh_ai_deviceinfosetprovider) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info, const char \*provider) | 设置生产商的名称。 | 104e41f4b71Sopenharmony_ci| [OH_AI_DeviceInfoGetProvider](#oh_ai_deviceinfogetprovider) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取生产商的名称。 | 105e41f4b71Sopenharmony_ci| [OH_AI_DeviceInfoSetProviderDevice](#oh_ai_deviceinfosetproviderdevice) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info, const char \*device) | 设置生产商设备的名称。 | 106e41f4b71Sopenharmony_ci| [OH_AI_DeviceInfoGetProviderDevice](#oh_ai_deviceinfogetproviderdevice) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取生产商设备的名称。 | 107e41f4b71Sopenharmony_ci| [OH_AI_DeviceInfoGetDeviceType](#oh_ai_deviceinfogetdevicetype) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取设备的类型。 | 108e41f4b71Sopenharmony_ci| [OH_AI_DeviceInfoSetEnableFP16](#oh_ai_deviceinfosetenablefp16) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info, bool is_fp16) | 设置是否开启float16推理模式,仅CPU/GPU设备可用。 | 109e41f4b71Sopenharmony_ci| [OH_AI_DeviceInfoGetEnableFP16](#oh_ai_deviceinfogetenablefp16) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取是否开启float16推理模式, 仅CPU/GPU设备可用。 | 110e41f4b71Sopenharmony_ci| [OH_AI_DeviceInfoSetFrequency](#oh_ai_deviceinfosetfrequency) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info, int frequency) | 设置NPU的频率,仅NPU设备可用。 | 111e41f4b71Sopenharmony_ci| [OH_AI_DeviceInfoGetFrequency](#oh_ai_deviceinfogetfrequency) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取NPU的频率类型,仅NPU设备可用。 | 112e41f4b71Sopenharmony_ci| [OH_AI_GetAllNNRTDeviceDescs](#oh_ai_getallnnrtdevicedescs) (size_t \*num) | 获取系统中所有NNRt硬件设备的描述信息。 | 113e41f4b71Sopenharmony_ci| [OH_AI_GetElementOfNNRTDeviceDescs](#oh_ai_getelementofnnrtdevicedescs) ([NNRTDeviceDesc](#nnrtdevicedesc) \*descs, size_t index) | 获取NNRt设备描述信息数组中的元素指针。 | 114e41f4b71Sopenharmony_ci| [OH_AI_DestroyAllNNRTDeviceDescs](#oh_ai_destroyallnnrtdevicedescs) ([NNRTDeviceDesc](#nnrtdevicedesc) \*\*desc) | 销毁从[OH_AI_GetAllNNRTDeviceDescs](#oh_ai_getallnnrtdevicedescs)获取的NNRt描写信息实例数组。 | 115e41f4b71Sopenharmony_ci| [OH_AI_GetDeviceIdFromNNRTDeviceDesc](#oh_ai_getdeviceidfromnnrtdevicedesc) (const [NNRtDeviceDesc](#nnrtdevicedesc) \*desc) | 从特定的NNRt设备描述信息实例获取NNRt设备ID。注意,此ID只对NNRt有效。 | 116e41f4b71Sopenharmony_ci| [OH_AI_GetNameFromNNRTDeviceDesc](#oh_ai_getnamefromnnrtdevicedesc) (const [NNRTDeviceDesc](#nnrtdevicedesc) \*desc) | 从特定的NNRt设备描述信息实例获取NNRt设备名称。 | 117e41f4b71Sopenharmony_ci| [OH_AI_GetTypeFromNNRtDeviceDesc](#oh_ai_gettypefromnnrtdevicedesc) (const [NNRTDeviceDesc](#nnrtdevicedesc) \*desc) | 从特定的NNRt设备描述信息实例获取NNRt设备类型。 | 118e41f4b71Sopenharmony_ci| [OH_AI_CreateNNRTDeviceInfoByName](#oh_ai_creatennrtdeviceinfobyname) (const char \*name) | 查找指定名称的NNRt设备,根据找到的第一个设备信息,创建NNRt设备信息。 | 119e41f4b71Sopenharmony_ci| [OH_AI_CreateNNRTDeviceInfoByType](#oh_ai_creatennrtdeviceinfobytype) ([OH_AI_NNRTDeviceType](#oh_ai_nnrtdevicetype) type) | 查找指定类型的NNRt设备,根据找到的第一个设备信息,创建NNRt设备信息。 | 120e41f4b71Sopenharmony_ci| [OH_AI_DeviceInfoSetDeviceId](#oh_ai_deviceinfosetdeviceid) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info, size_t device_id) | 设置NNRt设备ID,仅NNRt设备可用。 | 121e41f4b71Sopenharmony_ci| [OH_AI_DeviceInfoGetDeviceId](#oh_ai_deviceinfogetdeviceid) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取NNRt设备ID,仅NNRt设备可用。 | 122e41f4b71Sopenharmony_ci| [OH_AI_DeviceInfoSetPerformanceMode](#oh_ai_deviceinfosetperformancemode) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info, [OH_AI_PerformanceMode](#oh_ai_performancemode) mode) | 设置NNRt性能模式,仅NNRt设备可用。 | 123e41f4b71Sopenharmony_ci| [OH_AI_DeviceInfoGetPerformanceMode](#oh_ai_deviceinfogetperformancemode) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取NNRt性能模式,仅NNRt设备可用。 | 124e41f4b71Sopenharmony_ci| [OH_AI_DeviceInfoSetPriority](#oh_ai_deviceinfosetpriority) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info, [OH_AI_Priority](#oh_ai_priority) priority) | 设置NNRt任务优先级,仅NNRt设备可用。 | 125e41f4b71Sopenharmony_ci| [OH_AI_DeviceInfoGetPriority](#oh_ai_deviceinfogetpriority) (const [OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info) | 获取NNRt任务优先级,仅NNRt设备可用。 | 126e41f4b71Sopenharmony_ci| [OH_AI_DeviceInfoAddExtension](#oh_ai_deviceinfoaddextension) ([OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle) device_info, const char \*name, const char \*value, size_t value_size) | 向设备信息中添加键/值对形式的扩展配置。只对NNRt设备信息有效。 | 127e41f4b71Sopenharmony_ci| [OH_AI_ModelCreate](#oh_ai_modelcreate) () | 创建一个模型对象。 | 128e41f4b71Sopenharmony_ci| [OH_AI_ModelDestroy](#oh_ai_modeldestroy) ([OH_AI_ModelHandle](#oh_ai_modelhandle) \*model) | 释放一个模型对象。 | 129e41f4b71Sopenharmony_ci| [OH_AI_ModelBuild](#oh_ai_modelbuild) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model, const void \*model_data, size_t data_size, [OH_AI_ModelType](#oh_ai_modeltype) model_type, const [OH_AI_ContextHandle](#oh_ai_contexthandle) model_context) | 从内存缓冲区加载并编译MindSpore模型。 | 130e41f4b71Sopenharmony_ci| [OH_AI_ModelBuildFromFile](#oh_ai_modelbuildfromfile) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model, const char \*model_path, [OH_AI_ModelType](#oh_ai_modeltype) model_type, const [OH_AI_ContextHandle](#oh_ai_contexthandle) model_context) | 通过模型文件加载并编译MindSpore模型。 | 131e41f4b71Sopenharmony_ci| [OH_AI_ModelResize](#oh_ai_modelresize) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model, const [OH_AI_TensorHandleArray](_o_h___a_i___tensor_handle_array.md) inputs, [OH_AI_ShapeInfo](_o_h___a_i___shape_info.md) \*shape_infos, size_t shape_info_num) | 调整已编译模型的输入形状。 | 132e41f4b71Sopenharmony_ci| [OH_AI_ModelPredict](#oh_ai_modelpredict) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model, const [OH_AI_TensorHandleArray](_o_h___a_i___tensor_handle_array.md) inputs, [OH_AI_TensorHandleArray](_o_h___a_i___tensor_handle_array.md) \*outputs, const [OH_AI_KernelCallBack](#oh_ai_kernelcallback) before, const [OH_AI_KernelCallBack](#oh_ai_kernelcallback) after) | 执行模型推理。 | 133e41f4b71Sopenharmony_ci| [OH_AI_ModelGetInputs](#oh_ai_modelgetinputs) (const [OH_AI_ModelHandle](#oh_ai_modelhandle) model) | 获取模型的输入张量数组结构体。 | 134e41f4b71Sopenharmony_ci| [OH_AI_ModelGetOutputs](#oh_ai_modelgetoutputs) (const [OH_AI_ModelHandle](#oh_ai_modelhandle) model) | 获取模型的输出张量数组结构体。 | 135e41f4b71Sopenharmony_ci| [OH_AI_ModelGetInputByTensorName](#oh_ai_modelgetinputbytensorname) (const [OH_AI_ModelHandle](#oh_ai_modelhandle) model, const char \*tensor_name) | 通过张量名获取模型的输入张量。 | 136e41f4b71Sopenharmony_ci| [OH_AI_ModelGetOutputByTensorName](#oh_ai_modelgetoutputbytensorname) (const [OH_AI_ModelHandle](#oh_ai_modelhandle) model, const char \*tensor_name) | 通过张量名获取模型的输出张量。 | 137e41f4b71Sopenharmony_ci| [OH_AI_TrainCfgCreate](#oh_ai_traincfgcreate) () | 创建训练配置对象指针,仅用于端侧训练。 | 138e41f4b71Sopenharmony_ci| [OH_AI_TrainCfgDestroy](#oh_ai_traincfgdestroy) ([OH_AI_TrainCfgHandle](#oh_ai_traincfghandle) \*train_cfg) | 销毁训练配置对象指针,仅用于端侧训练。 | 139e41f4b71Sopenharmony_ci| [OH_AI_TrainCfgGetLossName](#oh_ai_traincfggetlossname) ([OH_AI_TrainCfgHandle](#oh_ai_traincfghandle) train_cfg, size_t \*num) | 获取损失函数的名称列表,仅用于端侧训练。 | 140e41f4b71Sopenharmony_ci| [OH_AI_TrainCfgSetLossName](#oh_ai_traincfgsetlossname) ([OH_AI_TrainCfgHandle](#oh_ai_traincfghandle) train_cfg, const char \*\*loss_name, size_t num) | 设置损失函数的名称列表,仅用于端侧训练。 | 141e41f4b71Sopenharmony_ci| [OH_AI_TrainCfgGetOptimizationLevel](#oh_ai_traincfggetoptimizationlevel) ([OH_AI_TrainCfgHandle](#oh_ai_traincfghandle) train_cfg) | 获取训练配置的优化等级,仅用于端侧训练。 | 142e41f4b71Sopenharmony_ci| [OH_AI_TrainCfgSetOptimizationLevel](#oh_ai_traincfgsetoptimizationlevel) ([OH_AI_TrainCfgHandle](#oh_ai_traincfghandle) train_cfg, [OH_AI_OptimizationLevel](#oh_ai_optimizationlevel) level) | 设置训练配置的优化等级,仅用于端侧训练。 | 143e41f4b71Sopenharmony_ci| [OH_AI_TrainModelBuild](#oh_ai_trainmodelbuild) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model, const void \*model_data, size_t data_size, [OH_AI_ModelType](#oh_ai_modeltype) model_type, const [OH_AI_ContextHandle](#oh_ai_contexthandle) model_context, const [OH_AI_TrainCfgHandle](#oh_ai_traincfghandle) train_cfg) | 从内存缓冲区加载训练模型,并将模型编译至可在Device上运行的状态,仅用于端侧训练。 | 144e41f4b71Sopenharmony_ci| [OH_AI_TrainModelBuildFromFile](#oh_ai_trainmodelbuildfromfile) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model, const char \*model_path, [OH_AI_ModelType](#oh_ai_modeltype) model_type, const [OH_AI_ContextHandle](#oh_ai_contexthandle) model_context, const [OH_AI_TrainCfgHandle](#oh_ai_traincfghandle) train_cfg) | 根据路径读取加载训练模型,并将模型编译至可在Device上运行的状态,仅用于端侧训练。 | 145e41f4b71Sopenharmony_ci| [OH_AI_RunStep](#oh_ai_runstep) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model, const [OH_AI_KernelCallBack](#oh_ai_kernelcallback) before, const [OH_AI_KernelCallBack](#oh_ai_kernelcallback) after) | 单步训练模型,仅用于端侧训练。 | 146e41f4b71Sopenharmony_ci| [OH_AI_ModelSetLearningRate](#oh_ai_modelsetlearningrate) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model, float learning_rate) | 设置训练的学习率,仅用于端侧训练。 | 147e41f4b71Sopenharmony_ci| [OH_AI_ModelGetLearningRate](#oh_ai_modelgetlearningrate) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model) | 获取训练的学习率,仅用于端侧训练。 | 148e41f4b71Sopenharmony_ci| [OH_AI_ModelGetWeights](#oh_ai_modelgetweights) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model) | 获取模型的所有权重Tensors,仅用于端侧训练。 | 149e41f4b71Sopenharmony_ci| [OH_AI_ModelUpdateWeights](#oh_ai_modelupdateweights) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model, const [OH_AI_TensorHandleArray](_o_h___a_i___tensor_handle_array.md) new_weights) | 更新模型的权重Tensor内容,仅用于端侧训练。 | 150e41f4b71Sopenharmony_ci| [OH_AI_ModelGetTrainMode](#oh_ai_modelgettrainmode) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model) | 获取训练模式。 | 151e41f4b71Sopenharmony_ci| [OH_AI_ModelSetTrainMode](#oh_ai_modelsettrainmode) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model, bool train) | 设置训练模式,仅用于端侧训练。 | 152e41f4b71Sopenharmony_ci| [OH_AI_ModelSetupVirtualBatch](#oh_ai_modelsetupvirtualbatch) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model, int virtual_batch_multiplier, float lr, float momentum) | OH_AI_API [OH_AI_Status](#oh_ai_status)<br/>设置虚拟batch用于训练,仅用于端侧训练。 | 153e41f4b71Sopenharmony_ci| [OH_AI_ExportModel](#oh_ai_exportmodel) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model, [OH_AI_ModelType](#oh_ai_modeltype) model_type, const char \*model_file, [OH_AI_QuantizationType](#oh_ai_quantizationtype) quantization_type, bool export_inference_only, char \*\*output_tensor_name, size_t num) | 导出训练模型,仅用于端侧训练。 | 154e41f4b71Sopenharmony_ci| [OH_AI_ExportModelBuffer](#oh_ai_exportmodelbuffer) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model, [OH_AI_ModelType](#oh_ai_modeltype) model_type, char \*\*model_data, size_t \*data_size, [OH_AI_QuantizationType](#oh_ai_quantizationtype) quantization_type, bool export_inference_only, char \*\*output_tensor_name, size_t num) | 导出训练模型内存缓存,仅用于端侧训练。 | 155e41f4b71Sopenharmony_ci| [OH_AI_ExportWeightsCollaborateWithMicro](#oh_ai_exportweightscollaboratewithmicro) ([OH_AI_ModelHandle](#oh_ai_modelhandle) model, [OH_AI_ModelType](#oh_ai_modeltype) model_type, const char \*weight_file, bool is_inference, bool enable_fp16, char \*\*changeable_weights_name, size_t num) | 导出模型权重,只能用于micro推理,仅用于端侧训练。 | 156e41f4b71Sopenharmony_ci| [OH_AI_TensorCreate](#oh_ai_tensorcreate) (const char \*name, [OH_AI_DataType](#oh_ai_datatype) type, const int64_t \*shape, size_t shape_num, const void \*data, size_t data_len) | 创建一个张量对象。 | 157e41f4b71Sopenharmony_ci| [OH_AI_TensorDestroy](#oh_ai_tensordestroy) ([OH_AI_TensorHandle](#oh_ai_tensorhandle) \*tensor) | 释放张量对象。 | 158e41f4b71Sopenharmony_ci| [OH_AI_TensorClone](#oh_ai_tensorclone) ([OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 深拷贝一个张量。 | 159e41f4b71Sopenharmony_ci| [OH_AI_TensorSetName](#oh_ai_tensorsetname) ([OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor, const char \*name) | 设置张量的名称。 | 160e41f4b71Sopenharmony_ci| [OH_AI_TensorGetName](#oh_ai_tensorgetname) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 获取张量的名称。 | 161e41f4b71Sopenharmony_ci| [OH_AI_TensorSetDataType](#oh_ai_tensorsetdatatype) ([OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor, [OH_AI_DataType](#oh_ai_datatype) type) | 设置张量的数据类型。 | 162e41f4b71Sopenharmony_ci| [OH_AI_TensorGetDataType](#oh_ai_tensorgetdatatype) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 获取张量类型。 | 163e41f4b71Sopenharmony_ci| [OH_AI_TensorSetShape](#oh_ai_tensorsetshape) ([OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor, const int64_t \*shape, size_t shape_num) | 设置张量的形状。 | 164e41f4b71Sopenharmony_ci| [OH_AI_TensorGetShape](#oh_ai_tensorgetshape) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor, size_t \*shape_num) | 获取张量的形状。 | 165e41f4b71Sopenharmony_ci| [OH_AI_TensorSetFormat](#oh_ai_tensorsetformat) ([OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor, [OH_AI_Format](#oh_ai_format) format) | 设置张量数据的排列方式。 | 166e41f4b71Sopenharmony_ci| [OH_AI_TensorGetFormat](#oh_ai_tensorgetformat) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 获取张量数据的排列方式。 | 167e41f4b71Sopenharmony_ci| [OH_AI_TensorSetData](#oh_ai_tensorsetdata) ([OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor, void \*data) | 设置张量的数据。 | 168e41f4b71Sopenharmony_ci| [OH_AI_TensorGetData](#oh_ai_tensorgetdata) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 获取张量数据的指针。 | 169e41f4b71Sopenharmony_ci| [OH_AI_TensorGetMutableData](#oh_ai_tensorgetmutabledata) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 获取可变的张量数据指针。如果数据为空则会开辟内存。 | 170e41f4b71Sopenharmony_ci| [OH_AI_TensorGetElementNum](#oh_ai_tensorgetelementnum) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 获取张量元素数量。 | 171e41f4b71Sopenharmony_ci| [OH_AI_TensorGetDataSize](#oh_ai_tensorgetdatasize) (const [OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 获取张量中的数据的字节数大小。 | 172e41f4b71Sopenharmony_ci| [OH_AI_TensorSetUserData](#oh_ai_tensorsetuserdata) ([OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor, void \*data, size_t data_size) | 设置张量为用户自行管理的数据。此接口常用于复用用户数据作为模型输入,可减少一次数据拷贝。 注意:此数据对于张量来说是外部数据,张量销毁时不会主动释放,由调用者负责释放。另外,在此张量 使用过程中,调用者须确保此数据有效。 | 173e41f4b71Sopenharmony_ci| [OH_AI_TensorGetAllocator](#oh_ai_tensorgetallocator)([OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor) | 获取内存分配器。此接口主要是提供一种获取张量的内存分配器的方法。 | 174e41f4b71Sopenharmony_ci| [OH_AI_TensorSetAllocator](#oh_ai_tensorsetallocator)([OH_AI_TensorHandle](#oh_ai_tensorhandle) tensor, [OH_AI_AllocatorHandle](#oh_ai_allocatorhandle) allocator) | 设置内存分配器。设置内存分配器。此接口主要是提供一种设置内存分配器的方法,tensor的内存将由这个分配器分配。 | 175e41f4b71Sopenharmony_ci 176e41f4b71Sopenharmony_ci 177e41f4b71Sopenharmony_ci## 宏定义说明 178e41f4b71Sopenharmony_ci 179e41f4b71Sopenharmony_ci 180e41f4b71Sopenharmony_ci### OH_AI_MAX_SHAPE_NUM 181e41f4b71Sopenharmony_ci 182e41f4b71Sopenharmony_ci``` 183e41f4b71Sopenharmony_ci#define OH_AI_MAX_SHAPE_NUM 32 184e41f4b71Sopenharmony_ci``` 185e41f4b71Sopenharmony_ci 186e41f4b71Sopenharmony_ci**描述** 187e41f4b71Sopenharmony_ci 188e41f4b71Sopenharmony_ci维度信息,最大的维度为**OH_AI_MAX_SHAPE_NUM**。 189e41f4b71Sopenharmony_ci 190e41f4b71Sopenharmony_ci**起始版本:** 9 191e41f4b71Sopenharmony_ci 192e41f4b71Sopenharmony_ci 193e41f4b71Sopenharmony_ci## 类型定义说明 194e41f4b71Sopenharmony_ci 195e41f4b71Sopenharmony_ci 196e41f4b71Sopenharmony_ci### NNRTDeviceDesc 197e41f4b71Sopenharmony_ci 198e41f4b71Sopenharmony_ci``` 199e41f4b71Sopenharmony_citypedef struct NNRTDeviceDesc NNRTDeviceDesc 200e41f4b71Sopenharmony_ci``` 201e41f4b71Sopenharmony_ci 202e41f4b71Sopenharmony_ci**描述** 203e41f4b71Sopenharmony_ci 204e41f4b71Sopenharmony_ciNNRt设备信息描述,包含设备ID,设备名称等信息。 205e41f4b71Sopenharmony_ci 206e41f4b71Sopenharmony_ci**起始版本:** 10 207e41f4b71Sopenharmony_ci 208e41f4b71Sopenharmony_ci### OH_AI_AllocatorHandle 209e41f4b71Sopenharmony_ci 210e41f4b71Sopenharmony_ci``` 211e41f4b71Sopenharmony_citypedef void *OH_AI_AllocatorHandle 212e41f4b71Sopenharmony_ci``` 213e41f4b71Sopenharmony_ci 214e41f4b71Sopenharmony_ci**描述** 215e41f4b71Sopenharmony_ci 216e41f4b71Sopenharmony_ci指向内存分配器对象句柄。 217e41f4b71Sopenharmony_ci 218e41f4b71Sopenharmony_ci**起始版本:** 12 219e41f4b71Sopenharmony_ci 220e41f4b71Sopenharmony_ci### OH_AI_CallBackParam 221e41f4b71Sopenharmony_ci 222e41f4b71Sopenharmony_ci``` 223e41f4b71Sopenharmony_citypedef struct OH_AI_CallBackParam OH_AI_CallBackParam 224e41f4b71Sopenharmony_ci``` 225e41f4b71Sopenharmony_ci 226e41f4b71Sopenharmony_ci**描述** 227e41f4b71Sopenharmony_ci 228e41f4b71Sopenharmony_ci回调函数中传入的算子信息。 229e41f4b71Sopenharmony_ci 230e41f4b71Sopenharmony_ci**起始版本:** 9 231e41f4b71Sopenharmony_ci 232e41f4b71Sopenharmony_ci 233e41f4b71Sopenharmony_ci### OH_AI_ContextHandle 234e41f4b71Sopenharmony_ci 235e41f4b71Sopenharmony_ci``` 236e41f4b71Sopenharmony_citypedef void* OH_AI_ContextHandle 237e41f4b71Sopenharmony_ci``` 238e41f4b71Sopenharmony_ci 239e41f4b71Sopenharmony_ci**描述** 240e41f4b71Sopenharmony_ci 241e41f4b71Sopenharmony_ciMindSpore的上下文信息的指针,该指针会指向Context。 242e41f4b71Sopenharmony_ci 243e41f4b71Sopenharmony_ci**起始版本:** 9 244e41f4b71Sopenharmony_ci 245e41f4b71Sopenharmony_ci 246e41f4b71Sopenharmony_ci### OH_AI_DataType 247e41f4b71Sopenharmony_ci 248e41f4b71Sopenharmony_ci``` 249e41f4b71Sopenharmony_citypedef enum OH_AI_DataType OH_AI_DataType 250e41f4b71Sopenharmony_ci``` 251e41f4b71Sopenharmony_ci 252e41f4b71Sopenharmony_ci**描述** 253e41f4b71Sopenharmony_ci 254e41f4b71Sopenharmony_ciMSTensor保存的数据支持的类型。 255e41f4b71Sopenharmony_ci 256e41f4b71Sopenharmony_ci**起始版本:** 9 257e41f4b71Sopenharmony_ci 258e41f4b71Sopenharmony_ci 259e41f4b71Sopenharmony_ci### OH_AI_DeviceInfoHandle 260e41f4b71Sopenharmony_ci 261e41f4b71Sopenharmony_ci``` 262e41f4b71Sopenharmony_citypedef void* OH_AI_DeviceInfoHandle 263e41f4b71Sopenharmony_ci``` 264e41f4b71Sopenharmony_ci 265e41f4b71Sopenharmony_ci**描述** 266e41f4b71Sopenharmony_ci 267e41f4b71Sopenharmony_ciMindSpore的运行设备信息的指针。 268e41f4b71Sopenharmony_ci 269e41f4b71Sopenharmony_ci**起始版本:** 9 270e41f4b71Sopenharmony_ci 271e41f4b71Sopenharmony_ci 272e41f4b71Sopenharmony_ci### OH_AI_DeviceType 273e41f4b71Sopenharmony_ci 274e41f4b71Sopenharmony_ci``` 275e41f4b71Sopenharmony_citypedef enum OH_AI_DeviceType OH_AI_DeviceType 276e41f4b71Sopenharmony_ci``` 277e41f4b71Sopenharmony_ci 278e41f4b71Sopenharmony_ci**描述** 279e41f4b71Sopenharmony_ci 280e41f4b71Sopenharmony_ci设备类型信息,包含了目前支持的设备类型。 281e41f4b71Sopenharmony_ci 282e41f4b71Sopenharmony_ci**起始版本:** 9 283e41f4b71Sopenharmony_ci 284e41f4b71Sopenharmony_ci 285e41f4b71Sopenharmony_ci### OH_AI_Format 286e41f4b71Sopenharmony_ci 287e41f4b71Sopenharmony_ci``` 288e41f4b71Sopenharmony_citypedef enum OH_AI_Format OH_AI_Format 289e41f4b71Sopenharmony_ci``` 290e41f4b71Sopenharmony_ci 291e41f4b71Sopenharmony_ci**描述** 292e41f4b71Sopenharmony_ci 293e41f4b71Sopenharmony_ciMSTensor保存的数据支持的排列格式。 294e41f4b71Sopenharmony_ci 295e41f4b71Sopenharmony_ci**起始版本:** 9 296e41f4b71Sopenharmony_ci 297e41f4b71Sopenharmony_ci 298e41f4b71Sopenharmony_ci### OH_AI_KernelCallBack 299e41f4b71Sopenharmony_ci 300e41f4b71Sopenharmony_ci``` 301e41f4b71Sopenharmony_citypedef bool(* OH_AI_KernelCallBack) (const OH_AI_TensorHandleArray inputs, const OH_AI_TensorHandleArray outputs, const OH_AI_CallBackParam kernel_Info) 302e41f4b71Sopenharmony_ci``` 303e41f4b71Sopenharmony_ci 304e41f4b71Sopenharmony_ci**描述** 305e41f4b71Sopenharmony_ci 306e41f4b71Sopenharmony_ci回调函数指针。 307e41f4b71Sopenharmony_ci 308e41f4b71Sopenharmony_ci该函数指针是用于设置[OH_AI_ModelPredict](#oh_ai_modelpredict)函数参数中的两个回调函数。 该指针指向的函数需要包含三个参数,其中inputs和outputs对应了算子的输入和输出张量,kernel_Info表示当前算子的信息。 可以通过回调函数监控算子执行的情况,例如统计算子的执行时间,校验算子的正确性等等。 309e41f4b71Sopenharmony_ci 310e41f4b71Sopenharmony_ci**起始版本:** 9 311e41f4b71Sopenharmony_ci 312e41f4b71Sopenharmony_ci 313e41f4b71Sopenharmony_ci### OH_AI_ModelHandle 314e41f4b71Sopenharmony_ci 315e41f4b71Sopenharmony_ci``` 316e41f4b71Sopenharmony_citypedef void* OH_AI_ModelHandle 317e41f4b71Sopenharmony_ci``` 318e41f4b71Sopenharmony_ci 319e41f4b71Sopenharmony_ci**描述** 320e41f4b71Sopenharmony_ci 321e41f4b71Sopenharmony_ci指向模型对象的指针。 322e41f4b71Sopenharmony_ci 323e41f4b71Sopenharmony_ci**起始版本:** 9 324e41f4b71Sopenharmony_ci 325e41f4b71Sopenharmony_ci 326e41f4b71Sopenharmony_ci### OH_AI_ModelType 327e41f4b71Sopenharmony_ci 328e41f4b71Sopenharmony_ci``` 329e41f4b71Sopenharmony_citypedef enum OH_AI_ModelType OH_AI_ModelType 330e41f4b71Sopenharmony_ci``` 331e41f4b71Sopenharmony_ci 332e41f4b71Sopenharmony_ci**描述** 333e41f4b71Sopenharmony_ci 334e41f4b71Sopenharmony_ci模型文件的类型 335e41f4b71Sopenharmony_ci 336e41f4b71Sopenharmony_ci**起始版本:** 9 337e41f4b71Sopenharmony_ci 338e41f4b71Sopenharmony_ci 339e41f4b71Sopenharmony_ci### OH_AI_NNRTDeviceType 340e41f4b71Sopenharmony_ci 341e41f4b71Sopenharmony_ci``` 342e41f4b71Sopenharmony_citypedef enum OH_AI_NNRTDeviceType OH_AI_NNRTDeviceType 343e41f4b71Sopenharmony_ci``` 344e41f4b71Sopenharmony_ci 345e41f4b71Sopenharmony_ci**描述** 346e41f4b71Sopenharmony_ci 347e41f4b71Sopenharmony_ciNNRt管理的硬件设备类型 348e41f4b71Sopenharmony_ci 349e41f4b71Sopenharmony_ci**起始版本:** 10 350e41f4b71Sopenharmony_ci 351e41f4b71Sopenharmony_ci 352e41f4b71Sopenharmony_ci### OH_AI_PerformanceMode 353e41f4b71Sopenharmony_ci 354e41f4b71Sopenharmony_ci``` 355e41f4b71Sopenharmony_citypedef enum OH_AI_PerformanceMode OH_AI_PerformanceMode 356e41f4b71Sopenharmony_ci``` 357e41f4b71Sopenharmony_ci 358e41f4b71Sopenharmony_ci**描述** 359e41f4b71Sopenharmony_ci 360e41f4b71Sopenharmony_ciNNRt硬件的工作性能模式 361e41f4b71Sopenharmony_ci 362e41f4b71Sopenharmony_ci**起始版本:** 10 363e41f4b71Sopenharmony_ci 364e41f4b71Sopenharmony_ci 365e41f4b71Sopenharmony_ci### OH_AI_Priority 366e41f4b71Sopenharmony_ci 367e41f4b71Sopenharmony_ci``` 368e41f4b71Sopenharmony_citypedef enum OH_AI_Priority OH_AI_Priority 369e41f4b71Sopenharmony_ci``` 370e41f4b71Sopenharmony_ci 371e41f4b71Sopenharmony_ci**描述** 372e41f4b71Sopenharmony_ci 373e41f4b71Sopenharmony_ciNNRt推理任务优先级 374e41f4b71Sopenharmony_ci 375e41f4b71Sopenharmony_ci**起始版本:** 10 376e41f4b71Sopenharmony_ci 377e41f4b71Sopenharmony_ci 378e41f4b71Sopenharmony_ci### OH_AI_Status 379e41f4b71Sopenharmony_ci 380e41f4b71Sopenharmony_ci``` 381e41f4b71Sopenharmony_citypedef enum OH_AI_Status OH_AI_Status 382e41f4b71Sopenharmony_ci``` 383e41f4b71Sopenharmony_ci 384e41f4b71Sopenharmony_ci**描述** 385e41f4b71Sopenharmony_ci 386e41f4b71Sopenharmony_ciMindSpore的状态码 387e41f4b71Sopenharmony_ci 388e41f4b71Sopenharmony_ci**起始版本:** 9 389e41f4b71Sopenharmony_ci 390e41f4b71Sopenharmony_ci 391e41f4b71Sopenharmony_ci### OH_AI_TensorHandle 392e41f4b71Sopenharmony_ci 393e41f4b71Sopenharmony_ci``` 394e41f4b71Sopenharmony_citypedef void* OH_AI_TensorHandle 395e41f4b71Sopenharmony_ci``` 396e41f4b71Sopenharmony_ci 397e41f4b71Sopenharmony_ci**描述** 398e41f4b71Sopenharmony_ci 399e41f4b71Sopenharmony_ci指向张量对象句柄 400e41f4b71Sopenharmony_ci 401e41f4b71Sopenharmony_ci**起始版本:** 9 402e41f4b71Sopenharmony_ci 403e41f4b71Sopenharmony_ci 404e41f4b71Sopenharmony_ci### OH_AI_TensorHandleArray 405e41f4b71Sopenharmony_ci 406e41f4b71Sopenharmony_ci``` 407e41f4b71Sopenharmony_citypedef struct OH_AI_TensorHandleArray OH_AI_TensorHandleArray 408e41f4b71Sopenharmony_ci``` 409e41f4b71Sopenharmony_ci 410e41f4b71Sopenharmony_ci**描述** 411e41f4b71Sopenharmony_ci 412e41f4b71Sopenharmony_ci张量数组结构体,用于存储张量数组指针和张量数组长度 413e41f4b71Sopenharmony_ci 414e41f4b71Sopenharmony_ci**起始版本:** 9 415e41f4b71Sopenharmony_ci 416e41f4b71Sopenharmony_ci 417e41f4b71Sopenharmony_ci### OH_AI_TrainCfgHandle 418e41f4b71Sopenharmony_ci 419e41f4b71Sopenharmony_ci``` 420e41f4b71Sopenharmony_citypedef void* OH_AI_TrainCfgHandle 421e41f4b71Sopenharmony_ci``` 422e41f4b71Sopenharmony_ci 423e41f4b71Sopenharmony_ci**描述** 424e41f4b71Sopenharmony_ci 425e41f4b71Sopenharmony_ci指向训练配置对象的指针。 426e41f4b71Sopenharmony_ci 427e41f4b71Sopenharmony_ci**起始版本:** 11 428e41f4b71Sopenharmony_ci 429e41f4b71Sopenharmony_ci 430e41f4b71Sopenharmony_ci## 枚举类型说明 431e41f4b71Sopenharmony_ci 432e41f4b71Sopenharmony_ci 433e41f4b71Sopenharmony_ci### OH_AI_CompCode 434e41f4b71Sopenharmony_ci 435e41f4b71Sopenharmony_ci``` 436e41f4b71Sopenharmony_cienum OH_AI_CompCode 437e41f4b71Sopenharmony_ci``` 438e41f4b71Sopenharmony_ci 439e41f4b71Sopenharmony_ci**描述** 440e41f4b71Sopenharmony_ci 441e41f4b71Sopenharmony_ciMindSpore不同组件的代码 442e41f4b71Sopenharmony_ci 443e41f4b71Sopenharmony_ci**起始版本:** 9 444e41f4b71Sopenharmony_ci 445e41f4b71Sopenharmony_ci| 枚举值 | 描述 | 446e41f4b71Sopenharmony_ci| -------- | -------- | 447e41f4b71Sopenharmony_ci| OH_AI_COMPCODE_CORE | MindSpore Core的代码 | 448e41f4b71Sopenharmony_ci| OH_AI_COMPCODE_MD | MindSpore MindData的代码。 | 449e41f4b71Sopenharmony_ci| OH_AI_COMPCODE_ME | MindSpore MindExpression的代码。 | 450e41f4b71Sopenharmony_ci| OH_AI_COMPCODE_MC | MindSpore的代码。 | 451e41f4b71Sopenharmony_ci| OH_AI_COMPCODE_LITE | MindSpore Lite的代码 | 452e41f4b71Sopenharmony_ci 453e41f4b71Sopenharmony_ci 454e41f4b71Sopenharmony_ci### OH_AI_DataType 455e41f4b71Sopenharmony_ci 456e41f4b71Sopenharmony_ci``` 457e41f4b71Sopenharmony_cienum OH_AI_DataType 458e41f4b71Sopenharmony_ci``` 459e41f4b71Sopenharmony_ci 460e41f4b71Sopenharmony_ci**描述** 461e41f4b71Sopenharmony_ci 462e41f4b71Sopenharmony_ciMSTensor保存的数据支持的类型。 463e41f4b71Sopenharmony_ci 464e41f4b71Sopenharmony_ci**起始版本:** 9 465e41f4b71Sopenharmony_ci 466e41f4b71Sopenharmony_ci| 枚举值 | 描述 | 467e41f4b71Sopenharmony_ci| -------- | -------- | 468e41f4b71Sopenharmony_ci| OH_AI_DATATYPE_UNKNOWN | 未知的数据类型 | 469e41f4b71Sopenharmony_ci| OH_AI_DATATYPE_OBJECTTYPE_STRING | String数据类型 | 470e41f4b71Sopenharmony_ci| OH_AI_DATATYPE_OBJECTTYPE_LIST | List数据类型 | 471e41f4b71Sopenharmony_ci| OH_AI_DATATYPE_OBJECTTYPE_TUPLE | Tuple数据类型 | 472e41f4b71Sopenharmony_ci| OH_AI_DATATYPE_OBJECTTYPE_TENSOR | TensorList数据类型 | 473e41f4b71Sopenharmony_ci| OH_AI_DATATYPE_NUMBERTYPE_BEGIN | Number类型的起始 | 474e41f4b71Sopenharmony_ci| OH_AI_DATATYPE_NUMBERTYPE_BOOL | Bool数据类型 | 475e41f4b71Sopenharmony_ci| OH_AI_DATATYPE_NUMBERTYPE_INT8 | Int8数据类型 | 476e41f4b71Sopenharmony_ci| OH_AI_DATATYPE_NUMBERTYPE_INT16 | 表示Int16数据类型 | 477e41f4b71Sopenharmony_ci| OH_AI_DATATYPE_NUMBERTYPE_INT32 | 表示Int32数据类型 | 478e41f4b71Sopenharmony_ci| OH_AI_DATATYPE_NUMBERTYPE_INT64 | 表示Int64数据类型 | 479e41f4b71Sopenharmony_ci| OH_AI_DATATYPE_NUMBERTYPE_UINT8 | 表示UInt8数据类型 | 480e41f4b71Sopenharmony_ci| OH_AI_DATATYPE_NUMBERTYPE_UINT16 | 表示UInt16数据类型 | 481e41f4b71Sopenharmony_ci| OH_AI_DATATYPE_NUMBERTYPE_UINT32 | 表示UInt32数据类型 | 482e41f4b71Sopenharmony_ci| OH_AI_DATATYPE_NUMBERTYPE_UINT64 | 表示UInt64数据类型 | 483e41f4b71Sopenharmony_ci| OH_AI_DATATYPE_NUMBERTYPE_FLOAT16 | 表示Float16数据类型 | 484e41f4b71Sopenharmony_ci| OH_AI_DATATYPE_NUMBERTYPE_FLOAT32 | 表示Float32数据类型 | 485e41f4b71Sopenharmony_ci| OH_AI_DATATYPE_NUMBERTYPE_FLOAT64 | 表示Float64数据类型 | 486e41f4b71Sopenharmony_ci| OH_AI_DATATYPE_NUMBERTYPE_END | 表示Number类型的结尾 | 487e41f4b71Sopenharmony_ci| OH_AI_DataTypeInvalid | 表示无效的数据类型 | 488e41f4b71Sopenharmony_ci 489e41f4b71Sopenharmony_ci 490e41f4b71Sopenharmony_ci### OH_AI_DeviceType 491e41f4b71Sopenharmony_ci 492e41f4b71Sopenharmony_ci``` 493e41f4b71Sopenharmony_cienum OH_AI_DeviceType 494e41f4b71Sopenharmony_ci``` 495e41f4b71Sopenharmony_ci 496e41f4b71Sopenharmony_ci**描述** 497e41f4b71Sopenharmony_ci 498e41f4b71Sopenharmony_ci设备类型信息,包含了目前支持的设备类型。 499e41f4b71Sopenharmony_ci 500e41f4b71Sopenharmony_ci**起始版本:** 9 501e41f4b71Sopenharmony_ci 502e41f4b71Sopenharmony_ci| 枚举值 | 描述 | 503e41f4b71Sopenharmony_ci| -------- | -------- | 504e41f4b71Sopenharmony_ci| OH_AI_DEVICETYPE_CPU | 设备类型是CPU | 505e41f4b71Sopenharmony_ci| OH_AI_DEVICETYPE_GPU | 设备类型是GPU<br/>该配置为上游开源社区选项,在OpenHarmony上不支持 | 506e41f4b71Sopenharmony_ci| OH_AI_DEVICETYPE_KIRIN_NPU | 设备类型是麒麟NPU<br/>该配置为上游开源社区选项,在OpenHarmony上不支持<br/>如需使用KIRIN_NPU请通过OH_AI_DEVICETYPE_NNRT配置 | 507e41f4b71Sopenharmony_ci| OH_AI_DEVICETYPE_NNRT | 设备类型是NNRt(Neural Network Runtime, 神经网络运行时是面向AI领域的跨芯片推理计算运行时)<br/>OHOS设备范围是[60,80)。 | 508e41f4b71Sopenharmony_ci| OH_AI_DEVICETYPE_INVALID | 设备类型无效 | 509e41f4b71Sopenharmony_ci 510e41f4b71Sopenharmony_ci 511e41f4b71Sopenharmony_ci### OH_AI_Format 512e41f4b71Sopenharmony_ci 513e41f4b71Sopenharmony_ci``` 514e41f4b71Sopenharmony_cienum OH_AI_Format 515e41f4b71Sopenharmony_ci``` 516e41f4b71Sopenharmony_ci 517e41f4b71Sopenharmony_ci**描述** 518e41f4b71Sopenharmony_ci 519e41f4b71Sopenharmony_ciMSTensor保存的数据支持的排列格式。 520e41f4b71Sopenharmony_ci 521e41f4b71Sopenharmony_ci**起始版本:** 9 522e41f4b71Sopenharmony_ci 523e41f4b71Sopenharmony_ci| 枚举值 | 描述 | 524e41f4b71Sopenharmony_ci| -------- | -------- | 525e41f4b71Sopenharmony_ci| OH_AI_FORMAT_NCHW | 按批次N、通道C、高度H和宽度W的顺序存储张量数据。 | 526e41f4b71Sopenharmony_ci| OH_AI_FORMAT_NHWC | 按批次N、高度H、宽度W和通道C的顺序存储张量数据。 | 527e41f4b71Sopenharmony_ci| OH_AI_FORMAT_NHWC4 | 按批次N、高度H、宽度W和通道C的顺序存储张量数据,其中C轴是4字节对齐格式。 | 528e41f4b71Sopenharmony_ci| OH_AI_FORMAT_HWKC | 按高度H、宽度W、核数K和通道C的顺序存储张量数据。 | 529e41f4b71Sopenharmony_ci| OH_AI_FORMAT_HWCK | 按高度H、宽度W、通道C和核数K的顺序存储张量数据。 | 530e41f4b71Sopenharmony_ci| OH_AI_FORMAT_KCHW | 按核数K、通道C、高度H和宽度W的顺序存储张量数据。 | 531e41f4b71Sopenharmony_ci| OH_AI_FORMAT_CKHW | 按通道C、核数K、高度H和宽度W的顺序存储张量数据。 | 532e41f4b71Sopenharmony_ci| OH_AI_FORMAT_KHWC | 按核数K、高度H、宽度W和通道C的顺序存储张量数据。 | 533e41f4b71Sopenharmony_ci| OH_AI_FORMAT_CHWK | 按通道C、高度H、宽度W和核数K的顺序存储张量数据。 | 534e41f4b71Sopenharmony_ci| OH_AI_FORMAT_HW | 按高度H和宽度W的顺序存储张量数据。 | 535e41f4b71Sopenharmony_ci| OH_AI_FORMAT_HW4 | 按高度H和宽度W的顺序存储张量数据,其中W轴是4字节对齐格式。 | 536e41f4b71Sopenharmony_ci| OH_AI_FORMAT_NC | 按批次N和通道C的顺序存储张量数据。 | 537e41f4b71Sopenharmony_ci| OH_AI_FORMAT_NC4 | 按批次N和通道C的顺序存储张量数据,其中C轴是4字节对齐格式。 | 538e41f4b71Sopenharmony_ci| OH_AI_FORMAT_NC4HW4 | 按批次N、通道C、高度H和宽度W的顺序存储张量数据,其中C轴和W轴是4字节对齐格式。 | 539e41f4b71Sopenharmony_ci| OH_AI_FORMAT_NCDHW | 按批次N、通道C、深度D、高度H和宽度W的顺序存储张量数据。 | 540e41f4b71Sopenharmony_ci| OH_AI_FORMAT_NWC | 按批次N、宽度W和通道C的顺序存储张量数据。 | 541e41f4b71Sopenharmony_ci| OH_AI_FORMAT_NCW | 按批次N、通道C和宽度W的顺序存储张量数据。 | 542e41f4b71Sopenharmony_ci 543e41f4b71Sopenharmony_ci 544e41f4b71Sopenharmony_ci### OH_AI_ModelType 545e41f4b71Sopenharmony_ci 546e41f4b71Sopenharmony_ci``` 547e41f4b71Sopenharmony_cienum OH_AI_ModelType 548e41f4b71Sopenharmony_ci``` 549e41f4b71Sopenharmony_ci 550e41f4b71Sopenharmony_ci**描述** 551e41f4b71Sopenharmony_ci 552e41f4b71Sopenharmony_ci模型文件的类型 553e41f4b71Sopenharmony_ci 554e41f4b71Sopenharmony_ci**起始版本:** 9 555e41f4b71Sopenharmony_ci 556e41f4b71Sopenharmony_ci| 枚举值 | 描述 | 557e41f4b71Sopenharmony_ci| -------- | -------- | 558e41f4b71Sopenharmony_ci| OH_AI_MODELTYPE_MINDIR | 模型类型是MindIR,对应的模型文件后缀为.ms。 | 559e41f4b71Sopenharmony_ci| OH_AI_MODELTYPE_INVALID | 模型类型无效 | 560e41f4b71Sopenharmony_ci 561e41f4b71Sopenharmony_ci 562e41f4b71Sopenharmony_ci### OH_AI_NNRTDeviceType 563e41f4b71Sopenharmony_ci 564e41f4b71Sopenharmony_ci``` 565e41f4b71Sopenharmony_cienum OH_AI_NNRTDeviceType 566e41f4b71Sopenharmony_ci``` 567e41f4b71Sopenharmony_ci 568e41f4b71Sopenharmony_ci**描述** 569e41f4b71Sopenharmony_ci 570e41f4b71Sopenharmony_ciNNRt管理的硬件设备类型 571e41f4b71Sopenharmony_ci 572e41f4b71Sopenharmony_ci**起始版本:** 10 573e41f4b71Sopenharmony_ci 574e41f4b71Sopenharmony_ci| 枚举值 | 描述 | 575e41f4b71Sopenharmony_ci| -------- | -------- | 576e41f4b71Sopenharmony_ci| OH_AI_NNRTDEVICE_OTHERS | 设备类型不属于以下3种,则属于其它 | 577e41f4b71Sopenharmony_ci| OH_AI_NNRTDEVICE_CPU | CPU设备 | 578e41f4b71Sopenharmony_ci| OH_AI_NNRTDEVICE_GPU | GPU设备 | 579e41f4b71Sopenharmony_ci| OH_AI_NNRTDEVICE_ACCELERATOR | 特定的加速设备 | 580e41f4b71Sopenharmony_ci 581e41f4b71Sopenharmony_ci 582e41f4b71Sopenharmony_ci### OH_AI_OptimizationLevel 583e41f4b71Sopenharmony_ci 584e41f4b71Sopenharmony_ci``` 585e41f4b71Sopenharmony_cienum OH_AI_OptimizationLevel 586e41f4b71Sopenharmony_ci``` 587e41f4b71Sopenharmony_ci 588e41f4b71Sopenharmony_ci**描述:** 589e41f4b71Sopenharmony_ci 590e41f4b71Sopenharmony_ci训练优化等级。 591e41f4b71Sopenharmony_ci 592e41f4b71Sopenharmony_ci**起始版本:** 593e41f4b71Sopenharmony_ci 594e41f4b71Sopenharmony_ci**11** 595e41f4b71Sopenharmony_ci 596e41f4b71Sopenharmony_ci| 枚举值 | 描述 | 597e41f4b71Sopenharmony_ci| -------- | -------- | 598e41f4b71Sopenharmony_ci| OH_AI_KO0 | 无优化等级。 | 599e41f4b71Sopenharmony_ci| OH_AI_KO2 | 将网络转换为float16, 保持批量归一化层和损失函数为float32。 | 600e41f4b71Sopenharmony_ci| OH_AI_KO3 | 将网络转换为float16, 包括批量归一化层 | 601e41f4b71Sopenharmony_ci| OH_AI_KAUTO | 根据设备选择优化等级。 | 602e41f4b71Sopenharmony_ci| OH_AI_KOPTIMIZATIONTYPE | 无效优化等级。 | 603e41f4b71Sopenharmony_ci 604e41f4b71Sopenharmony_ci 605e41f4b71Sopenharmony_ci### OH_AI_PerformanceMode 606e41f4b71Sopenharmony_ci 607e41f4b71Sopenharmony_ci``` 608e41f4b71Sopenharmony_cienum OH_AI_PerformanceMode 609e41f4b71Sopenharmony_ci``` 610e41f4b71Sopenharmony_ci 611e41f4b71Sopenharmony_ci**描述** 612e41f4b71Sopenharmony_ci 613e41f4b71Sopenharmony_ciNNRt硬件的工作性能模式 614e41f4b71Sopenharmony_ci 615e41f4b71Sopenharmony_ci**起始版本:** 10 616e41f4b71Sopenharmony_ci 617e41f4b71Sopenharmony_ci| 枚举值 | 描述 | 618e41f4b71Sopenharmony_ci| -------- | -------- | 619e41f4b71Sopenharmony_ci| OH_AI_PERFORMANCE_NONE | 无特殊设置 | 620e41f4b71Sopenharmony_ci| OH_AI_PERFORMANCE_LOW | 低功耗模式 | 621e41f4b71Sopenharmony_ci| OH_AI_PERFORMANCE_MEDIUM | 功耗-性能均衡模式 | 622e41f4b71Sopenharmony_ci| OH_AI_PERFORMANCE_HIGH | 高性能模式 | 623e41f4b71Sopenharmony_ci| OH_AI_PERFORMANCE_EXTREME | 极致性能模式 | 624e41f4b71Sopenharmony_ci 625e41f4b71Sopenharmony_ci 626e41f4b71Sopenharmony_ci### OH_AI_Priority 627e41f4b71Sopenharmony_ci 628e41f4b71Sopenharmony_ci``` 629e41f4b71Sopenharmony_cienum OH_AI_Priority 630e41f4b71Sopenharmony_ci``` 631e41f4b71Sopenharmony_ci 632e41f4b71Sopenharmony_ci**描述** 633e41f4b71Sopenharmony_ci 634e41f4b71Sopenharmony_ciNNRt推理任务优先级 635e41f4b71Sopenharmony_ci 636e41f4b71Sopenharmony_ci**起始版本:** 10 637e41f4b71Sopenharmony_ci 638e41f4b71Sopenharmony_ci| 枚举值 | 描述 | 639e41f4b71Sopenharmony_ci| -------- | -------- | 640e41f4b71Sopenharmony_ci| OH_AI_PRIORITY_NONE | 无优先级偏好 | 641e41f4b71Sopenharmony_ci| OH_AI_PRIORITY_LOW | 低优先级任务 | 642e41f4b71Sopenharmony_ci| OH_AI_PRIORITY_MEDIUM | 中优先级任务 | 643e41f4b71Sopenharmony_ci| OH_AI_PRIORITY_HIGH | 高优先级 | 644e41f4b71Sopenharmony_ci 645e41f4b71Sopenharmony_ci 646e41f4b71Sopenharmony_ci### OH_AI_QuantizationType 647e41f4b71Sopenharmony_ci 648e41f4b71Sopenharmony_ci``` 649e41f4b71Sopenharmony_cienum OH_AI_QuantizationType 650e41f4b71Sopenharmony_ci``` 651e41f4b71Sopenharmony_ci 652e41f4b71Sopenharmony_ci**描述:** 653e41f4b71Sopenharmony_ci 654e41f4b71Sopenharmony_ci量化类型信息。 655e41f4b71Sopenharmony_ci 656e41f4b71Sopenharmony_ci**起始版本:** 657e41f4b71Sopenharmony_ci 658e41f4b71Sopenharmony_ci**11** 659e41f4b71Sopenharmony_ci 660e41f4b71Sopenharmony_ci| 枚举值 | 描述 | 661e41f4b71Sopenharmony_ci| -------- | -------- | 662e41f4b71Sopenharmony_ci| OH_AI_NO_QUANT | 不做量化 | 663e41f4b71Sopenharmony_ci| OH_AI_WEIGHT_QUANT | 权重量化 | 664e41f4b71Sopenharmony_ci| OH_AI_FULL_QUANT | 全量化 | 665e41f4b71Sopenharmony_ci| OH_AI_UNKNOWN_QUANT_TYPE | 无效量化类型 | 666e41f4b71Sopenharmony_ci 667e41f4b71Sopenharmony_ci 668e41f4b71Sopenharmony_ci### OH_AI_Status 669e41f4b71Sopenharmony_ci 670e41f4b71Sopenharmony_ci``` 671e41f4b71Sopenharmony_cienum OH_AI_Status 672e41f4b71Sopenharmony_ci``` 673e41f4b71Sopenharmony_ci 674e41f4b71Sopenharmony_ci**描述** 675e41f4b71Sopenharmony_ci 676e41f4b71Sopenharmony_ciMindSpore的状态码 677e41f4b71Sopenharmony_ci 678e41f4b71Sopenharmony_ci**起始版本:** 9 679e41f4b71Sopenharmony_ci 680e41f4b71Sopenharmony_ci| 枚举值 | 描述 | 681e41f4b71Sopenharmony_ci| -------- | -------- | 682e41f4b71Sopenharmony_ci| OH_AI_STATUS_SUCCESS | 通用的成功状态码 | 683e41f4b71Sopenharmony_ci| OH_AI_STATUS_CORE_FAILED | MindSpore Core 失败状态码 | 684e41f4b71Sopenharmony_ci| OH_AI_STATUS_LITE_ERROR | MindSpore Lite 异常状态码 | 685e41f4b71Sopenharmony_ci| OH_AI_STATUS_LITE_NULLPTR | MindSpore Lite 空指针状态码 | 686e41f4b71Sopenharmony_ci| OH_AI_STATUS_LITE_PARAM_INVALID | MindSpore Lite 参数异常状态码 | 687e41f4b71Sopenharmony_ci| OH_AI_STATUS_LITE_NO_CHANGE | MindSpore Lite 未改变状态码 | 688e41f4b71Sopenharmony_ci| OH_AI_STATUS_LITE_SUCCESS_EXIT | MindSpore Lite 没有错误但是退出的状态码 | 689e41f4b71Sopenharmony_ci| OH_AI_STATUS_LITE_MEMORY_FAILED | MindSpore Lite 内存分配失败的状态码 | 690e41f4b71Sopenharmony_ci| OH_AI_STATUS_LITE_NOT_SUPPORT | MindSpore Lite 功能未支持的状态码 | 691e41f4b71Sopenharmony_ci| OH_AI_STATUS_LITE_THREADPOOL_ERROR | MindSpore Lite 线程池异常状态码 | 692e41f4b71Sopenharmony_ci| OH_AI_STATUS_LITE_UNINITIALIZED_OBJ | MindSpore Lite 未初始化状态码 | 693e41f4b71Sopenharmony_ci| OH_AI_STATUS_LITE_OUT_OF_TENSOR_RANGE | MindSpore Lite 张量溢出错误的状态码 | 694e41f4b71Sopenharmony_ci| OH_AI_STATUS_LITE_INPUT_TENSOR_ERROR | MindSpore Lite 输入张量异常的状态码 | 695e41f4b71Sopenharmony_ci| OH_AI_STATUS_LITE_REENTRANT_ERROR | MindSpore Lite 重入异常的状态码 | 696e41f4b71Sopenharmony_ci| OH_AI_STATUS_LITE_GRAPH_FILE_ERROR | MindSpore Lite 文件异常状态码 | 697e41f4b71Sopenharmony_ci| OH_AI_STATUS_LITE_NOT_FIND_OP | MindSpore Lite 未找到算子的状态码 | 698e41f4b71Sopenharmony_ci| OH_AI_STATUS_LITE_INVALID_OP_NAME | MindSpore Lite 无效算子状态码 | 699e41f4b71Sopenharmony_ci| OH_AI_STATUS_LITE_INVALID_OP_ATTR | MindSpore Lite 无效算子超参数状态码 | 700e41f4b71Sopenharmony_ci| OH_AI_STATUS_LITE_OP_EXECUTE_FAILURE | MindSpore Lite 算子执行失败的状态码 | 701e41f4b71Sopenharmony_ci| OH_AI_STATUS_LITE_FORMAT_ERROR | MindSpore Lite 张量格式异常状态码 | 702e41f4b71Sopenharmony_ci| OH_AI_STATUS_LITE_INFER_ERROR | MindSpore Lite 形状推理异常状态码 | 703e41f4b71Sopenharmony_ci| OH_AI_STATUS_LITE_INFER_INVALID | MindSpore Lite 无效的形状推理的状态码 | 704e41f4b71Sopenharmony_ci| OH_AI_STATUS_LITE_INPUT_PARAM_INVALID | MindSpore Lite 用户输入的参数无效状态码 | 705e41f4b71Sopenharmony_ci 706e41f4b71Sopenharmony_ci 707e41f4b71Sopenharmony_ci## 函数说明 708e41f4b71Sopenharmony_ci 709e41f4b71Sopenharmony_ci 710e41f4b71Sopenharmony_ci### OH_AI_ContextAddDeviceInfo() 711e41f4b71Sopenharmony_ci 712e41f4b71Sopenharmony_ci``` 713e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_ContextAddDeviceInfo (OH_AI_ContextHandle context, OH_AI_DeviceInfoHandle device_info ) 714e41f4b71Sopenharmony_ci``` 715e41f4b71Sopenharmony_ci 716e41f4b71Sopenharmony_ci**描述** 717e41f4b71Sopenharmony_ci 718e41f4b71Sopenharmony_ci将一个用户定义的运行设备信息附加到推理上下文中。 719e41f4b71Sopenharmony_ci 720e41f4b71Sopenharmony_ci**起始版本:** 9 721e41f4b71Sopenharmony_ci 722e41f4b71Sopenharmony_ci**参数:** 723e41f4b71Sopenharmony_ci 724e41f4b71Sopenharmony_ci| 名称 | 描述 | 725e41f4b71Sopenharmony_ci| -------- | -------- | 726e41f4b71Sopenharmony_ci| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | 727e41f4b71Sopenharmony_ci| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | 728e41f4b71Sopenharmony_ci 729e41f4b71Sopenharmony_ci 730e41f4b71Sopenharmony_ci### OH_AI_ContextCreate() 731e41f4b71Sopenharmony_ci 732e41f4b71Sopenharmony_ci``` 733e41f4b71Sopenharmony_ciOH_AI_API OH_AI_ContextHandle OH_AI_ContextCreate () 734e41f4b71Sopenharmony_ci``` 735e41f4b71Sopenharmony_ci 736e41f4b71Sopenharmony_ci**描述** 737e41f4b71Sopenharmony_ci 738e41f4b71Sopenharmony_ci创建一个上下文的对象。 739e41f4b71Sopenharmony_ci 740e41f4b71Sopenharmony_ci**起始版本:** 9 741e41f4b71Sopenharmony_ci 742e41f4b71Sopenharmony_ci**返回:** 743e41f4b71Sopenharmony_ci 744e41f4b71Sopenharmony_ci指向上下文信息的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 745e41f4b71Sopenharmony_ci 746e41f4b71Sopenharmony_ci 747e41f4b71Sopenharmony_ci### OH_AI_ContextDestroy() 748e41f4b71Sopenharmony_ci 749e41f4b71Sopenharmony_ci``` 750e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_ContextDestroy (OH_AI_ContextHandle * context) 751e41f4b71Sopenharmony_ci``` 752e41f4b71Sopenharmony_ci 753e41f4b71Sopenharmony_ci**描述** 754e41f4b71Sopenharmony_ci 755e41f4b71Sopenharmony_ci释放上下文对象。 756e41f4b71Sopenharmony_ci 757e41f4b71Sopenharmony_ci**起始版本:** 9 758e41f4b71Sopenharmony_ci 759e41f4b71Sopenharmony_ci**参数:** 760e41f4b71Sopenharmony_ci 761e41f4b71Sopenharmony_ci| 名称 | 描述 | 762e41f4b71Sopenharmony_ci| -------- | -------- | 763e41f4b71Sopenharmony_ci| context | 指向[OH_AI_ContextHandle](#oh_ai_contexthandle)的二级指针,上下文销毁后会对context置为空指针。 | 764e41f4b71Sopenharmony_ci 765e41f4b71Sopenharmony_ci 766e41f4b71Sopenharmony_ci### OH_AI_ContextGetEnableParallel() 767e41f4b71Sopenharmony_ci 768e41f4b71Sopenharmony_ci``` 769e41f4b71Sopenharmony_ciOH_AI_API bool OH_AI_ContextGetEnableParallel (const OH_AI_ContextHandle context) 770e41f4b71Sopenharmony_ci``` 771e41f4b71Sopenharmony_ci 772e41f4b71Sopenharmony_ci**描述** 773e41f4b71Sopenharmony_ci 774e41f4b71Sopenharmony_ci获取是否支持算子间并行。 775e41f4b71Sopenharmony_ci 776e41f4b71Sopenharmony_ci**起始版本:** 9 777e41f4b71Sopenharmony_ci 778e41f4b71Sopenharmony_ci**参数:** 779e41f4b71Sopenharmony_ci 780e41f4b71Sopenharmony_ci| 名称 | 描述 | 781e41f4b71Sopenharmony_ci| -------- | -------- | 782e41f4b71Sopenharmony_ci| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | 783e41f4b71Sopenharmony_ci 784e41f4b71Sopenharmony_ci**返回:** 785e41f4b71Sopenharmony_ci 786e41f4b71Sopenharmony_ci是否支持并行。true 为支持并行, false 为不支持并行。 787e41f4b71Sopenharmony_ci 788e41f4b71Sopenharmony_ci 789e41f4b71Sopenharmony_ci### OH_AI_ContextGetThreadAffinityCoreList() 790e41f4b71Sopenharmony_ci 791e41f4b71Sopenharmony_ci``` 792e41f4b71Sopenharmony_ciOH_AI_API const int32_t* OH_AI_ContextGetThreadAffinityCoreList (const OH_AI_ContextHandle context, size_t * core_num ) 793e41f4b71Sopenharmony_ci``` 794e41f4b71Sopenharmony_ci 795e41f4b71Sopenharmony_ci**描述** 796e41f4b71Sopenharmony_ci 797e41f4b71Sopenharmony_ci获取CPU绑核列表。 798e41f4b71Sopenharmony_ci 799e41f4b71Sopenharmony_ci**起始版本:** 9 800e41f4b71Sopenharmony_ci 801e41f4b71Sopenharmony_ci**参数:** 802e41f4b71Sopenharmony_ci 803e41f4b71Sopenharmony_ci| 名称 | 描述 | 804e41f4b71Sopenharmony_ci| -------- | -------- | 805e41f4b71Sopenharmony_ci| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | 806e41f4b71Sopenharmony_ci| core_num | 该参数是输出参数,表示核的数量。 | 807e41f4b71Sopenharmony_ci 808e41f4b71Sopenharmony_ci**返回:** 809e41f4b71Sopenharmony_ci 810e41f4b71Sopenharmony_ciCPU绑核列表。此列表对象由[OH_AI_ContextHandle](#oh_ai_contexthandle)管理,调用者无须手动释放。 811e41f4b71Sopenharmony_ci 812e41f4b71Sopenharmony_ci 813e41f4b71Sopenharmony_ci### OH_AI_ContextGetThreadAffinityMode() 814e41f4b71Sopenharmony_ci 815e41f4b71Sopenharmony_ci``` 816e41f4b71Sopenharmony_ciOH_AI_API int OH_AI_ContextGetThreadAffinityMode (const OH_AI_ContextHandle context) 817e41f4b71Sopenharmony_ci``` 818e41f4b71Sopenharmony_ci 819e41f4b71Sopenharmony_ci**描述** 820e41f4b71Sopenharmony_ci 821e41f4b71Sopenharmony_ci获取运行时线程绑定CPU核心的策略。 822e41f4b71Sopenharmony_ci 823e41f4b71Sopenharmony_ci**起始版本:** 9 824e41f4b71Sopenharmony_ci 825e41f4b71Sopenharmony_ci**参数:** 826e41f4b71Sopenharmony_ci 827e41f4b71Sopenharmony_ci| 名称 | 描述 | 828e41f4b71Sopenharmony_ci| -------- | -------- | 829e41f4b71Sopenharmony_ci| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | 830e41f4b71Sopenharmony_ci 831e41f4b71Sopenharmony_ci**返回:** 832e41f4b71Sopenharmony_ci 833e41f4b71Sopenharmony_ci绑核策略。一共有三种策略,0为不绑核, 1为大核优先, 2为中核优先。 834e41f4b71Sopenharmony_ci 835e41f4b71Sopenharmony_ci 836e41f4b71Sopenharmony_ci### OH_AI_ContextGetThreadNum() 837e41f4b71Sopenharmony_ci 838e41f4b71Sopenharmony_ci``` 839e41f4b71Sopenharmony_ciOH_AI_API int32_t OH_AI_ContextGetThreadNum (const OH_AI_ContextHandle context) 840e41f4b71Sopenharmony_ci``` 841e41f4b71Sopenharmony_ci 842e41f4b71Sopenharmony_ci**描述** 843e41f4b71Sopenharmony_ci 844e41f4b71Sopenharmony_ci获取线程数量。 845e41f4b71Sopenharmony_ci 846e41f4b71Sopenharmony_ci**起始版本:** 9 847e41f4b71Sopenharmony_ci 848e41f4b71Sopenharmony_ci**参数:** 849e41f4b71Sopenharmony_ci 850e41f4b71Sopenharmony_ci| 名称 | 描述 | 851e41f4b71Sopenharmony_ci| -------- | -------- | 852e41f4b71Sopenharmony_ci| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | 853e41f4b71Sopenharmony_ci 854e41f4b71Sopenharmony_ci**返回:** 855e41f4b71Sopenharmony_ci 856e41f4b71Sopenharmony_ci当前的线程数量。 857e41f4b71Sopenharmony_ci 858e41f4b71Sopenharmony_ci 859e41f4b71Sopenharmony_ci### OH_AI_ContextSetEnableParallel() 860e41f4b71Sopenharmony_ci 861e41f4b71Sopenharmony_ci``` 862e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_ContextSetEnableParallel (OH_AI_ContextHandle context, bool is_parallel ) 863e41f4b71Sopenharmony_ci``` 864e41f4b71Sopenharmony_ci 865e41f4b71Sopenharmony_ci**描述** 866e41f4b71Sopenharmony_ci 867e41f4b71Sopenharmony_ci设置运行时是否支持并行。此接口特性当前未开启,设置无效。 868e41f4b71Sopenharmony_ci 869e41f4b71Sopenharmony_ci**起始版本:** 9 870e41f4b71Sopenharmony_ci 871e41f4b71Sopenharmony_ci**参数:** 872e41f4b71Sopenharmony_ci 873e41f4b71Sopenharmony_ci| 名称 | 描述 | 874e41f4b71Sopenharmony_ci| -------- | -------- | 875e41f4b71Sopenharmony_ci| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | 876e41f4b71Sopenharmony_ci| is_parallel | 是否支持并行。true 为支持并行, false 为不支持并行。 | 877e41f4b71Sopenharmony_ci 878e41f4b71Sopenharmony_ci 879e41f4b71Sopenharmony_ci### OH_AI_ContextSetThreadAffinityCoreList() 880e41f4b71Sopenharmony_ci 881e41f4b71Sopenharmony_ci``` 882e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_ContextSetThreadAffinityCoreList (OH_AI_ContextHandle context, const int32_t * core_list, size_t core_num ) 883e41f4b71Sopenharmony_ci``` 884e41f4b71Sopenharmony_ci 885e41f4b71Sopenharmony_ci**描述** 886e41f4b71Sopenharmony_ci 887e41f4b71Sopenharmony_ci设置运行时线程绑定CPU核心的列表。 888e41f4b71Sopenharmony_ci 889e41f4b71Sopenharmony_ci例如:当core_list=[2,6,8]时,则线程会在CPU的第2,6,8个核心上运行。 如果对于同一个上下文对象,调用了[OH_AI_ContextSetThreadAffinityMode](#oh_ai_contextsetthreadaffinitymode)和[OH_AI_ContextSetThreadAffinityCoreList](#oh_ai_contextsetthreadaffinitycorelist) 这两个函数,则仅[OH_AI_ContextSetThreadAffinityCoreList](#oh_ai_contextsetthreadaffinitycorelist)的core_list参数生效,而[OH_AI_ContextSetThreadAffinityMode](#oh_ai_contextsetthreadaffinitymode)的 mode参数不生效。 890e41f4b71Sopenharmony_ci 891e41f4b71Sopenharmony_ci**起始版本:** 9 892e41f4b71Sopenharmony_ci 893e41f4b71Sopenharmony_ci**参数:** 894e41f4b71Sopenharmony_ci 895e41f4b71Sopenharmony_ci| 名称 | 描述 | 896e41f4b71Sopenharmony_ci| -------- | -------- | 897e41f4b71Sopenharmony_ci| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | 898e41f4b71Sopenharmony_ci| core_list | CPU绑核的列表。 | 899e41f4b71Sopenharmony_ci| core_num | 核的数量,它就代表**core_list**的长度。 | 900e41f4b71Sopenharmony_ci 901e41f4b71Sopenharmony_ci 902e41f4b71Sopenharmony_ci### OH_AI_ContextSetThreadAffinityMode() 903e41f4b71Sopenharmony_ci 904e41f4b71Sopenharmony_ci``` 905e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_ContextSetThreadAffinityMode (OH_AI_ContextHandle context, int mode ) 906e41f4b71Sopenharmony_ci``` 907e41f4b71Sopenharmony_ci 908e41f4b71Sopenharmony_ci**描述** 909e41f4b71Sopenharmony_ci 910e41f4b71Sopenharmony_ci设置运行时线程绑定CPU核心的策略,按照CPU物理核频率分为大、中、小三种类型的核心,并且仅需绑大核或者绑中核,不需要绑小核。 911e41f4b71Sopenharmony_ci 912e41f4b71Sopenharmony_ci**起始版本:** 9 913e41f4b71Sopenharmony_ci 914e41f4b71Sopenharmony_ci**参数:** 915e41f4b71Sopenharmony_ci 916e41f4b71Sopenharmony_ci| 名称 | 描述 | 917e41f4b71Sopenharmony_ci| -------- | -------- | 918e41f4b71Sopenharmony_ci| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 | 919e41f4b71Sopenharmony_ci| mode | 绑核策略。一共有三种策略,0为不绑核, 1为大核优先, 2为中核优先。 | 920e41f4b71Sopenharmony_ci 921e41f4b71Sopenharmony_ci 922e41f4b71Sopenharmony_ci### OH_AI_ContextSetThreadNum() 923e41f4b71Sopenharmony_ci 924e41f4b71Sopenharmony_ci``` 925e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_ContextSetThreadNum (OH_AI_ContextHandle context, int32_t thread_num ) 926e41f4b71Sopenharmony_ci``` 927e41f4b71Sopenharmony_ci 928e41f4b71Sopenharmony_ci**描述** 929e41f4b71Sopenharmony_ci 930e41f4b71Sopenharmony_ci设置运行时的线程数量。 931e41f4b71Sopenharmony_ci 932e41f4b71Sopenharmony_ci**起始版本:** 9 933e41f4b71Sopenharmony_ci 934e41f4b71Sopenharmony_ci**参数:** 935e41f4b71Sopenharmony_ci 936e41f4b71Sopenharmony_ci| 名称 | 描述 | 937e41f4b71Sopenharmony_ci| -------- | -------- | 938e41f4b71Sopenharmony_ci| context | 指向上下文信息实例的[OH_AI_ContextHandle](#oh_ai_contexthandle) | 939e41f4b71Sopenharmony_ci| thread_num | 运行时的线程数量。 | 940e41f4b71Sopenharmony_ci 941e41f4b71Sopenharmony_ci 942e41f4b71Sopenharmony_ci### OH_AI_CreateNNRTDeviceInfoByName() 943e41f4b71Sopenharmony_ci 944e41f4b71Sopenharmony_ci``` 945e41f4b71Sopenharmony_ciOH_AI_API OH_AI_DeviceInfoHandle OH_AI_CreateNNRTDeviceInfoByName (const char * name) 946e41f4b71Sopenharmony_ci``` 947e41f4b71Sopenharmony_ci 948e41f4b71Sopenharmony_ci**描述** 949e41f4b71Sopenharmony_ci 950e41f4b71Sopenharmony_ci查找指定名称的NNRt设备,根据找到的第一个设备信息,创建NNRt设备信息。 951e41f4b71Sopenharmony_ci 952e41f4b71Sopenharmony_ci**起始版本:** 10 953e41f4b71Sopenharmony_ci 954e41f4b71Sopenharmony_ci**参数:** 955e41f4b71Sopenharmony_ci 956e41f4b71Sopenharmony_ci| 名称 | 描述 | 957e41f4b71Sopenharmony_ci| -------- | -------- | 958e41f4b71Sopenharmony_ci| name | 目标NNRt设备名。 | 959e41f4b71Sopenharmony_ci 960e41f4b71Sopenharmony_ci**返回:** 961e41f4b71Sopenharmony_ci 962e41f4b71Sopenharmony_ci指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 963e41f4b71Sopenharmony_ci 964e41f4b71Sopenharmony_ci 965e41f4b71Sopenharmony_ci### OH_AI_CreateNNRTDeviceInfoByType() 966e41f4b71Sopenharmony_ci 967e41f4b71Sopenharmony_ci``` 968e41f4b71Sopenharmony_ciOH_AI_API OH_AI_DeviceInfoHandle OH_AI_CreateNNRTDeviceInfoByType (OH_AI_NNRTDeviceType type) 969e41f4b71Sopenharmony_ci``` 970e41f4b71Sopenharmony_ci 971e41f4b71Sopenharmony_ci**描述** 972e41f4b71Sopenharmony_ci 973e41f4b71Sopenharmony_ci查找指定类型的NNRt设备,根据找到的第一个设备信息,创建NNRt设备信息。 974e41f4b71Sopenharmony_ci 975e41f4b71Sopenharmony_ci**起始版本:** 10 976e41f4b71Sopenharmony_ci 977e41f4b71Sopenharmony_ci**参数:** 978e41f4b71Sopenharmony_ci 979e41f4b71Sopenharmony_ci| 名称 | 描述 | 980e41f4b71Sopenharmony_ci| -------- | -------- | 981e41f4b71Sopenharmony_ci| type | [OH_AI_NNRTDeviceType](#oh_ai_nnrtdevicetype) 目标NNRt设备类型。 | 982e41f4b71Sopenharmony_ci 983e41f4b71Sopenharmony_ci**返回:** 984e41f4b71Sopenharmony_ci 985e41f4b71Sopenharmony_ci指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 986e41f4b71Sopenharmony_ci 987e41f4b71Sopenharmony_ci 988e41f4b71Sopenharmony_ci### OH_AI_DestroyAllNNRTDeviceDescs() 989e41f4b71Sopenharmony_ci 990e41f4b71Sopenharmony_ci``` 991e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_DestroyAllNNRTDeviceDescs (NNRTDeviceDesc ** desc) 992e41f4b71Sopenharmony_ci``` 993e41f4b71Sopenharmony_ci 994e41f4b71Sopenharmony_ci**描述** 995e41f4b71Sopenharmony_ci 996e41f4b71Sopenharmony_ci销毁从[OH_AI_GetAllNNRTDeviceDescs](#oh_ai_getallnnrtdevicedescs)获取的NNRt描写信息实例数组。 997e41f4b71Sopenharmony_ci 998e41f4b71Sopenharmony_ci**起始版本:** 10 999e41f4b71Sopenharmony_ci 1000e41f4b71Sopenharmony_ci**参数:** 1001e41f4b71Sopenharmony_ci 1002e41f4b71Sopenharmony_ci| 名称 | 描述 | 1003e41f4b71Sopenharmony_ci| -------- | -------- | 1004e41f4b71Sopenharmony_ci| desc | 指向NNRt设备描述信息实例数组的二重指针。销毁结束,desc指向内容会被置为NULL。 | 1005e41f4b71Sopenharmony_ci 1006e41f4b71Sopenharmony_ci 1007e41f4b71Sopenharmony_ci### OH_AI_DeviceInfoAddExtension() 1008e41f4b71Sopenharmony_ci 1009e41f4b71Sopenharmony_ci``` 1010e41f4b71Sopenharmony_ciOH_AI_API OH_AI_Status OH_AI_DeviceInfoAddExtension (OH_AI_DeviceInfoHandle device_info, const char * name, const char * value, size_t value_size ) 1011e41f4b71Sopenharmony_ci``` 1012e41f4b71Sopenharmony_ci 1013e41f4b71Sopenharmony_ci**描述** 1014e41f4b71Sopenharmony_ci 1015e41f4b71Sopenharmony_ci向设备信息中添加键/值对形式的扩展配置。只对NNRt设备信息有效。 1016e41f4b71Sopenharmony_ci 1017e41f4b71Sopenharmony_ci注意:当前仅支持{"CachePath": "YourCachePath"},{"CacheVersion": "YouCacheVersion"},{"QuantBuffer": "YourQuantBuffer"},{"ModelName": "YourModelName"},{"isProfiling": "YourisProfiling"},{"opLayout": "YouropLayout"},{"InputDims": "YourInputDims"},{"DynamicDims": "YourDynamicDims"},{"QuantConfigData": "YourQuantConfigData"},{"BandMode": "YourBandMode"},{"NPU_FM_SHARED": "YourNPU_FM_SHARED"} 11种键值对配置,用户根据使用情况替换具体的值。 1018e41f4b71Sopenharmony_ci 1019e41f4b71Sopenharmony_ci**起始版本:** 10 1020e41f4b71Sopenharmony_ci 1021e41f4b71Sopenharmony_ci**参数:** 1022e41f4b71Sopenharmony_ci 1023e41f4b71Sopenharmony_ci| 名称 | 描述 | 1024e41f4b71Sopenharmony_ci| -------- | -------- | 1025e41f4b71Sopenharmony_ci| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | 1026e41f4b71Sopenharmony_ci| name | 单个扩展项的键,格式为C字符串。 | 1027e41f4b71Sopenharmony_ci| value | 单个扩展项的值内容首地址。 | 1028e41f4b71Sopenharmony_ci| value_size | 单个扩展项的值内容长度。 | 1029e41f4b71Sopenharmony_ci 1030e41f4b71Sopenharmony_ci**返回:** 1031e41f4b71Sopenharmony_ci 1032e41f4b71Sopenharmony_ci[OH_AI_Status](#oh_ai_status) 执行状态码,若成功返回OH_AI_STATUS_SUCCESS,失败则返回具体错误码。 1033e41f4b71Sopenharmony_ci 1034e41f4b71Sopenharmony_ci 1035e41f4b71Sopenharmony_ci### OH_AI_DeviceInfoCreate() 1036e41f4b71Sopenharmony_ci 1037e41f4b71Sopenharmony_ci``` 1038e41f4b71Sopenharmony_ciOH_AI_API OH_AI_DeviceInfoHandle OH_AI_DeviceInfoCreate (OH_AI_DeviceType device_type) 1039e41f4b71Sopenharmony_ci``` 1040e41f4b71Sopenharmony_ci 1041e41f4b71Sopenharmony_ci**描述** 1042e41f4b71Sopenharmony_ci 1043e41f4b71Sopenharmony_ci创建一个设备信息对象。 1044e41f4b71Sopenharmony_ci 1045e41f4b71Sopenharmony_ci**起始版本:** 9 1046e41f4b71Sopenharmony_ci 1047e41f4b71Sopenharmony_ci**参数:** 1048e41f4b71Sopenharmony_ci 1049e41f4b71Sopenharmony_ci| 名称 | 描述 | 1050e41f4b71Sopenharmony_ci| -------- | -------- | 1051e41f4b71Sopenharmony_ci| device_type | 设备类型, 具体见[OH_AI_DeviceType](#oh_ai_devicetype)。 | 1052e41f4b71Sopenharmony_ci 1053e41f4b71Sopenharmony_ci**返回:** 1054e41f4b71Sopenharmony_ci 1055e41f4b71Sopenharmony_ci指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 1056e41f4b71Sopenharmony_ci 1057e41f4b71Sopenharmony_ci 1058e41f4b71Sopenharmony_ci### OH_AI_DeviceInfoDestroy() 1059e41f4b71Sopenharmony_ci 1060e41f4b71Sopenharmony_ci``` 1061e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_DeviceInfoDestroy (OH_AI_DeviceInfoHandle * device_info) 1062e41f4b71Sopenharmony_ci``` 1063e41f4b71Sopenharmony_ci 1064e41f4b71Sopenharmony_ci**描述** 1065e41f4b71Sopenharmony_ci 1066e41f4b71Sopenharmony_ci释放设备信息实例。注意:设备信息实例被添加到context后,无须调用者手动释放。 1067e41f4b71Sopenharmony_ci 1068e41f4b71Sopenharmony_ci**起始版本:** 9 1069e41f4b71Sopenharmony_ci 1070e41f4b71Sopenharmony_ci**参数:** 1071e41f4b71Sopenharmony_ci 1072e41f4b71Sopenharmony_ci| 名称 | 描述 | 1073e41f4b71Sopenharmony_ci| -------- | -------- | 1074e41f4b71Sopenharmony_ci| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | 1075e41f4b71Sopenharmony_ci 1076e41f4b71Sopenharmony_ci 1077e41f4b71Sopenharmony_ci### OH_AI_DeviceInfoGetDeviceId() 1078e41f4b71Sopenharmony_ci 1079e41f4b71Sopenharmony_ci``` 1080e41f4b71Sopenharmony_ciOH_AI_API size_t OH_AI_DeviceInfoGetDeviceId (const OH_AI_DeviceInfoHandle device_info) 1081e41f4b71Sopenharmony_ci``` 1082e41f4b71Sopenharmony_ci 1083e41f4b71Sopenharmony_ci**描述** 1084e41f4b71Sopenharmony_ci 1085e41f4b71Sopenharmony_ci获取NNRt设备ID,仅NNRt设备可用。 1086e41f4b71Sopenharmony_ci 1087e41f4b71Sopenharmony_ci**起始版本:** 10 1088e41f4b71Sopenharmony_ci 1089e41f4b71Sopenharmony_ci**参数:** 1090e41f4b71Sopenharmony_ci 1091e41f4b71Sopenharmony_ci| 名称 | 描述 | 1092e41f4b71Sopenharmony_ci| -------- | -------- | 1093e41f4b71Sopenharmony_ci| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | 1094e41f4b71Sopenharmony_ci 1095e41f4b71Sopenharmony_ci**返回:** 1096e41f4b71Sopenharmony_ci 1097e41f4b71Sopenharmony_ciNNRt设备ID。 1098e41f4b71Sopenharmony_ci 1099e41f4b71Sopenharmony_ci 1100e41f4b71Sopenharmony_ci### OH_AI_DeviceInfoGetDeviceType() 1101e41f4b71Sopenharmony_ci 1102e41f4b71Sopenharmony_ci``` 1103e41f4b71Sopenharmony_ciOH_AI_API OH_AI_DeviceType OH_AI_DeviceInfoGetDeviceType (const OH_AI_DeviceInfoHandle device_info) 1104e41f4b71Sopenharmony_ci``` 1105e41f4b71Sopenharmony_ci 1106e41f4b71Sopenharmony_ci**描述** 1107e41f4b71Sopenharmony_ci 1108e41f4b71Sopenharmony_ci获取设备的类型。 1109e41f4b71Sopenharmony_ci 1110e41f4b71Sopenharmony_ci**起始版本:** 9 1111e41f4b71Sopenharmony_ci 1112e41f4b71Sopenharmony_ci**参数:** 1113e41f4b71Sopenharmony_ci 1114e41f4b71Sopenharmony_ci| 名称 | 描述 | 1115e41f4b71Sopenharmony_ci| -------- | -------- | 1116e41f4b71Sopenharmony_ci| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | 1117e41f4b71Sopenharmony_ci 1118e41f4b71Sopenharmony_ci**返回:** 1119e41f4b71Sopenharmony_ci 1120e41f4b71Sopenharmony_ci生产商设备类型。 1121e41f4b71Sopenharmony_ci 1122e41f4b71Sopenharmony_ci 1123e41f4b71Sopenharmony_ci### OH_AI_DeviceInfoGetEnableFP16() 1124e41f4b71Sopenharmony_ci 1125e41f4b71Sopenharmony_ci``` 1126e41f4b71Sopenharmony_ciOH_AI_API bool OH_AI_DeviceInfoGetEnableFP16 (const OH_AI_DeviceInfoHandle device_info) 1127e41f4b71Sopenharmony_ci``` 1128e41f4b71Sopenharmony_ci 1129e41f4b71Sopenharmony_ci**描述** 1130e41f4b71Sopenharmony_ci 1131e41f4b71Sopenharmony_ci获取是否开启float16推理模式, 仅CPU/GPU设备可用。 1132e41f4b71Sopenharmony_ci 1133e41f4b71Sopenharmony_ci**起始版本:** 9 1134e41f4b71Sopenharmony_ci 1135e41f4b71Sopenharmony_ci**参数:** 1136e41f4b71Sopenharmony_ci 1137e41f4b71Sopenharmony_ci| 名称 | 描述 | 1138e41f4b71Sopenharmony_ci| -------- | -------- | 1139e41f4b71Sopenharmony_ci| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | 1140e41f4b71Sopenharmony_ci 1141e41f4b71Sopenharmony_ci**返回:** 1142e41f4b71Sopenharmony_ci 1143e41f4b71Sopenharmony_ci设置是否开启float16推理模式。 1144e41f4b71Sopenharmony_ci 1145e41f4b71Sopenharmony_ci 1146e41f4b71Sopenharmony_ci### OH_AI_DeviceInfoGetFrequency() 1147e41f4b71Sopenharmony_ci 1148e41f4b71Sopenharmony_ci``` 1149e41f4b71Sopenharmony_ciOH_AI_API int OH_AI_DeviceInfoGetFrequency (const OH_AI_DeviceInfoHandle device_info) 1150e41f4b71Sopenharmony_ci``` 1151e41f4b71Sopenharmony_ci 1152e41f4b71Sopenharmony_ci**描述** 1153e41f4b71Sopenharmony_ci 1154e41f4b71Sopenharmony_ci获取NPU的频率类型,仅NPU设备可用。 1155e41f4b71Sopenharmony_ci 1156e41f4b71Sopenharmony_ci**起始版本:** 9 1157e41f4b71Sopenharmony_ci 1158e41f4b71Sopenharmony_ci**参数:** 1159e41f4b71Sopenharmony_ci 1160e41f4b71Sopenharmony_ci| 名称 | 描述 | 1161e41f4b71Sopenharmony_ci| -------- | -------- | 1162e41f4b71Sopenharmony_ci| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | 1163e41f4b71Sopenharmony_ci 1164e41f4b71Sopenharmony_ci**返回:** 1165e41f4b71Sopenharmony_ci 1166e41f4b71Sopenharmony_ciNPU的频率类型。取值范围为0-4,1表示低功耗,2表示平衡,3表示高性能,4表示超高性能。 1167e41f4b71Sopenharmony_ci 1168e41f4b71Sopenharmony_ci 1169e41f4b71Sopenharmony_ci### OH_AI_DeviceInfoGetPerformanceMode() 1170e41f4b71Sopenharmony_ci 1171e41f4b71Sopenharmony_ci``` 1172e41f4b71Sopenharmony_ciOH_AI_API OH_AI_PerformanceMode OH_AI_DeviceInfoGetPerformanceMode (const OH_AI_DeviceInfoHandle device_info) 1173e41f4b71Sopenharmony_ci``` 1174e41f4b71Sopenharmony_ci 1175e41f4b71Sopenharmony_ci**描述** 1176e41f4b71Sopenharmony_ci 1177e41f4b71Sopenharmony_ci获取NNRt性能模式,仅NNRt设备可用。 1178e41f4b71Sopenharmony_ci 1179e41f4b71Sopenharmony_ci**起始版本:** 10 1180e41f4b71Sopenharmony_ci 1181e41f4b71Sopenharmony_ci**参数:** 1182e41f4b71Sopenharmony_ci 1183e41f4b71Sopenharmony_ci| 名称 | 描述 | 1184e41f4b71Sopenharmony_ci| -------- | -------- | 1185e41f4b71Sopenharmony_ci| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | 1186e41f4b71Sopenharmony_ci 1187e41f4b71Sopenharmony_ci**返回:** 1188e41f4b71Sopenharmony_ci 1189e41f4b71Sopenharmony_ci[OH_AI_PerformanceMode](#oh_ai_performancemode) NNRt性能模式。 1190e41f4b71Sopenharmony_ci 1191e41f4b71Sopenharmony_ci 1192e41f4b71Sopenharmony_ci### OH_AI_DeviceInfoGetPriority() 1193e41f4b71Sopenharmony_ci 1194e41f4b71Sopenharmony_ci``` 1195e41f4b71Sopenharmony_ciOH_AI_API OH_AI_Priority OH_AI_DeviceInfoGetPriority (const OH_AI_DeviceInfoHandle device_info) 1196e41f4b71Sopenharmony_ci``` 1197e41f4b71Sopenharmony_ci 1198e41f4b71Sopenharmony_ci**描述** 1199e41f4b71Sopenharmony_ci 1200e41f4b71Sopenharmony_ci获取NNRt任务优先级,仅NNRt设备可用。 1201e41f4b71Sopenharmony_ci 1202e41f4b71Sopenharmony_ci**起始版本:** 10 1203e41f4b71Sopenharmony_ci 1204e41f4b71Sopenharmony_ci**参数:** 1205e41f4b71Sopenharmony_ci 1206e41f4b71Sopenharmony_ci| 名称 | 描述 | 1207e41f4b71Sopenharmony_ci| -------- | -------- | 1208e41f4b71Sopenharmony_ci| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | 1209e41f4b71Sopenharmony_ci 1210e41f4b71Sopenharmony_ci**返回:** 1211e41f4b71Sopenharmony_ci 1212e41f4b71Sopenharmony_ci[OH_AI_Priority](#oh_ai_priority) NNRt任务优先级。 1213e41f4b71Sopenharmony_ci 1214e41f4b71Sopenharmony_ci 1215e41f4b71Sopenharmony_ci### OH_AI_DeviceInfoGetProvider() 1216e41f4b71Sopenharmony_ci 1217e41f4b71Sopenharmony_ci``` 1218e41f4b71Sopenharmony_ciOH_AI_API const char* OH_AI_DeviceInfoGetProvider (const OH_AI_DeviceInfoHandle device_info) 1219e41f4b71Sopenharmony_ci``` 1220e41f4b71Sopenharmony_ci 1221e41f4b71Sopenharmony_ci**描述** 1222e41f4b71Sopenharmony_ci 1223e41f4b71Sopenharmony_ci获取生产商的名称。 1224e41f4b71Sopenharmony_ci 1225e41f4b71Sopenharmony_ci**起始版本:** 9 1226e41f4b71Sopenharmony_ci 1227e41f4b71Sopenharmony_ci**参数:** 1228e41f4b71Sopenharmony_ci 1229e41f4b71Sopenharmony_ci| 名称 | 描述 | 1230e41f4b71Sopenharmony_ci| -------- | -------- | 1231e41f4b71Sopenharmony_ci| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | 1232e41f4b71Sopenharmony_ci 1233e41f4b71Sopenharmony_ci**返回:** 1234e41f4b71Sopenharmony_ci 1235e41f4b71Sopenharmony_ci生产商的名称。 1236e41f4b71Sopenharmony_ci 1237e41f4b71Sopenharmony_ci 1238e41f4b71Sopenharmony_ci### OH_AI_DeviceInfoGetProviderDevice() 1239e41f4b71Sopenharmony_ci 1240e41f4b71Sopenharmony_ci``` 1241e41f4b71Sopenharmony_ciOH_AI_API const char* OH_AI_DeviceInfoGetProviderDevice (const OH_AI_DeviceInfoHandle device_info) 1242e41f4b71Sopenharmony_ci``` 1243e41f4b71Sopenharmony_ci 1244e41f4b71Sopenharmony_ci**描述** 1245e41f4b71Sopenharmony_ci 1246e41f4b71Sopenharmony_ci获取生产商设备的名称。 1247e41f4b71Sopenharmony_ci 1248e41f4b71Sopenharmony_ci**起始版本:** 9 1249e41f4b71Sopenharmony_ci 1250e41f4b71Sopenharmony_ci**参数:** 1251e41f4b71Sopenharmony_ci 1252e41f4b71Sopenharmony_ci| 名称 | 描述 | 1253e41f4b71Sopenharmony_ci| -------- | -------- | 1254e41f4b71Sopenharmony_ci| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | 1255e41f4b71Sopenharmony_ci 1256e41f4b71Sopenharmony_ci**返回:** 1257e41f4b71Sopenharmony_ci 1258e41f4b71Sopenharmony_ci生产商设备的名称。 1259e41f4b71Sopenharmony_ci 1260e41f4b71Sopenharmony_ci 1261e41f4b71Sopenharmony_ci### OH_AI_DeviceInfoSetDeviceId() 1262e41f4b71Sopenharmony_ci 1263e41f4b71Sopenharmony_ci``` 1264e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_DeviceInfoSetDeviceId (OH_AI_DeviceInfoHandle device_info, size_t device_id ) 1265e41f4b71Sopenharmony_ci``` 1266e41f4b71Sopenharmony_ci 1267e41f4b71Sopenharmony_ci**描述** 1268e41f4b71Sopenharmony_ci 1269e41f4b71Sopenharmony_ci设置NNRt设备ID,仅NNRt设备可用。 1270e41f4b71Sopenharmony_ci 1271e41f4b71Sopenharmony_ci**起始版本:** 10 1272e41f4b71Sopenharmony_ci 1273e41f4b71Sopenharmony_ci**参数:** 1274e41f4b71Sopenharmony_ci 1275e41f4b71Sopenharmony_ci| 名称 | 描述 | 1276e41f4b71Sopenharmony_ci| -------- | -------- | 1277e41f4b71Sopenharmony_ci| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | 1278e41f4b71Sopenharmony_ci| device_id | NNRt设备ID。 | 1279e41f4b71Sopenharmony_ci 1280e41f4b71Sopenharmony_ci 1281e41f4b71Sopenharmony_ci### OH_AI_DeviceInfoSetEnableFP16() 1282e41f4b71Sopenharmony_ci 1283e41f4b71Sopenharmony_ci``` 1284e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_DeviceInfoSetEnableFP16 (OH_AI_DeviceInfoHandle device_info, bool is_fp16 ) 1285e41f4b71Sopenharmony_ci``` 1286e41f4b71Sopenharmony_ci 1287e41f4b71Sopenharmony_ci**描述** 1288e41f4b71Sopenharmony_ci 1289e41f4b71Sopenharmony_ci设置是否开启float16推理模式,仅CPU/GPU设备可用。 1290e41f4b71Sopenharmony_ci 1291e41f4b71Sopenharmony_ci**起始版本:** 9 1292e41f4b71Sopenharmony_ci 1293e41f4b71Sopenharmony_ci**参数:** 1294e41f4b71Sopenharmony_ci 1295e41f4b71Sopenharmony_ci| 名称 | 描述 | 1296e41f4b71Sopenharmony_ci| -------- | -------- | 1297e41f4b71Sopenharmony_ci| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | 1298e41f4b71Sopenharmony_ci| is_fp16 | 是否开启float16推理模式。 | 1299e41f4b71Sopenharmony_ci 1300e41f4b71Sopenharmony_ci 1301e41f4b71Sopenharmony_ci### OH_AI_DeviceInfoSetFrequency() 1302e41f4b71Sopenharmony_ci 1303e41f4b71Sopenharmony_ci``` 1304e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_DeviceInfoSetFrequency (OH_AI_DeviceInfoHandle device_info, int frequency ) 1305e41f4b71Sopenharmony_ci``` 1306e41f4b71Sopenharmony_ci 1307e41f4b71Sopenharmony_ci**描述** 1308e41f4b71Sopenharmony_ci 1309e41f4b71Sopenharmony_ci设置NPU的频率,仅NPU设备可用。 1310e41f4b71Sopenharmony_ci 1311e41f4b71Sopenharmony_ci**起始版本:** 9 1312e41f4b71Sopenharmony_ci 1313e41f4b71Sopenharmony_ci**参数:** 1314e41f4b71Sopenharmony_ci 1315e41f4b71Sopenharmony_ci| 名称 | 描述 | 1316e41f4b71Sopenharmony_ci| -------- | -------- | 1317e41f4b71Sopenharmony_ci| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | 1318e41f4b71Sopenharmony_ci| frequency | 频率类型,取值范围为0-4,默认是3。1表示低功耗,2表示平衡,3表示高性能,4表示超高性能。 | 1319e41f4b71Sopenharmony_ci 1320e41f4b71Sopenharmony_ci 1321e41f4b71Sopenharmony_ci### OH_AI_DeviceInfoSetPerformanceMode() 1322e41f4b71Sopenharmony_ci 1323e41f4b71Sopenharmony_ci``` 1324e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_DeviceInfoSetPerformanceMode (OH_AI_DeviceInfoHandle device_info, OH_AI_PerformanceMode mode ) 1325e41f4b71Sopenharmony_ci``` 1326e41f4b71Sopenharmony_ci 1327e41f4b71Sopenharmony_ci**描述** 1328e41f4b71Sopenharmony_ci 1329e41f4b71Sopenharmony_ci设置NNRt性能模式,仅NNRt设备可用。 1330e41f4b71Sopenharmony_ci 1331e41f4b71Sopenharmony_ci**起始版本:** 10 1332e41f4b71Sopenharmony_ci 1333e41f4b71Sopenharmony_ci**参数:** 1334e41f4b71Sopenharmony_ci 1335e41f4b71Sopenharmony_ci| 名称 | 描述 | 1336e41f4b71Sopenharmony_ci| -------- | -------- | 1337e41f4b71Sopenharmony_ci| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | 1338e41f4b71Sopenharmony_ci| mode | [OH_AI_PerformanceMode](#oh_ai_performancemode) NNRt性能模式。 | 1339e41f4b71Sopenharmony_ci 1340e41f4b71Sopenharmony_ci 1341e41f4b71Sopenharmony_ci### OH_AI_DeviceInfoSetPriority() 1342e41f4b71Sopenharmony_ci 1343e41f4b71Sopenharmony_ci``` 1344e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_DeviceInfoSetPriority (OH_AI_DeviceInfoHandle device_info, OH_AI_Priority priority ) 1345e41f4b71Sopenharmony_ci``` 1346e41f4b71Sopenharmony_ci 1347e41f4b71Sopenharmony_ci**描述** 1348e41f4b71Sopenharmony_ci 1349e41f4b71Sopenharmony_ci设置NNRt任务优先级,仅NNRt设备可用。 1350e41f4b71Sopenharmony_ci 1351e41f4b71Sopenharmony_ci**起始版本:** 10 1352e41f4b71Sopenharmony_ci 1353e41f4b71Sopenharmony_ci**参数:** 1354e41f4b71Sopenharmony_ci 1355e41f4b71Sopenharmony_ci| 名称 | 描述 | 1356e41f4b71Sopenharmony_ci| -------- | -------- | 1357e41f4b71Sopenharmony_ci| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | 1358e41f4b71Sopenharmony_ci| priority | [OH_AI_Priority](#oh_ai_priority) NNRt任务优先级。 | 1359e41f4b71Sopenharmony_ci 1360e41f4b71Sopenharmony_ci 1361e41f4b71Sopenharmony_ci### OH_AI_DeviceInfoSetProvider() 1362e41f4b71Sopenharmony_ci 1363e41f4b71Sopenharmony_ci``` 1364e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_DeviceInfoSetProvider (OH_AI_DeviceInfoHandle device_info, const char * provider ) 1365e41f4b71Sopenharmony_ci``` 1366e41f4b71Sopenharmony_ci 1367e41f4b71Sopenharmony_ci**描述** 1368e41f4b71Sopenharmony_ci 1369e41f4b71Sopenharmony_ci设置生产商的名称。 1370e41f4b71Sopenharmony_ci 1371e41f4b71Sopenharmony_ci**起始版本:** 9 1372e41f4b71Sopenharmony_ci 1373e41f4b71Sopenharmony_ci**参数:** 1374e41f4b71Sopenharmony_ci 1375e41f4b71Sopenharmony_ci| 名称 | 描述 | 1376e41f4b71Sopenharmony_ci| -------- | -------- | 1377e41f4b71Sopenharmony_ci| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | 1378e41f4b71Sopenharmony_ci| provider | 生产商的名称。 | 1379e41f4b71Sopenharmony_ci 1380e41f4b71Sopenharmony_ci 1381e41f4b71Sopenharmony_ci### OH_AI_DeviceInfoSetProviderDevice() 1382e41f4b71Sopenharmony_ci 1383e41f4b71Sopenharmony_ci``` 1384e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_DeviceInfoSetProviderDevice (OH_AI_DeviceInfoHandle device_info, const char * device ) 1385e41f4b71Sopenharmony_ci``` 1386e41f4b71Sopenharmony_ci 1387e41f4b71Sopenharmony_ci**描述** 1388e41f4b71Sopenharmony_ci 1389e41f4b71Sopenharmony_ci设置生产商设备的名称。 1390e41f4b71Sopenharmony_ci 1391e41f4b71Sopenharmony_ci**起始版本:** 9 1392e41f4b71Sopenharmony_ci 1393e41f4b71Sopenharmony_ci**参数:** 1394e41f4b71Sopenharmony_ci 1395e41f4b71Sopenharmony_ci| 名称 | 描述 | 1396e41f4b71Sopenharmony_ci| -------- | -------- | 1397e41f4b71Sopenharmony_ci| device_info | 指向设备信息实例的[OH_AI_DeviceInfoHandle](#oh_ai_deviceinfohandle)。 | 1398e41f4b71Sopenharmony_ci| device | 生产商设备名称。例如: CPU。 | 1399e41f4b71Sopenharmony_ci 1400e41f4b71Sopenharmony_ci 1401e41f4b71Sopenharmony_ci### OH_AI_ExportModel() 1402e41f4b71Sopenharmony_ci 1403e41f4b71Sopenharmony_ci``` 1404e41f4b71Sopenharmony_ciOH_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 ) 1405e41f4b71Sopenharmony_ci``` 1406e41f4b71Sopenharmony_ci 1407e41f4b71Sopenharmony_ci**描述** 1408e41f4b71Sopenharmony_ci 1409e41f4b71Sopenharmony_ci导出训练模型,仅用于端侧训练。 1410e41f4b71Sopenharmony_ci 1411e41f4b71Sopenharmony_ci**起始版本:** 11 1412e41f4b71Sopenharmony_ci 1413e41f4b71Sopenharmony_ci**参数:** 1414e41f4b71Sopenharmony_ci 1415e41f4b71Sopenharmony_ci| 名称 | 描述 | 1416e41f4b71Sopenharmony_ci| -------- | -------- | 1417e41f4b71Sopenharmony_ci| model | 模型对象指针。 | 1418e41f4b71Sopenharmony_ci| model_type | 模型文件类型,具体见[OH_AI_ModelType](#oh_ai_modeltype)。 | 1419e41f4b71Sopenharmony_ci| model_file | 导出的模型文件路径。 | 1420e41f4b71Sopenharmony_ci| quantization_type | 量化类型。 | 1421e41f4b71Sopenharmony_ci| export_inference_only | 是否导出推理模型。 | 1422e41f4b71Sopenharmony_ci| output_tensor_name | 设置导出模型的输出Tensor,默认为空表示全量导出。 | 1423e41f4b71Sopenharmony_ci| num | 输出Tensor的数量。 | 1424e41f4b71Sopenharmony_ci 1425e41f4b71Sopenharmony_ci**返回:** 1426e41f4b71Sopenharmony_ci 1427e41f4b71Sopenharmony_ci枚举类型的状态码[OH_AI_Status](#oh_ai_status),若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。 1428e41f4b71Sopenharmony_ci 1429e41f4b71Sopenharmony_ci### OH_AI_ExportModelBuffer() 1430e41f4b71Sopenharmony_ci 1431e41f4b71Sopenharmony_ci``` 1432e41f4b71Sopenharmony_ciOH_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 ) 1433e41f4b71Sopenharmony_ci``` 1434e41f4b71Sopenharmony_ci**描述** 1435e41f4b71Sopenharmony_ci导出训练模型内存缓存,仅用于端侧训练。 1436e41f4b71Sopenharmony_ci 1437e41f4b71Sopenharmony_ci**起始版本:** 11 1438e41f4b71Sopenharmony_ci 1439e41f4b71Sopenharmony_ci**参数:** 1440e41f4b71Sopenharmony_ci 1441e41f4b71Sopenharmony_ci| 名称 | 描述 | 1442e41f4b71Sopenharmony_ci| -------- | -------- | 1443e41f4b71Sopenharmony_ci| model | 模型对象指针。 | 1444e41f4b71Sopenharmony_ci| model_type | 模型文件类型,具体见[OH_AI_ModelType](#oh_ai_modeltype)。 | 1445e41f4b71Sopenharmony_ci| model_data | 指向导出模型文件缓冲区的指针。 | 1446e41f4b71Sopenharmony_ci| data_size | 缓冲区大小。 | 1447e41f4b71Sopenharmony_ci| quantization_type | 量化类型。 | 1448e41f4b71Sopenharmony_ci| export_inference_only | 是否导出推理模型。 | 1449e41f4b71Sopenharmony_ci| output_tensor_name | 设置导出模型的输出Tensor,默认为空表示全量导出。 | 1450e41f4b71Sopenharmony_ci| num | 输出Tensor的数量。 | 1451e41f4b71Sopenharmony_ci 1452e41f4b71Sopenharmony_ci**返回:** 1453e41f4b71Sopenharmony_ci 1454e41f4b71Sopenharmony_ci枚举类型的状态码[OH_AI_Status](#oh_ai_status),若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。 1455e41f4b71Sopenharmony_ci 1456e41f4b71Sopenharmony_ci 1457e41f4b71Sopenharmony_ci### OH_AI_ExportWeightsCollaborateWithMicro() 1458e41f4b71Sopenharmony_ci 1459e41f4b71Sopenharmony_ci``` 1460e41f4b71Sopenharmony_ciOH_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 ) 1461e41f4b71Sopenharmony_ci``` 1462e41f4b71Sopenharmony_ci 1463e41f4b71Sopenharmony_ci**描述** 1464e41f4b71Sopenharmony_ci 1465e41f4b71Sopenharmony_ci导出模型权重,只能用于micro推理,仅用于端侧训练。 1466e41f4b71Sopenharmony_ci 1467e41f4b71Sopenharmony_ci**起始版本:** 11 1468e41f4b71Sopenharmony_ci 1469e41f4b71Sopenharmony_ci**参数:** 1470e41f4b71Sopenharmony_ci 1471e41f4b71Sopenharmony_ci| 名称 | 描述 | 1472e41f4b71Sopenharmony_ci| -------- | -------- | 1473e41f4b71Sopenharmony_ci| model | 模型对象指针。 | 1474e41f4b71Sopenharmony_ci| model_type | 模型文件类型,具体见[OH_AI_ModelType](#oh_ai_modeltype)。 | 1475e41f4b71Sopenharmony_ci| weight_file | 导出的权重文件路径。 | 1476e41f4b71Sopenharmony_ci| is_inference | 是否导出推理模型,当前只支持设置为true。 | 1477e41f4b71Sopenharmony_ci| enable_fp16 | 浮点权重是否保存为float16格式。 | 1478e41f4b71Sopenharmony_ci| changeable_weights_name | shape可变的权重Tensor名称。 | 1479e41f4b71Sopenharmony_ci| num | shape可变的权重Tensor名称的数量。 | 1480e41f4b71Sopenharmony_ci 1481e41f4b71Sopenharmony_ci**返回:** 1482e41f4b71Sopenharmony_ci 1483e41f4b71Sopenharmony_ci枚举类型的状态码[OH_AI_Status](#oh_ai_status),若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。 1484e41f4b71Sopenharmony_ci 1485e41f4b71Sopenharmony_ci 1486e41f4b71Sopenharmony_ci### OH_AI_GetAllNNRTDeviceDescs() 1487e41f4b71Sopenharmony_ci 1488e41f4b71Sopenharmony_ci``` 1489e41f4b71Sopenharmony_ciOH_AI_API NNRTDeviceDesc* OH_AI_GetAllNNRTDeviceDescs (size_t * num) 1490e41f4b71Sopenharmony_ci``` 1491e41f4b71Sopenharmony_ci 1492e41f4b71Sopenharmony_ci**描述** 1493e41f4b71Sopenharmony_ci 1494e41f4b71Sopenharmony_ci获取系统中所有NNRt硬件设备的描述信息。 1495e41f4b71Sopenharmony_ci 1496e41f4b71Sopenharmony_ci**起始版本:** 10 1497e41f4b71Sopenharmony_ci 1498e41f4b71Sopenharmony_ci**参数:** 1499e41f4b71Sopenharmony_ci 1500e41f4b71Sopenharmony_ci| 名称 | 描述 | 1501e41f4b71Sopenharmony_ci| -------- | -------- | 1502e41f4b71Sopenharmony_ci| num | 输出参数,返回设备数量。 | 1503e41f4b71Sopenharmony_ci 1504e41f4b71Sopenharmony_ci**返回:** 1505e41f4b71Sopenharmony_ci 1506e41f4b71Sopenharmony_ci指向NNRt设备描述信息实例数组的指针。当获取失败时,返回NULL。 1507e41f4b71Sopenharmony_ci 1508e41f4b71Sopenharmony_ci 1509e41f4b71Sopenharmony_ci### OH_AI_GetDeviceIdFromNNRTDeviceDesc() 1510e41f4b71Sopenharmony_ci 1511e41f4b71Sopenharmony_ci``` 1512e41f4b71Sopenharmony_ciOH_AI_API size_t OH_AI_GetDeviceIdFromNNRTDeviceDesc (const NNRTDeviceDesc * desc) 1513e41f4b71Sopenharmony_ci``` 1514e41f4b71Sopenharmony_ci 1515e41f4b71Sopenharmony_ci**描述** 1516e41f4b71Sopenharmony_ci 1517e41f4b71Sopenharmony_ci从特定的NNRt设备描述信息实例获取NNRt设备ID。注意,此ID只对NNRt有效。 1518e41f4b71Sopenharmony_ci 1519e41f4b71Sopenharmony_ci**起始版本:** 10 1520e41f4b71Sopenharmony_ci 1521e41f4b71Sopenharmony_ci**参数:** 1522e41f4b71Sopenharmony_ci 1523e41f4b71Sopenharmony_ci| 名称 | 描述 | 1524e41f4b71Sopenharmony_ci| -------- | -------- | 1525e41f4b71Sopenharmony_ci| desc | 指向NNRt设备描述信息实例的指针。 | 1526e41f4b71Sopenharmony_ci 1527e41f4b71Sopenharmony_ci**返回:** 1528e41f4b71Sopenharmony_ci 1529e41f4b71Sopenharmony_ciNNRt设备ID。 1530e41f4b71Sopenharmony_ci 1531e41f4b71Sopenharmony_ci 1532e41f4b71Sopenharmony_ci### OH_AI_GetElementOfNNRTDeviceDescs() 1533e41f4b71Sopenharmony_ci 1534e41f4b71Sopenharmony_ci``` 1535e41f4b71Sopenharmony_ciOH_AI_API NNRTDeviceDesc* OH_AI_GetElementOfNNRTDeviceDescs (NNRTDeviceDesc * descs, size_t index ) 1536e41f4b71Sopenharmony_ci``` 1537e41f4b71Sopenharmony_ci 1538e41f4b71Sopenharmony_ci**描述** 1539e41f4b71Sopenharmony_ci 1540e41f4b71Sopenharmony_ci获取NNRt设备描述信息数组中的元素指针。 1541e41f4b71Sopenharmony_ci 1542e41f4b71Sopenharmony_ci**起始版本:** 10 1543e41f4b71Sopenharmony_ci 1544e41f4b71Sopenharmony_ci**参数:** 1545e41f4b71Sopenharmony_ci 1546e41f4b71Sopenharmony_ci| 名称 | 描述 | 1547e41f4b71Sopenharmony_ci| -------- | -------- | 1548e41f4b71Sopenharmony_ci| descs | NNRt设备描述信息数组。 | 1549e41f4b71Sopenharmony_ci| index | 数组元素索引。 | 1550e41f4b71Sopenharmony_ci 1551e41f4b71Sopenharmony_ci**返回:** 1552e41f4b71Sopenharmony_ci 1553e41f4b71Sopenharmony_ciNNRt设备描述信息类型指针。 1554e41f4b71Sopenharmony_ci 1555e41f4b71Sopenharmony_ci 1556e41f4b71Sopenharmony_ci### OH_AI_GetNameFromNNRTDeviceDesc() 1557e41f4b71Sopenharmony_ci 1558e41f4b71Sopenharmony_ci``` 1559e41f4b71Sopenharmony_ciOH_AI_API const char* OH_AI_GetNameFromNNRTDeviceDesc (const NNRTDeviceDesc * desc) 1560e41f4b71Sopenharmony_ci``` 1561e41f4b71Sopenharmony_ci 1562e41f4b71Sopenharmony_ci**描述** 1563e41f4b71Sopenharmony_ci 1564e41f4b71Sopenharmony_ci从特定的NNRt设备描述信息实例获取NNRt设备名称。 1565e41f4b71Sopenharmony_ci 1566e41f4b71Sopenharmony_ci**起始版本:** 10 1567e41f4b71Sopenharmony_ci 1568e41f4b71Sopenharmony_ci**参数:** 1569e41f4b71Sopenharmony_ci 1570e41f4b71Sopenharmony_ci| 名称 | 描述 | 1571e41f4b71Sopenharmony_ci| -------- | -------- | 1572e41f4b71Sopenharmony_ci| desc | 指向NNRt设备描述信息实例的指针。 | 1573e41f4b71Sopenharmony_ci 1574e41f4b71Sopenharmony_ci**返回:** 1575e41f4b71Sopenharmony_ci 1576e41f4b71Sopenharmony_ciNNRt设备名称,指向一个常量字符串的指针,该常量字符串由desc持有,调用者无需单独释放此指针。 1577e41f4b71Sopenharmony_ci 1578e41f4b71Sopenharmony_ci 1579e41f4b71Sopenharmony_ci### OH_AI_GetTypeFromNNRTDeviceDesc() 1580e41f4b71Sopenharmony_ci 1581e41f4b71Sopenharmony_ci``` 1582e41f4b71Sopenharmony_ciOH_AI_API OH_AI_NNRTDeviceType OH_AI_GetTypeFromNNRTDeviceDesc (const NNRTDeviceDesc * desc) 1583e41f4b71Sopenharmony_ci``` 1584e41f4b71Sopenharmony_ci 1585e41f4b71Sopenharmony_ci**描述** 1586e41f4b71Sopenharmony_ci 1587e41f4b71Sopenharmony_ci从特定的NNRt设备描述信息实例获取NNRt设备类型。 1588e41f4b71Sopenharmony_ci 1589e41f4b71Sopenharmony_ci**起始版本:** 10 1590e41f4b71Sopenharmony_ci 1591e41f4b71Sopenharmony_ci**参数:** 1592e41f4b71Sopenharmony_ci 1593e41f4b71Sopenharmony_ci| 名称 | 描述 | 1594e41f4b71Sopenharmony_ci| -------- | -------- | 1595e41f4b71Sopenharmony_ci| desc | 指向NNRt设备描述信息实例的指针。 | 1596e41f4b71Sopenharmony_ci 1597e41f4b71Sopenharmony_ci**返回:** 1598e41f4b71Sopenharmony_ci 1599e41f4b71Sopenharmony_ci[OH_AI_NNRTDeviceType](#oh_ai_nnrtdevicetype) NNRt设备类型。 1600e41f4b71Sopenharmony_ci 1601e41f4b71Sopenharmony_ci 1602e41f4b71Sopenharmony_ci### OH_AI_ModelBuild() 1603e41f4b71Sopenharmony_ci 1604e41f4b71Sopenharmony_ci``` 1605e41f4b71Sopenharmony_ciOH_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 ) 1606e41f4b71Sopenharmony_ci``` 1607e41f4b71Sopenharmony_ci 1608e41f4b71Sopenharmony_ci**描述** 1609e41f4b71Sopenharmony_ci 1610e41f4b71Sopenharmony_ci从内存缓冲区加载并编译MindSpore模型。 1611e41f4b71Sopenharmony_ci 1612e41f4b71Sopenharmony_ci注意,同一个[OH_AI_ContextHandle](#oh_ai_contexthandle)对象仅能传递给[OH_AI_ModelBuild](#oh_ai_modelbuild)或者[OH_AI_ModelBuildFromFile](#oh_ai_modelbuildfromfile)一次, 如果多次调用该函数需要创建多个不同的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 1613e41f4b71Sopenharmony_ci 1614e41f4b71Sopenharmony_ci**起始版本:** 9 1615e41f4b71Sopenharmony_ci 1616e41f4b71Sopenharmony_ci**参数:** 1617e41f4b71Sopenharmony_ci 1618e41f4b71Sopenharmony_ci| 名称 | 描述 | 1619e41f4b71Sopenharmony_ci| -------- | -------- | 1620e41f4b71Sopenharmony_ci| model | 模型对象指针。 | 1621e41f4b71Sopenharmony_ci| model_data | 内存中已经加载的模型数据地址。 | 1622e41f4b71Sopenharmony_ci| data_size | 模型数据的长度。 | 1623e41f4b71Sopenharmony_ci| model_type | 模型文件类型,具体见[OH_AI_ModelType](#oh_ai_modeltype)。 | 1624e41f4b71Sopenharmony_ci| model_context | 模型运行时的上下文环境,具体见 [OH_AI_ContextHandle](#oh_ai_contexthandle)。 | 1625e41f4b71Sopenharmony_ci 1626e41f4b71Sopenharmony_ci**返回:** 1627e41f4b71Sopenharmony_ci 1628e41f4b71Sopenharmony_ci枚举类型的状态码[OH_AI_Status](#oh_ai_status),若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。 1629e41f4b71Sopenharmony_ci 1630e41f4b71Sopenharmony_ci 1631e41f4b71Sopenharmony_ci### OH_AI_ModelBuildFromFile() 1632e41f4b71Sopenharmony_ci 1633e41f4b71Sopenharmony_ci``` 1634e41f4b71Sopenharmony_ciOH_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 ) 1635e41f4b71Sopenharmony_ci``` 1636e41f4b71Sopenharmony_ci 1637e41f4b71Sopenharmony_ci**描述** 1638e41f4b71Sopenharmony_ci 1639e41f4b71Sopenharmony_ci通过模型文件加载并编译MindSpore模型。 1640e41f4b71Sopenharmony_ci 1641e41f4b71Sopenharmony_ci注意,同一个[OH_AI_ContextHandle](#oh_ai_contexthandle)对象仅能传递给[OH_AI_ModelBuild](#oh_ai_modelbuild)或者[OH_AI_ModelBuildFromFile](#oh_ai_modelbuildfromfile)一次, 如果多次调用该函数需要创建多个不同的[OH_AI_ContextHandle](#oh_ai_contexthandle)。 1642e41f4b71Sopenharmony_ci 1643e41f4b71Sopenharmony_ci**起始版本:** 9 1644e41f4b71Sopenharmony_ci 1645e41f4b71Sopenharmony_ci**参数:** 1646e41f4b71Sopenharmony_ci 1647e41f4b71Sopenharmony_ci| 名称 | 描述 | 1648e41f4b71Sopenharmony_ci| -------- | -------- | 1649e41f4b71Sopenharmony_ci| model | 模型对象指针。 | 1650e41f4b71Sopenharmony_ci| model_path | 模型文件路径。 | 1651e41f4b71Sopenharmony_ci| model_type | 模型文件类型,具体见[OH_AI_ModelType](#oh_ai_modeltype)。 | 1652e41f4b71Sopenharmony_ci| model_context | 模型运行时的上下文环境,具体见 [OH_AI_ContextHandle](#oh_ai_contexthandle)。 | 1653e41f4b71Sopenharmony_ci 1654e41f4b71Sopenharmony_ci**返回:** 1655e41f4b71Sopenharmony_ci 1656e41f4b71Sopenharmony_ci枚举类型的状态码[OH_AI_Status](#oh_ai_status),若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。 1657e41f4b71Sopenharmony_ci 1658e41f4b71Sopenharmony_ci 1659e41f4b71Sopenharmony_ci### OH_AI_ModelCreate() 1660e41f4b71Sopenharmony_ci 1661e41f4b71Sopenharmony_ci``` 1662e41f4b71Sopenharmony_ciOH_AI_API OH_AI_ModelHandle OH_AI_ModelCreate () 1663e41f4b71Sopenharmony_ci``` 1664e41f4b71Sopenharmony_ci 1665e41f4b71Sopenharmony_ci**描述** 1666e41f4b71Sopenharmony_ci 1667e41f4b71Sopenharmony_ci创建一个模型对象。 1668e41f4b71Sopenharmony_ci 1669e41f4b71Sopenharmony_ci**起始版本:** 9 1670e41f4b71Sopenharmony_ci 1671e41f4b71Sopenharmony_ci**返回:** 1672e41f4b71Sopenharmony_ci 1673e41f4b71Sopenharmony_ci模型对象指针。 1674e41f4b71Sopenharmony_ci 1675e41f4b71Sopenharmony_ci 1676e41f4b71Sopenharmony_ci### OH_AI_ModelDestroy() 1677e41f4b71Sopenharmony_ci 1678e41f4b71Sopenharmony_ci``` 1679e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_ModelDestroy (OH_AI_ModelHandle * model) 1680e41f4b71Sopenharmony_ci``` 1681e41f4b71Sopenharmony_ci 1682e41f4b71Sopenharmony_ci**描述** 1683e41f4b71Sopenharmony_ci 1684e41f4b71Sopenharmony_ci释放一个模型对象。 1685e41f4b71Sopenharmony_ci 1686e41f4b71Sopenharmony_ci**起始版本:** 9 1687e41f4b71Sopenharmony_ci 1688e41f4b71Sopenharmony_ci**参数:** 1689e41f4b71Sopenharmony_ci 1690e41f4b71Sopenharmony_ci| 名称 | 描述 | 1691e41f4b71Sopenharmony_ci| -------- | -------- | 1692e41f4b71Sopenharmony_ci| model | 模型对象指针。 | 1693e41f4b71Sopenharmony_ci 1694e41f4b71Sopenharmony_ci 1695e41f4b71Sopenharmony_ci### OH_AI_ModelGetInputByTensorName() 1696e41f4b71Sopenharmony_ci 1697e41f4b71Sopenharmony_ci``` 1698e41f4b71Sopenharmony_ciOH_AI_API OH_AI_TensorHandle OH_AI_ModelGetInputByTensorName (const OH_AI_ModelHandle model, const char * tensor_name ) 1699e41f4b71Sopenharmony_ci``` 1700e41f4b71Sopenharmony_ci 1701e41f4b71Sopenharmony_ci**描述** 1702e41f4b71Sopenharmony_ci 1703e41f4b71Sopenharmony_ci通过张量名获取模型的输入张量。 1704e41f4b71Sopenharmony_ci 1705e41f4b71Sopenharmony_ci**起始版本:** 9 1706e41f4b71Sopenharmony_ci 1707e41f4b71Sopenharmony_ci**参数:** 1708e41f4b71Sopenharmony_ci 1709e41f4b71Sopenharmony_ci| 名称 | 描述 | 1710e41f4b71Sopenharmony_ci| -------- | -------- | 1711e41f4b71Sopenharmony_ci| model | 模型对象指针。 | 1712e41f4b71Sopenharmony_ci| tensor_name | 张量名称。 | 1713e41f4b71Sopenharmony_ci 1714e41f4b71Sopenharmony_ci**返回:** 1715e41f4b71Sopenharmony_ci 1716e41f4b71Sopenharmony_citensor_name所对应的输入张量的张量指针,如果输入中没有该张量则返回空。 1717e41f4b71Sopenharmony_ci 1718e41f4b71Sopenharmony_ci 1719e41f4b71Sopenharmony_ci### OH_AI_ModelGetInputs() 1720e41f4b71Sopenharmony_ci 1721e41f4b71Sopenharmony_ci``` 1722e41f4b71Sopenharmony_ciOH_AI_API OH_AI_TensorHandleArray OH_AI_ModelGetInputs (const OH_AI_ModelHandle model) 1723e41f4b71Sopenharmony_ci``` 1724e41f4b71Sopenharmony_ci 1725e41f4b71Sopenharmony_ci**描述** 1726e41f4b71Sopenharmony_ci 1727e41f4b71Sopenharmony_ci获取模型的输入张量数组结构体。 1728e41f4b71Sopenharmony_ci 1729e41f4b71Sopenharmony_ci**起始版本:** 9 1730e41f4b71Sopenharmony_ci 1731e41f4b71Sopenharmony_ci**参数:** 1732e41f4b71Sopenharmony_ci 1733e41f4b71Sopenharmony_ci| 名称 | 描述 | 1734e41f4b71Sopenharmony_ci| -------- | -------- | 1735e41f4b71Sopenharmony_ci| model | 模型对象指针。 | 1736e41f4b71Sopenharmony_ci 1737e41f4b71Sopenharmony_ci**返回:** 1738e41f4b71Sopenharmony_ci 1739e41f4b71Sopenharmony_ci模型输入对应的张量数组结构体。 1740e41f4b71Sopenharmony_ci 1741e41f4b71Sopenharmony_ci 1742e41f4b71Sopenharmony_ci### OH_AI_ModelGetLearningRate() 1743e41f4b71Sopenharmony_ci 1744e41f4b71Sopenharmony_ci``` 1745e41f4b71Sopenharmony_ciOH_AI_API float OH_AI_ModelGetLearningRate (OH_AI_ModelHandle model) 1746e41f4b71Sopenharmony_ci``` 1747e41f4b71Sopenharmony_ci 1748e41f4b71Sopenharmony_ci**描述** 1749e41f4b71Sopenharmony_ci 1750e41f4b71Sopenharmony_ci获取训练的学习率,仅用于端侧训练。 1751e41f4b71Sopenharmony_ci 1752e41f4b71Sopenharmony_ci**起始版本:** 11 1753e41f4b71Sopenharmony_ci 1754e41f4b71Sopenharmony_ci**参数:** 1755e41f4b71Sopenharmony_ci 1756e41f4b71Sopenharmony_ci| 名称 | 描述 | 1757e41f4b71Sopenharmony_ci| -------- | -------- | 1758e41f4b71Sopenharmony_ci| model | 模型对象指针。 | 1759e41f4b71Sopenharmony_ci 1760e41f4b71Sopenharmony_ci**返回:** 1761e41f4b71Sopenharmony_ci 1762e41f4b71Sopenharmony_ci学习率,没有设置优化器时为0.0。 1763e41f4b71Sopenharmony_ci 1764e41f4b71Sopenharmony_ci 1765e41f4b71Sopenharmony_ci### OH_AI_ModelGetOutputByTensorName() 1766e41f4b71Sopenharmony_ci 1767e41f4b71Sopenharmony_ci``` 1768e41f4b71Sopenharmony_ciOH_AI_API OH_AI_TensorHandle OH_AI_ModelGetOutputByTensorName (const OH_AI_ModelHandle model, const char * tensor_name ) 1769e41f4b71Sopenharmony_ci``` 1770e41f4b71Sopenharmony_ci 1771e41f4b71Sopenharmony_ci**描述** 1772e41f4b71Sopenharmony_ci 1773e41f4b71Sopenharmony_ci通过张量名获取模型的输出张量。 1774e41f4b71Sopenharmony_ci 1775e41f4b71Sopenharmony_ci**起始版本:** 9 1776e41f4b71Sopenharmony_ci 1777e41f4b71Sopenharmony_ci**参数:** 1778e41f4b71Sopenharmony_ci 1779e41f4b71Sopenharmony_ci| 名称 | 描述 | 1780e41f4b71Sopenharmony_ci| -------- | -------- | 1781e41f4b71Sopenharmony_ci| model | 模型对象指针。 | 1782e41f4b71Sopenharmony_ci| tensor_name | 张量名称。 | 1783e41f4b71Sopenharmony_ci 1784e41f4b71Sopenharmony_ci**返回:** 1785e41f4b71Sopenharmony_ci 1786e41f4b71Sopenharmony_citensor_name所对应的输入张量的张量指针,如果输出中没有该张量则返回空。 1787e41f4b71Sopenharmony_ci 1788e41f4b71Sopenharmony_ci 1789e41f4b71Sopenharmony_ci### OH_AI_ModelGetOutputs() 1790e41f4b71Sopenharmony_ci 1791e41f4b71Sopenharmony_ci``` 1792e41f4b71Sopenharmony_ciOH_AI_API OH_AI_TensorHandleArray OH_AI_ModelGetOutputs (const OH_AI_ModelHandle model) 1793e41f4b71Sopenharmony_ci``` 1794e41f4b71Sopenharmony_ci 1795e41f4b71Sopenharmony_ci**描述** 1796e41f4b71Sopenharmony_ci 1797e41f4b71Sopenharmony_ci获取模型的输出张量数组结构体。 1798e41f4b71Sopenharmony_ci 1799e41f4b71Sopenharmony_ci**起始版本:** 9 1800e41f4b71Sopenharmony_ci 1801e41f4b71Sopenharmony_ci**参数:** 1802e41f4b71Sopenharmony_ci 1803e41f4b71Sopenharmony_ci| 名称 | 描述 | 1804e41f4b71Sopenharmony_ci| -------- | -------- | 1805e41f4b71Sopenharmony_ci| model | 模型对象指针。 | 1806e41f4b71Sopenharmony_ci 1807e41f4b71Sopenharmony_ci**返回:** 1808e41f4b71Sopenharmony_ci 1809e41f4b71Sopenharmony_ci模型输出对应的张量数组结构体。 1810e41f4b71Sopenharmony_ci 1811e41f4b71Sopenharmony_ci 1812e41f4b71Sopenharmony_ci### OH_AI_ModelGetTrainMode() 1813e41f4b71Sopenharmony_ci 1814e41f4b71Sopenharmony_ci``` 1815e41f4b71Sopenharmony_ciOH_AI_API bool OH_AI_ModelGetTrainMode (OH_AI_ModelHandle model) 1816e41f4b71Sopenharmony_ci``` 1817e41f4b71Sopenharmony_ci 1818e41f4b71Sopenharmony_ci**描述** 1819e41f4b71Sopenharmony_ci 1820e41f4b71Sopenharmony_ci获取训练模式。 1821e41f4b71Sopenharmony_ci 1822e41f4b71Sopenharmony_ci**起始版本:** 11 1823e41f4b71Sopenharmony_ci 1824e41f4b71Sopenharmony_ci**参数:** 1825e41f4b71Sopenharmony_ci 1826e41f4b71Sopenharmony_ci| 名称 | 描述 | 1827e41f4b71Sopenharmony_ci| -------- | -------- | 1828e41f4b71Sopenharmony_ci| model | 模型对象指针。 | 1829e41f4b71Sopenharmony_ci 1830e41f4b71Sopenharmony_ci**返回:** 1831e41f4b71Sopenharmony_ci 1832e41f4b71Sopenharmony_ci表示是否是训练模式。 1833e41f4b71Sopenharmony_ci 1834e41f4b71Sopenharmony_ci 1835e41f4b71Sopenharmony_ci### OH_AI_ModelGetWeights() 1836e41f4b71Sopenharmony_ci 1837e41f4b71Sopenharmony_ci``` 1838e41f4b71Sopenharmony_ciOH_AI_API OH_AI_TensorHandleArray OH_AI_ModelGetWeights (OH_AI_ModelHandle model) 1839e41f4b71Sopenharmony_ci``` 1840e41f4b71Sopenharmony_ci 1841e41f4b71Sopenharmony_ci**描述** 1842e41f4b71Sopenharmony_ci 1843e41f4b71Sopenharmony_ci获取模型的所有权重Tensors,仅用于端侧训练。 1844e41f4b71Sopenharmony_ci 1845e41f4b71Sopenharmony_ci**起始版本:** 11 1846e41f4b71Sopenharmony_ci 1847e41f4b71Sopenharmony_ci**参数:** 1848e41f4b71Sopenharmony_ci 1849e41f4b71Sopenharmony_ci| 名称 | 描述 | 1850e41f4b71Sopenharmony_ci| -------- | -------- | 1851e41f4b71Sopenharmony_ci| model | 模型对象指针。 | 1852e41f4b71Sopenharmony_ci 1853e41f4b71Sopenharmony_ci**返回:** 1854e41f4b71Sopenharmony_ci 1855e41f4b71Sopenharmony_ci模型的所有权重Tensor。 1856e41f4b71Sopenharmony_ci 1857e41f4b71Sopenharmony_ci 1858e41f4b71Sopenharmony_ci### OH_AI_ModelPredict() 1859e41f4b71Sopenharmony_ci 1860e41f4b71Sopenharmony_ci``` 1861e41f4b71Sopenharmony_ciOH_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 ) 1862e41f4b71Sopenharmony_ci``` 1863e41f4b71Sopenharmony_ci 1864e41f4b71Sopenharmony_ci**描述** 1865e41f4b71Sopenharmony_ci 1866e41f4b71Sopenharmony_ci执行模型推理。 1867e41f4b71Sopenharmony_ci 1868e41f4b71Sopenharmony_ci**起始版本:** 9 1869e41f4b71Sopenharmony_ci 1870e41f4b71Sopenharmony_ci**参数:** 1871e41f4b71Sopenharmony_ci 1872e41f4b71Sopenharmony_ci| 名称 | 描述 | 1873e41f4b71Sopenharmony_ci| -------- | -------- | 1874e41f4b71Sopenharmony_ci| model | 模型对象指针。 | 1875e41f4b71Sopenharmony_ci| inputs | 模型输入对应的张量数组结构体。 | 1876e41f4b71Sopenharmony_ci| outputs | 模型输出对应的张量数组结构体的指针。 | 1877e41f4b71Sopenharmony_ci| before | 模型推理前执行的回调函数。 | 1878e41f4b71Sopenharmony_ci| after | 模型推理后执行的回调函数。 | 1879e41f4b71Sopenharmony_ci 1880e41f4b71Sopenharmony_ci**返回:** 1881e41f4b71Sopenharmony_ci 1882e41f4b71Sopenharmony_ci枚举类型的状态码[OH_AI_Status](#oh_ai_status),若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。 1883e41f4b71Sopenharmony_ci 1884e41f4b71Sopenharmony_ci 1885e41f4b71Sopenharmony_ci### OH_AI_ModelResize() 1886e41f4b71Sopenharmony_ci 1887e41f4b71Sopenharmony_ci``` 1888e41f4b71Sopenharmony_ciOH_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 ) 1889e41f4b71Sopenharmony_ci``` 1890e41f4b71Sopenharmony_ci 1891e41f4b71Sopenharmony_ci**描述** 1892e41f4b71Sopenharmony_ci 1893e41f4b71Sopenharmony_ci调整已编译模型的输入形状。 1894e41f4b71Sopenharmony_ci 1895e41f4b71Sopenharmony_ci**起始版本:** 9 1896e41f4b71Sopenharmony_ci 1897e41f4b71Sopenharmony_ci**参数:** 1898e41f4b71Sopenharmony_ci 1899e41f4b71Sopenharmony_ci| 名称 | 描述 | 1900e41f4b71Sopenharmony_ci| -------- | -------- | 1901e41f4b71Sopenharmony_ci| model | 模型对象指针。 | 1902e41f4b71Sopenharmony_ci| inputs | 模型输入对应的张量数组结构体。 | 1903e41f4b71Sopenharmony_ci| shape_infos | 输入形状信息数组,按模型输入顺序排列的由形状信息组成的数组,模型会按顺序依次调整张量形状。 | 1904e41f4b71Sopenharmony_ci| shape_info_num | 形状信息数组的长度。 | 1905e41f4b71Sopenharmony_ci 1906e41f4b71Sopenharmony_ci**返回:** 1907e41f4b71Sopenharmony_ci 1908e41f4b71Sopenharmony_ci枚举类型的状态码[OH_AI_Status](#oh_ai_status),若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。 1909e41f4b71Sopenharmony_ci 1910e41f4b71Sopenharmony_ci 1911e41f4b71Sopenharmony_ci### OH_AI_ModelSetLearningRate() 1912e41f4b71Sopenharmony_ci 1913e41f4b71Sopenharmony_ci``` 1914e41f4b71Sopenharmony_ciOH_AI_API OH_AI_Status OH_AI_ModelSetLearningRate (OH_AI_ModelHandle model, float learning_rate ) 1915e41f4b71Sopenharmony_ci``` 1916e41f4b71Sopenharmony_ci 1917e41f4b71Sopenharmony_ci**描述** 1918e41f4b71Sopenharmony_ci 1919e41f4b71Sopenharmony_ci设置训练的学习率,仅用于端侧训练。 1920e41f4b71Sopenharmony_ci 1921e41f4b71Sopenharmony_ci**起始版本:** 11 1922e41f4b71Sopenharmony_ci 1923e41f4b71Sopenharmony_ci**参数:** 1924e41f4b71Sopenharmony_ci 1925e41f4b71Sopenharmony_ci| 名称 | 描述 | 1926e41f4b71Sopenharmony_ci| -------- | -------- | 1927e41f4b71Sopenharmony_ci| learning_rate | 学习率 | 1928e41f4b71Sopenharmony_ci 1929e41f4b71Sopenharmony_ci**返回:** 1930e41f4b71Sopenharmony_ci 1931e41f4b71Sopenharmony_ci枚举类型的状态码[OH_AI_Status](#oh_ai_status),若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。 1932e41f4b71Sopenharmony_ci 1933e41f4b71Sopenharmony_ci 1934e41f4b71Sopenharmony_ci### OH_AI_ModelSetTrainMode() 1935e41f4b71Sopenharmony_ci 1936e41f4b71Sopenharmony_ci``` 1937e41f4b71Sopenharmony_ciOH_AI_API OH_AI_Status OH_AI_ModelSetTrainMode (OH_AI_ModelHandle model, bool train ) 1938e41f4b71Sopenharmony_ci``` 1939e41f4b71Sopenharmony_ci 1940e41f4b71Sopenharmony_ci**描述** 1941e41f4b71Sopenharmony_ci 1942e41f4b71Sopenharmony_ci设置训练模式,仅用于端侧训练。 1943e41f4b71Sopenharmony_ci 1944e41f4b71Sopenharmony_ci**起始版本:** 11 1945e41f4b71Sopenharmony_ci 1946e41f4b71Sopenharmony_ci**参数:** 1947e41f4b71Sopenharmony_ci 1948e41f4b71Sopenharmony_ci| 名称 | 描述 | 1949e41f4b71Sopenharmony_ci| -------- | -------- | 1950e41f4b71Sopenharmony_ci| model | 模型对象指针。 | 1951e41f4b71Sopenharmony_ci| train | 是否为训练模式。 | 1952e41f4b71Sopenharmony_ci 1953e41f4b71Sopenharmony_ci**返回:** 1954e41f4b71Sopenharmony_ci 1955e41f4b71Sopenharmony_ci枚举类型的状态码[OH_AI_Status](#oh_ai_status),若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。 1956e41f4b71Sopenharmony_ci 1957e41f4b71Sopenharmony_ci 1958e41f4b71Sopenharmony_ci### OH_AI_ModelSetupVirtualBatch() 1959e41f4b71Sopenharmony_ci 1960e41f4b71Sopenharmony_ci``` 1961e41f4b71Sopenharmony_ciOH_AI_API OH_AI_Status OH_AI_ModelSetupVirtualBatch (OH_AI_ModelHandle model, int virtual_batch_multiplier, float lr, float momentum ) 1962e41f4b71Sopenharmony_ci``` 1963e41f4b71Sopenharmony_ci 1964e41f4b71Sopenharmony_ci**描述** 1965e41f4b71Sopenharmony_ci 1966e41f4b71Sopenharmony_ci设置虚拟batch用于训练,仅用于端侧训练。 1967e41f4b71Sopenharmony_ci 1968e41f4b71Sopenharmony_ci**起始版本:** 11 1969e41f4b71Sopenharmony_ci 1970e41f4b71Sopenharmony_ci**参数:** 1971e41f4b71Sopenharmony_ci 1972e41f4b71Sopenharmony_ci| 名称 | 描述 | 1973e41f4b71Sopenharmony_ci| -------- | -------- | 1974e41f4b71Sopenharmony_ci| model | 模型对象指针。 | 1975e41f4b71Sopenharmony_ci| virtual_batch_multiplier | 虚拟batch乘法器,当设置值小于1时,表示禁用虚拟batch。 | 1976e41f4b71Sopenharmony_ci| lr | 学习率,默认为-1.0f。 | 1977e41f4b71Sopenharmony_ci| momentum | 动量,默认为-1.0f。 | 1978e41f4b71Sopenharmony_ci 1979e41f4b71Sopenharmony_ci**返回:** 1980e41f4b71Sopenharmony_ci 1981e41f4b71Sopenharmony_ci枚举类型的状态码[OH_AI_Status](#oh_ai_status),若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。 1982e41f4b71Sopenharmony_ci 1983e41f4b71Sopenharmony_ci 1984e41f4b71Sopenharmony_ci### OH_AI_ModelUpdateWeights() 1985e41f4b71Sopenharmony_ci 1986e41f4b71Sopenharmony_ci``` 1987e41f4b71Sopenharmony_ciOH_AI_API OH_AI_Status OH_AI_ModelUpdateWeights (OH_AI_ModelHandle model, const OH_AI_TensorHandleArray new_weights ) 1988e41f4b71Sopenharmony_ci``` 1989e41f4b71Sopenharmony_ci 1990e41f4b71Sopenharmony_ci**描述** 1991e41f4b71Sopenharmony_ci 1992e41f4b71Sopenharmony_ci更新模型的权重Tensor内容,仅用于端侧训练。 1993e41f4b71Sopenharmony_ci 1994e41f4b71Sopenharmony_ci**起始版本:** 11 1995e41f4b71Sopenharmony_ci 1996e41f4b71Sopenharmony_ci**参数:** 1997e41f4b71Sopenharmony_ci 1998e41f4b71Sopenharmony_ci| 名称 | 描述 | 1999e41f4b71Sopenharmony_ci| -------- | -------- | 2000e41f4b71Sopenharmony_ci| new_weights | 要更新的权重Tensor。 | 2001e41f4b71Sopenharmony_ci 2002e41f4b71Sopenharmony_ci**返回:** 2003e41f4b71Sopenharmony_ci 2004e41f4b71Sopenharmony_ci枚举类型的状态码[OH_AI_Status](#oh_ai_status),若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。 2005e41f4b71Sopenharmony_ci 2006e41f4b71Sopenharmony_ci 2007e41f4b71Sopenharmony_ci### OH_AI_RunStep() 2008e41f4b71Sopenharmony_ci 2009e41f4b71Sopenharmony_ci``` 2010e41f4b71Sopenharmony_ciOH_AI_API OH_AI_Status OH_AI_RunStep (OH_AI_ModelHandle model, const OH_AI_KernelCallBack before, const OH_AI_KernelCallBack after ) 2011e41f4b71Sopenharmony_ci``` 2012e41f4b71Sopenharmony_ci 2013e41f4b71Sopenharmony_ci**描述** 2014e41f4b71Sopenharmony_ci 2015e41f4b71Sopenharmony_ci单步训练模型,仅用于端侧训练。 2016e41f4b71Sopenharmony_ci 2017e41f4b71Sopenharmony_ci**起始版本:** 11 2018e41f4b71Sopenharmony_ci 2019e41f4b71Sopenharmony_ci**参数:** 2020e41f4b71Sopenharmony_ci 2021e41f4b71Sopenharmony_ci| 名称 | 描述 | 2022e41f4b71Sopenharmony_ci| -------- | -------- | 2023e41f4b71Sopenharmony_ci| model | 模型对象指针。 | 2024e41f4b71Sopenharmony_ci| before | 模型推理前执行的回调函数。 | 2025e41f4b71Sopenharmony_ci| after | 模型推理后执行的回调函数。 | 2026e41f4b71Sopenharmony_ci 2027e41f4b71Sopenharmony_ci**返回:** 2028e41f4b71Sopenharmony_ci 2029e41f4b71Sopenharmony_ci枚举类型的状态码[OH_AI_Status](#oh_ai_status),若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。 2030e41f4b71Sopenharmony_ci 2031e41f4b71Sopenharmony_ci 2032e41f4b71Sopenharmony_ci### OH_AI_TensorClone() 2033e41f4b71Sopenharmony_ci 2034e41f4b71Sopenharmony_ci``` 2035e41f4b71Sopenharmony_ciOH_AI_API OH_AI_TensorHandle OH_AI_TensorClone (OH_AI_TensorHandle tensor) 2036e41f4b71Sopenharmony_ci``` 2037e41f4b71Sopenharmony_ci 2038e41f4b71Sopenharmony_ci**描述** 2039e41f4b71Sopenharmony_ci 2040e41f4b71Sopenharmony_ci深拷贝一个张量。 2041e41f4b71Sopenharmony_ci 2042e41f4b71Sopenharmony_ci**起始版本:** 9 2043e41f4b71Sopenharmony_ci 2044e41f4b71Sopenharmony_ci**参数:** 2045e41f4b71Sopenharmony_ci 2046e41f4b71Sopenharmony_ci| 名称 | 描述 | 2047e41f4b71Sopenharmony_ci| -------- | -------- | 2048e41f4b71Sopenharmony_ci| tensor | 待拷贝张量的指针。 | 2049e41f4b71Sopenharmony_ci 2050e41f4b71Sopenharmony_ci**返回:** 2051e41f4b71Sopenharmony_ci 2052e41f4b71Sopenharmony_ci指向新张量对象句柄。 2053e41f4b71Sopenharmony_ci 2054e41f4b71Sopenharmony_ci 2055e41f4b71Sopenharmony_ci### OH_AI_TensorCreate() 2056e41f4b71Sopenharmony_ci 2057e41f4b71Sopenharmony_ci``` 2058e41f4b71Sopenharmony_ciOH_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 ) 2059e41f4b71Sopenharmony_ci``` 2060e41f4b71Sopenharmony_ci 2061e41f4b71Sopenharmony_ci**描述** 2062e41f4b71Sopenharmony_ci 2063e41f4b71Sopenharmony_ci创建一个张量对象。 2064e41f4b71Sopenharmony_ci 2065e41f4b71Sopenharmony_ci**起始版本:** 9 2066e41f4b71Sopenharmony_ci 2067e41f4b71Sopenharmony_ci**参数:** 2068e41f4b71Sopenharmony_ci 2069e41f4b71Sopenharmony_ci| 名称 | 描述 | 2070e41f4b71Sopenharmony_ci| -------- | -------- | 2071e41f4b71Sopenharmony_ci| name | 张量名称 | 2072e41f4b71Sopenharmony_ci| type | 张量的数据类型 | 2073e41f4b71Sopenharmony_ci| shape | 张量的维度数组。 | 2074e41f4b71Sopenharmony_ci| shape_num | 张量维度数组长度。 | 2075e41f4b71Sopenharmony_ci| data | 指向数据的指针。 | 2076e41f4b71Sopenharmony_ci| data_len | 数据的长度。 | 2077e41f4b71Sopenharmony_ci 2078e41f4b71Sopenharmony_ci**返回:** 2079e41f4b71Sopenharmony_ci 2080e41f4b71Sopenharmony_ci指向张量对象句柄。 2081e41f4b71Sopenharmony_ci 2082e41f4b71Sopenharmony_ci### OH_AI_TensorGetAllocator() 2083e41f4b71Sopenharmony_ci 2084e41f4b71Sopenharmony_ci``` 2085e41f4b71Sopenharmony_ciOH_AI_API OH_AI_AllocatorHandle OH_AI_TensorGetAllocator(OH_AI_TensorHandle tensor) 2086e41f4b71Sopenharmony_ci``` 2087e41f4b71Sopenharmony_ci 2088e41f4b71Sopenharmony_ci**描述** 2089e41f4b71Sopenharmony_ci 2090e41f4b71Sopenharmony_ci获取内存分配器。此接口主要是提供一种获取张量的内存分配器的方法。 2091e41f4b71Sopenharmony_ci 2092e41f4b71Sopenharmony_ci**起始版本:** 12 2093e41f4b71Sopenharmony_ci 2094e41f4b71Sopenharmony_ci**参数:** 2095e41f4b71Sopenharmony_ci 2096e41f4b71Sopenharmony_ci| 名称 | 描述 | 2097e41f4b71Sopenharmony_ci| -------- | -------- | 2098e41f4b71Sopenharmony_ci| tensor | 张量对象句柄。 | 2099e41f4b71Sopenharmony_ci 2100e41f4b71Sopenharmony_ci**返回:** 2101e41f4b71Sopenharmony_ci 2102e41f4b71Sopenharmony_ci内存分配器的句柄。 2103e41f4b71Sopenharmony_ci 2104e41f4b71Sopenharmony_ci 2105e41f4b71Sopenharmony_ci### OH_AI_TensorDestroy() 2106e41f4b71Sopenharmony_ci 2107e41f4b71Sopenharmony_ci``` 2108e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_TensorDestroy (OH_AI_TensorHandle * tensor) 2109e41f4b71Sopenharmony_ci``` 2110e41f4b71Sopenharmony_ci 2111e41f4b71Sopenharmony_ci**描述** 2112e41f4b71Sopenharmony_ci 2113e41f4b71Sopenharmony_ci释放张量对象。 2114e41f4b71Sopenharmony_ci 2115e41f4b71Sopenharmony_ci**起始版本:** 9 2116e41f4b71Sopenharmony_ci 2117e41f4b71Sopenharmony_ci**参数:** 2118e41f4b71Sopenharmony_ci 2119e41f4b71Sopenharmony_ci| 名称 | 描述 | 2120e41f4b71Sopenharmony_ci| -------- | -------- | 2121e41f4b71Sopenharmony_ci| tensor | 指向张量句柄的二级指针。 | 2122e41f4b71Sopenharmony_ci 2123e41f4b71Sopenharmony_ci 2124e41f4b71Sopenharmony_ci### OH_AI_TensorGetData() 2125e41f4b71Sopenharmony_ci 2126e41f4b71Sopenharmony_ci``` 2127e41f4b71Sopenharmony_ciOH_AI_API const void* OH_AI_TensorGetData (const OH_AI_TensorHandle tensor) 2128e41f4b71Sopenharmony_ci``` 2129e41f4b71Sopenharmony_ci 2130e41f4b71Sopenharmony_ci**描述** 2131e41f4b71Sopenharmony_ci 2132e41f4b71Sopenharmony_ci获取张量数据的指针。 2133e41f4b71Sopenharmony_ci 2134e41f4b71Sopenharmony_ci**起始版本:** 9 2135e41f4b71Sopenharmony_ci 2136e41f4b71Sopenharmony_ci**参数:** 2137e41f4b71Sopenharmony_ci 2138e41f4b71Sopenharmony_ci| 名称 | 描述 | 2139e41f4b71Sopenharmony_ci| -------- | -------- | 2140e41f4b71Sopenharmony_ci| tensor | 张量对象句柄。 | 2141e41f4b71Sopenharmony_ci 2142e41f4b71Sopenharmony_ci**返回:** 2143e41f4b71Sopenharmony_ci 2144e41f4b71Sopenharmony_ci张量数据的指针。 2145e41f4b71Sopenharmony_ci 2146e41f4b71Sopenharmony_ci 2147e41f4b71Sopenharmony_ci### OH_AI_TensorGetDataSize() 2148e41f4b71Sopenharmony_ci 2149e41f4b71Sopenharmony_ci``` 2150e41f4b71Sopenharmony_ciOH_AI_API size_t OH_AI_TensorGetDataSize (const OH_AI_TensorHandle tensor) 2151e41f4b71Sopenharmony_ci``` 2152e41f4b71Sopenharmony_ci 2153e41f4b71Sopenharmony_ci**描述** 2154e41f4b71Sopenharmony_ci 2155e41f4b71Sopenharmony_ci获取张量中的数据的字节数大小。 2156e41f4b71Sopenharmony_ci 2157e41f4b71Sopenharmony_ci**起始版本:** 9 2158e41f4b71Sopenharmony_ci 2159e41f4b71Sopenharmony_ci**参数:** 2160e41f4b71Sopenharmony_ci 2161e41f4b71Sopenharmony_ci| 名称 | 描述 | 2162e41f4b71Sopenharmony_ci| -------- | -------- | 2163e41f4b71Sopenharmony_ci| tensor | 张量对象句柄。 | 2164e41f4b71Sopenharmony_ci 2165e41f4b71Sopenharmony_ci**返回:** 2166e41f4b71Sopenharmony_ci 2167e41f4b71Sopenharmony_ci张量数据的字节数大小。 2168e41f4b71Sopenharmony_ci 2169e41f4b71Sopenharmony_ci 2170e41f4b71Sopenharmony_ci### OH_AI_TensorGetDataType() 2171e41f4b71Sopenharmony_ci 2172e41f4b71Sopenharmony_ci``` 2173e41f4b71Sopenharmony_ciOH_AI_API OH_AI_DataType OH_AI_TensorGetDataType (const OH_AI_TensorHandle tensor) 2174e41f4b71Sopenharmony_ci``` 2175e41f4b71Sopenharmony_ci 2176e41f4b71Sopenharmony_ci**描述** 2177e41f4b71Sopenharmony_ci 2178e41f4b71Sopenharmony_ci获取张量类型。 2179e41f4b71Sopenharmony_ci 2180e41f4b71Sopenharmony_ci**起始版本:** 9 2181e41f4b71Sopenharmony_ci 2182e41f4b71Sopenharmony_ci**参数:** 2183e41f4b71Sopenharmony_ci 2184e41f4b71Sopenharmony_ci| 名称 | 描述 | 2185e41f4b71Sopenharmony_ci| -------- | -------- | 2186e41f4b71Sopenharmony_ci| tensor | 张量对象句柄。 | 2187e41f4b71Sopenharmony_ci 2188e41f4b71Sopenharmony_ci**返回:** 2189e41f4b71Sopenharmony_ci 2190e41f4b71Sopenharmony_ci张量的数据类型。 2191e41f4b71Sopenharmony_ci 2192e41f4b71Sopenharmony_ci 2193e41f4b71Sopenharmony_ci### OH_AI_TensorGetElementNum() 2194e41f4b71Sopenharmony_ci 2195e41f4b71Sopenharmony_ci``` 2196e41f4b71Sopenharmony_ciOH_AI_API int64_t OH_AI_TensorGetElementNum (const OH_AI_TensorHandle tensor) 2197e41f4b71Sopenharmony_ci``` 2198e41f4b71Sopenharmony_ci 2199e41f4b71Sopenharmony_ci**描述** 2200e41f4b71Sopenharmony_ci 2201e41f4b71Sopenharmony_ci获取张量元素数量。 2202e41f4b71Sopenharmony_ci 2203e41f4b71Sopenharmony_ci**起始版本:** 9 2204e41f4b71Sopenharmony_ci 2205e41f4b71Sopenharmony_ci**参数:** 2206e41f4b71Sopenharmony_ci 2207e41f4b71Sopenharmony_ci| 名称 | 描述 | 2208e41f4b71Sopenharmony_ci| -------- | -------- | 2209e41f4b71Sopenharmony_ci| tensor | 张量对象句柄。 | 2210e41f4b71Sopenharmony_ci 2211e41f4b71Sopenharmony_ci**返回:** 2212e41f4b71Sopenharmony_ci 2213e41f4b71Sopenharmony_ci张量的元素数量。 2214e41f4b71Sopenharmony_ci 2215e41f4b71Sopenharmony_ci 2216e41f4b71Sopenharmony_ci### OH_AI_TensorGetFormat() 2217e41f4b71Sopenharmony_ci 2218e41f4b71Sopenharmony_ci``` 2219e41f4b71Sopenharmony_ciOH_AI_API OH_AI_Format OH_AI_TensorGetFormat (const OH_AI_TensorHandle tensor) 2220e41f4b71Sopenharmony_ci``` 2221e41f4b71Sopenharmony_ci 2222e41f4b71Sopenharmony_ci**描述** 2223e41f4b71Sopenharmony_ci 2224e41f4b71Sopenharmony_ci获取张量数据的排列方式。 2225e41f4b71Sopenharmony_ci 2226e41f4b71Sopenharmony_ci**起始版本:** 9 2227e41f4b71Sopenharmony_ci 2228e41f4b71Sopenharmony_ci**参数:** 2229e41f4b71Sopenharmony_ci 2230e41f4b71Sopenharmony_ci| 名称 | 描述 | 2231e41f4b71Sopenharmony_ci| -------- | -------- | 2232e41f4b71Sopenharmony_ci| tensor | 张量对象句柄。 | 2233e41f4b71Sopenharmony_ci 2234e41f4b71Sopenharmony_ci**返回:** 2235e41f4b71Sopenharmony_ci 2236e41f4b71Sopenharmony_ci张量数据的排列方式。 2237e41f4b71Sopenharmony_ci 2238e41f4b71Sopenharmony_ci 2239e41f4b71Sopenharmony_ci### OH_AI_TensorGetMutableData() 2240e41f4b71Sopenharmony_ci 2241e41f4b71Sopenharmony_ci``` 2242e41f4b71Sopenharmony_ciOH_AI_API void* OH_AI_TensorGetMutableData (const OH_AI_TensorHandle tensor) 2243e41f4b71Sopenharmony_ci``` 2244e41f4b71Sopenharmony_ci 2245e41f4b71Sopenharmony_ci**描述** 2246e41f4b71Sopenharmony_ci 2247e41f4b71Sopenharmony_ci获取可变的张量数据指针。如果数据为空则会开辟内存。 2248e41f4b71Sopenharmony_ci 2249e41f4b71Sopenharmony_ci**起始版本:** 9 2250e41f4b71Sopenharmony_ci 2251e41f4b71Sopenharmony_ci**参数:** 2252e41f4b71Sopenharmony_ci 2253e41f4b71Sopenharmony_ci| 名称 | 描述 | 2254e41f4b71Sopenharmony_ci| -------- | -------- | 2255e41f4b71Sopenharmony_ci| tensor | 张量对象句柄。 | 2256e41f4b71Sopenharmony_ci 2257e41f4b71Sopenharmony_ci**返回:** 2258e41f4b71Sopenharmony_ci 2259e41f4b71Sopenharmony_ci张量数据的指针。 2260e41f4b71Sopenharmony_ci 2261e41f4b71Sopenharmony_ci 2262e41f4b71Sopenharmony_ci### OH_AI_TensorGetName() 2263e41f4b71Sopenharmony_ci 2264e41f4b71Sopenharmony_ci``` 2265e41f4b71Sopenharmony_ciOH_AI_API const char* OH_AI_TensorGetName (const OH_AI_TensorHandle tensor) 2266e41f4b71Sopenharmony_ci``` 2267e41f4b71Sopenharmony_ci 2268e41f4b71Sopenharmony_ci**描述** 2269e41f4b71Sopenharmony_ci 2270e41f4b71Sopenharmony_ci获取张量的名称。 2271e41f4b71Sopenharmony_ci 2272e41f4b71Sopenharmony_ci**起始版本:** 9 2273e41f4b71Sopenharmony_ci 2274e41f4b71Sopenharmony_ci**参数:** 2275e41f4b71Sopenharmony_ci 2276e41f4b71Sopenharmony_ci| 名称 | 描述 | 2277e41f4b71Sopenharmony_ci| -------- | -------- | 2278e41f4b71Sopenharmony_ci| tensor | 张量对象句柄。 | 2279e41f4b71Sopenharmony_ci 2280e41f4b71Sopenharmony_ci**返回:** 2281e41f4b71Sopenharmony_ci 2282e41f4b71Sopenharmony_ci张量的名称。 2283e41f4b71Sopenharmony_ci 2284e41f4b71Sopenharmony_ci 2285e41f4b71Sopenharmony_ci### OH_AI_TensorGetShape() 2286e41f4b71Sopenharmony_ci 2287e41f4b71Sopenharmony_ci``` 2288e41f4b71Sopenharmony_ciOH_AI_API const int64_t* OH_AI_TensorGetShape (const OH_AI_TensorHandle tensor, size_t * shape_num ) 2289e41f4b71Sopenharmony_ci``` 2290e41f4b71Sopenharmony_ci 2291e41f4b71Sopenharmony_ci**描述** 2292e41f4b71Sopenharmony_ci 2293e41f4b71Sopenharmony_ci获取张量的形状。 2294e41f4b71Sopenharmony_ci 2295e41f4b71Sopenharmony_ci**起始版本:** 9 2296e41f4b71Sopenharmony_ci 2297e41f4b71Sopenharmony_ci**参数:** 2298e41f4b71Sopenharmony_ci 2299e41f4b71Sopenharmony_ci| 名称 | 描述 | 2300e41f4b71Sopenharmony_ci| -------- | -------- | 2301e41f4b71Sopenharmony_ci| tensor | 张量对象句柄。 | 2302e41f4b71Sopenharmony_ci| shape_num | 该参数是输出参数,形状数组的长度会写入该变量。 | 2303e41f4b71Sopenharmony_ci 2304e41f4b71Sopenharmony_ci**返回:** 2305e41f4b71Sopenharmony_ci 2306e41f4b71Sopenharmony_ci形状数组。 2307e41f4b71Sopenharmony_ci 2308e41f4b71Sopenharmony_ci### OH_AI_TensorSetAllocator() 2309e41f4b71Sopenharmony_ci 2310e41f4b71Sopenharmony_ci``` 2311e41f4b71Sopenharmony_ciOH_AI_API OH_AI_Status OH_AI_TensorSetAllocator(OH_AI_TensorHandle tensor, OH_AI_AllocatorHandle allocator) 2312e41f4b71Sopenharmony_ci``` 2313e41f4b71Sopenharmony_ci 2314e41f4b71Sopenharmony_ci**描述** 2315e41f4b71Sopenharmony_ci 2316e41f4b71Sopenharmony_ci设置内存分配器。此接口主要是提供一种设置内存分配器的方法,tensor的内存将由这个分配器分配。 2317e41f4b71Sopenharmony_ci 2318e41f4b71Sopenharmony_ci**起始版本:** 12 2319e41f4b71Sopenharmony_ci 2320e41f4b71Sopenharmony_ci**参数:** 2321e41f4b71Sopenharmony_ci 2322e41f4b71Sopenharmony_ci| 名称 | 描述 | 2323e41f4b71Sopenharmony_ci| --------- | -------------------- | 2324e41f4b71Sopenharmony_ci| tensor | 张量对象句柄。 | 2325e41f4b71Sopenharmony_ci| allocator | 内存分配器对象句柄。 | 2326e41f4b71Sopenharmony_ci 2327e41f4b71Sopenharmony_ci**返回:** 2328e41f4b71Sopenharmony_ci 2329e41f4b71Sopenharmony_ci执行状态码。若成功返回OH_AI_STATUS_SUCCESS,否则返回具体错误码。 2330e41f4b71Sopenharmony_ci 2331e41f4b71Sopenharmony_ci 2332e41f4b71Sopenharmony_ci### OH_AI_TensorSetData() 2333e41f4b71Sopenharmony_ci 2334e41f4b71Sopenharmony_ci``` 2335e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_TensorSetData (OH_AI_TensorHandle tensor, void * data ) 2336e41f4b71Sopenharmony_ci``` 2337e41f4b71Sopenharmony_ci 2338e41f4b71Sopenharmony_ci**描述** 2339e41f4b71Sopenharmony_ci 2340e41f4b71Sopenharmony_ci设置张量的数据。 2341e41f4b71Sopenharmony_ci 2342e41f4b71Sopenharmony_ci**起始版本:** 9 2343e41f4b71Sopenharmony_ci 2344e41f4b71Sopenharmony_ci**参数:** 2345e41f4b71Sopenharmony_ci 2346e41f4b71Sopenharmony_ci| 名称 | 描述 | 2347e41f4b71Sopenharmony_ci| -------- | -------- | 2348e41f4b71Sopenharmony_ci| tensor | 张量对象句柄。 | 2349e41f4b71Sopenharmony_ci| data | 指向数据的指针。 | 2350e41f4b71Sopenharmony_ci 2351e41f4b71Sopenharmony_ci 2352e41f4b71Sopenharmony_ci### OH_AI_TensorSetDataType() 2353e41f4b71Sopenharmony_ci 2354e41f4b71Sopenharmony_ci``` 2355e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_TensorSetDataType (OH_AI_TensorHandle tensor, OH_AI_DataType type ) 2356e41f4b71Sopenharmony_ci``` 2357e41f4b71Sopenharmony_ci 2358e41f4b71Sopenharmony_ci**描述** 2359e41f4b71Sopenharmony_ci 2360e41f4b71Sopenharmony_ci设置张量的数据类型。 2361e41f4b71Sopenharmony_ci 2362e41f4b71Sopenharmony_ci**起始版本:** 9 2363e41f4b71Sopenharmony_ci 2364e41f4b71Sopenharmony_ci**参数:** 2365e41f4b71Sopenharmony_ci 2366e41f4b71Sopenharmony_ci| 名称 | 描述 | 2367e41f4b71Sopenharmony_ci| -------- | -------- | 2368e41f4b71Sopenharmony_ci| tensor | 张量对象句柄。 | 2369e41f4b71Sopenharmony_ci| type | 数据类型,具体见[OH_AI_DataType](#oh_ai_datatype)。 | 2370e41f4b71Sopenharmony_ci 2371e41f4b71Sopenharmony_ci 2372e41f4b71Sopenharmony_ci### OH_AI_TensorSetFormat() 2373e41f4b71Sopenharmony_ci 2374e41f4b71Sopenharmony_ci``` 2375e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_TensorSetFormat (OH_AI_TensorHandle tensor, OH_AI_Format format ) 2376e41f4b71Sopenharmony_ci``` 2377e41f4b71Sopenharmony_ci 2378e41f4b71Sopenharmony_ci**描述** 2379e41f4b71Sopenharmony_ci 2380e41f4b71Sopenharmony_ci设置张量数据的排列方式。 2381e41f4b71Sopenharmony_ci 2382e41f4b71Sopenharmony_ci**起始版本:** 9 2383e41f4b71Sopenharmony_ci 2384e41f4b71Sopenharmony_ci**参数:** 2385e41f4b71Sopenharmony_ci 2386e41f4b71Sopenharmony_ci| 名称 | 描述 | 2387e41f4b71Sopenharmony_ci| -------- | -------- | 2388e41f4b71Sopenharmony_ci| tensor | 张量对象句柄。 | 2389e41f4b71Sopenharmony_ci| format | 张量数据排列方式。 | 2390e41f4b71Sopenharmony_ci 2391e41f4b71Sopenharmony_ci 2392e41f4b71Sopenharmony_ci### OH_AI_TensorSetName() 2393e41f4b71Sopenharmony_ci 2394e41f4b71Sopenharmony_ci``` 2395e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_TensorSetName (OH_AI_TensorHandle tensor, const char * name ) 2396e41f4b71Sopenharmony_ci``` 2397e41f4b71Sopenharmony_ci 2398e41f4b71Sopenharmony_ci**描述** 2399e41f4b71Sopenharmony_ci 2400e41f4b71Sopenharmony_ci设置张量的名称。 2401e41f4b71Sopenharmony_ci 2402e41f4b71Sopenharmony_ci**起始版本:** 9 2403e41f4b71Sopenharmony_ci 2404e41f4b71Sopenharmony_ci**参数:** 2405e41f4b71Sopenharmony_ci 2406e41f4b71Sopenharmony_ci| 名称 | 描述 | 2407e41f4b71Sopenharmony_ci| -------- | -------- | 2408e41f4b71Sopenharmony_ci| tensor | 张量对象句柄。 | 2409e41f4b71Sopenharmony_ci| name | 张量名称。 | 2410e41f4b71Sopenharmony_ci 2411e41f4b71Sopenharmony_ci 2412e41f4b71Sopenharmony_ci### OH_AI_TensorSetShape() 2413e41f4b71Sopenharmony_ci 2414e41f4b71Sopenharmony_ci``` 2415e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_TensorSetShape (OH_AI_TensorHandle tensor, const int64_t * shape, size_t shape_num ) 2416e41f4b71Sopenharmony_ci``` 2417e41f4b71Sopenharmony_ci 2418e41f4b71Sopenharmony_ci**描述** 2419e41f4b71Sopenharmony_ci 2420e41f4b71Sopenharmony_ci设置张量的形状。 2421e41f4b71Sopenharmony_ci 2422e41f4b71Sopenharmony_ci**起始版本:** 9 2423e41f4b71Sopenharmony_ci 2424e41f4b71Sopenharmony_ci**参数:** 2425e41f4b71Sopenharmony_ci 2426e41f4b71Sopenharmony_ci| 名称 | 描述 | 2427e41f4b71Sopenharmony_ci| -------- | -------- | 2428e41f4b71Sopenharmony_ci| tensor | 张量对象句柄。 | 2429e41f4b71Sopenharmony_ci| shape | 形状数组。 | 2430e41f4b71Sopenharmony_ci| shape_num | 张量形状数组长度。 | 2431e41f4b71Sopenharmony_ci 2432e41f4b71Sopenharmony_ci 2433e41f4b71Sopenharmony_ci### OH_AI_TensorSetUserData() 2434e41f4b71Sopenharmony_ci 2435e41f4b71Sopenharmony_ci``` 2436e41f4b71Sopenharmony_ciOH_AI_API OH_AI_Status OH_AI_TensorSetUserData (OH_AI_TensorHandle tensor, void * data, size_t data_size ) 2437e41f4b71Sopenharmony_ci``` 2438e41f4b71Sopenharmony_ci 2439e41f4b71Sopenharmony_ci**描述** 2440e41f4b71Sopenharmony_ci 2441e41f4b71Sopenharmony_ci设置张量为用户自行管理的数据。此接口常用于复用用户数据作为模型输入,可减少一次数据拷贝。 注意:此数据对于张量来说是外部数据,张量销毁时不会主动释放,由调用者负责释放。另外,在此张量 使用过程中,调用者须确保此数据有效。 2442e41f4b71Sopenharmony_ci 2443e41f4b71Sopenharmony_ci**起始版本:** 10 2444e41f4b71Sopenharmony_ci 2445e41f4b71Sopenharmony_ci**参数:** 2446e41f4b71Sopenharmony_ci 2447e41f4b71Sopenharmony_ci| 名称 | 描述 | 2448e41f4b71Sopenharmony_ci| -------- | -------- | 2449e41f4b71Sopenharmony_ci| tensor | 张量对象句柄。 | 2450e41f4b71Sopenharmony_ci| data | 用户数据首地址。 | 2451e41f4b71Sopenharmony_ci| data_size | 用户数据长度。 | 2452e41f4b71Sopenharmony_ci 2453e41f4b71Sopenharmony_ci**返回:** 2454e41f4b71Sopenharmony_ci 2455e41f4b71Sopenharmony_ci执行状态码。若成功返回OH_AI_STATUS_SUCCESS,否则返回具体错误码。 2456e41f4b71Sopenharmony_ci 2457e41f4b71Sopenharmony_ci 2458e41f4b71Sopenharmony_ci### OH_AI_TrainCfgCreate() 2459e41f4b71Sopenharmony_ci 2460e41f4b71Sopenharmony_ci``` 2461e41f4b71Sopenharmony_ciOH_AI_API OH_AI_TrainCfgHandle OH_AI_TrainCfgCreate () 2462e41f4b71Sopenharmony_ci``` 2463e41f4b71Sopenharmony_ci 2464e41f4b71Sopenharmony_ci**描述** 2465e41f4b71Sopenharmony_ci 2466e41f4b71Sopenharmony_ci创建训练配置对象指针,仅用于端侧训练。 2467e41f4b71Sopenharmony_ci 2468e41f4b71Sopenharmony_ci**起始版本:** 11 2469e41f4b71Sopenharmony_ci 2470e41f4b71Sopenharmony_ci**返回:** 2471e41f4b71Sopenharmony_ci 2472e41f4b71Sopenharmony_ci训练配置对象指针。 2473e41f4b71Sopenharmony_ci 2474e41f4b71Sopenharmony_ci 2475e41f4b71Sopenharmony_ci### OH_AI_TrainCfgDestroy() 2476e41f4b71Sopenharmony_ci 2477e41f4b71Sopenharmony_ci``` 2478e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_TrainCfgDestroy (OH_AI_TrainCfgHandle * train_cfg) 2479e41f4b71Sopenharmony_ci``` 2480e41f4b71Sopenharmony_ci 2481e41f4b71Sopenharmony_ci**描述** 2482e41f4b71Sopenharmony_ci 2483e41f4b71Sopenharmony_ci销毁训练配置对象指针,仅用于端侧训练。 2484e41f4b71Sopenharmony_ci 2485e41f4b71Sopenharmony_ci**起始版本:** 11 2486e41f4b71Sopenharmony_ci 2487e41f4b71Sopenharmony_ci**参数:** 2488e41f4b71Sopenharmony_ci 2489e41f4b71Sopenharmony_ci| 名称 | 描述 | 2490e41f4b71Sopenharmony_ci| -------- | -------- | 2491e41f4b71Sopenharmony_ci| train_cfg | 训练配置对象指针。 | 2492e41f4b71Sopenharmony_ci 2493e41f4b71Sopenharmony_ci 2494e41f4b71Sopenharmony_ci### OH_AI_TrainCfgGetLossName() 2495e41f4b71Sopenharmony_ci 2496e41f4b71Sopenharmony_ci``` 2497e41f4b71Sopenharmony_ciOH_AI_API char** OH_AI_TrainCfgGetLossName (OH_AI_TrainCfgHandle train_cfg, size_t * num ) 2498e41f4b71Sopenharmony_ci``` 2499e41f4b71Sopenharmony_ci 2500e41f4b71Sopenharmony_ci**描述** 2501e41f4b71Sopenharmony_ci 2502e41f4b71Sopenharmony_ci获取损失函数的名称列表,仅用于端侧训练。 2503e41f4b71Sopenharmony_ci 2504e41f4b71Sopenharmony_ci**起始版本:** 11 2505e41f4b71Sopenharmony_ci 2506e41f4b71Sopenharmony_ci**参数:** 2507e41f4b71Sopenharmony_ci 2508e41f4b71Sopenharmony_ci| 名称 | 描述 | 2509e41f4b71Sopenharmony_ci| -------- | -------- | 2510e41f4b71Sopenharmony_ci| train_cfg | 训练配置对象指针。 | 2511e41f4b71Sopenharmony_ci| num | 损失函数数量。 | 2512e41f4b71Sopenharmony_ci 2513e41f4b71Sopenharmony_ci**返回:** 2514e41f4b71Sopenharmony_ci 2515e41f4b71Sopenharmony_ci损失函数的名称列表。 2516e41f4b71Sopenharmony_ci 2517e41f4b71Sopenharmony_ci 2518e41f4b71Sopenharmony_ci### OH_AI_TrainCfgGetOptimizationLevel() 2519e41f4b71Sopenharmony_ci 2520e41f4b71Sopenharmony_ci``` 2521e41f4b71Sopenharmony_ciOH_AI_API OH_AI_OptimizationLevel OH_AI_TrainCfgGetOptimizationLevel (OH_AI_TrainCfgHandle train_cfg) 2522e41f4b71Sopenharmony_ci``` 2523e41f4b71Sopenharmony_ci 2524e41f4b71Sopenharmony_ci**描述** 2525e41f4b71Sopenharmony_ci 2526e41f4b71Sopenharmony_ci获取训练配置的优化等级,仅用于端侧训练。 2527e41f4b71Sopenharmony_ci 2528e41f4b71Sopenharmony_ci**起始版本:** 11 2529e41f4b71Sopenharmony_ci 2530e41f4b71Sopenharmony_ci**参数:** 2531e41f4b71Sopenharmony_ci 2532e41f4b71Sopenharmony_ci| 名称 | 描述 | 2533e41f4b71Sopenharmony_ci| -------- | -------- | 2534e41f4b71Sopenharmony_ci| train_cfg | 训练配置对象指针。 | 2535e41f4b71Sopenharmony_ci 2536e41f4b71Sopenharmony_ci**返回:** 2537e41f4b71Sopenharmony_ci 2538e41f4b71Sopenharmony_ci优化等级。 2539e41f4b71Sopenharmony_ci 2540e41f4b71Sopenharmony_ci 2541e41f4b71Sopenharmony_ci### OH_AI_TrainCfgSetLossName() 2542e41f4b71Sopenharmony_ci 2543e41f4b71Sopenharmony_ci``` 2544e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_TrainCfgSetLossName (OH_AI_TrainCfgHandle train_cfg, const char ** loss_name, size_t num ) 2545e41f4b71Sopenharmony_ci``` 2546e41f4b71Sopenharmony_ci 2547e41f4b71Sopenharmony_ci**描述** 2548e41f4b71Sopenharmony_ci 2549e41f4b71Sopenharmony_ci设置损失函数的名称列表,仅用于端侧训练。 2550e41f4b71Sopenharmony_ci 2551e41f4b71Sopenharmony_ci**起始版本:** 11 2552e41f4b71Sopenharmony_ci 2553e41f4b71Sopenharmony_ci**参数:** 2554e41f4b71Sopenharmony_ci 2555e41f4b71Sopenharmony_ci| 名称 | 描述 | 2556e41f4b71Sopenharmony_ci| -------- | -------- | 2557e41f4b71Sopenharmony_ci| train_cfg | 训练配置对象指针。 | 2558e41f4b71Sopenharmony_ci| loss_name | 损失函数的名称列表。 | 2559e41f4b71Sopenharmony_ci| num | 损失函数数量。 | 2560e41f4b71Sopenharmony_ci 2561e41f4b71Sopenharmony_ci 2562e41f4b71Sopenharmony_ci### OH_AI_TrainCfgSetOptimizationLevel() 2563e41f4b71Sopenharmony_ci 2564e41f4b71Sopenharmony_ci``` 2565e41f4b71Sopenharmony_ciOH_AI_API void OH_AI_TrainCfgSetOptimizationLevel (OH_AI_TrainCfgHandle train_cfg, OH_AI_OptimizationLevel level ) 2566e41f4b71Sopenharmony_ci``` 2567e41f4b71Sopenharmony_ci 2568e41f4b71Sopenharmony_ci**描述** 2569e41f4b71Sopenharmony_ci 2570e41f4b71Sopenharmony_ci设置训练配置的优化等级,仅用于端侧训练。 2571e41f4b71Sopenharmony_ci 2572e41f4b71Sopenharmony_ci**起始版本:** 11 2573e41f4b71Sopenharmony_ci 2574e41f4b71Sopenharmony_ci**参数:** 2575e41f4b71Sopenharmony_ci 2576e41f4b71Sopenharmony_ci| 名称 | 描述 | 2577e41f4b71Sopenharmony_ci| -------- | -------- | 2578e41f4b71Sopenharmony_ci| train_cfg | 训练配置对象指针。 | 2579e41f4b71Sopenharmony_ci| level | 优化等级。 | 2580e41f4b71Sopenharmony_ci 2581e41f4b71Sopenharmony_ci 2582e41f4b71Sopenharmony_ci### OH_AI_TrainModelBuild() 2583e41f4b71Sopenharmony_ci 2584e41f4b71Sopenharmony_ci``` 2585e41f4b71Sopenharmony_ciOH_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 ) 2586e41f4b71Sopenharmony_ci``` 2587e41f4b71Sopenharmony_ci 2588e41f4b71Sopenharmony_ci**描述** 2589e41f4b71Sopenharmony_ci 2590e41f4b71Sopenharmony_ci从内存缓冲区加载训练模型,并将模型编译至可在Device上运行的状态,仅用于端侧训练。 2591e41f4b71Sopenharmony_ci 2592e41f4b71Sopenharmony_ci**起始版本:** 11 2593e41f4b71Sopenharmony_ci 2594e41f4b71Sopenharmony_ci**参数:** 2595e41f4b71Sopenharmony_ci 2596e41f4b71Sopenharmony_ci| 名称 | 描述 | 2597e41f4b71Sopenharmony_ci| -------- | -------- | 2598e41f4b71Sopenharmony_ci| model | 模型对象指针。 | 2599e41f4b71Sopenharmony_ci| model_data | 指向存储读入模型文件缓冲区的指针。 | 2600e41f4b71Sopenharmony_ci| data_size | 缓冲区大小。 | 2601e41f4b71Sopenharmony_ci| model_type | 模型文件类型,具体见[OH_AI_ModelType](#oh_ai_modeltype)。 | 2602e41f4b71Sopenharmony_ci| model_context | 模型运行时的上下文环境,具体见 [OH_AI_ContextHandle](#oh_ai_contexthandle)。 | 2603e41f4b71Sopenharmony_ci| train_cfg | 训练配置对象指针。 | 2604e41f4b71Sopenharmony_ci 2605e41f4b71Sopenharmony_ci**返回:** 2606e41f4b71Sopenharmony_ci 2607e41f4b71Sopenharmony_ci枚举类型的状态码[OH_AI_Status](#oh_ai_status),若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。 2608e41f4b71Sopenharmony_ci 2609e41f4b71Sopenharmony_ci 2610e41f4b71Sopenharmony_ci### OH_AI_TrainModelBuildFromFile() 2611e41f4b71Sopenharmony_ci 2612e41f4b71Sopenharmony_ci``` 2613e41f4b71Sopenharmony_ciOH_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 ) 2614e41f4b71Sopenharmony_ci``` 2615e41f4b71Sopenharmony_ci 2616e41f4b71Sopenharmony_ci**描述** 2617e41f4b71Sopenharmony_ci 2618e41f4b71Sopenharmony_ci根据路径读取加载训练模型,并将模型编译至可在Device上运行的状态,仅用于端侧训练。 2619e41f4b71Sopenharmony_ci 2620e41f4b71Sopenharmony_ci**起始版本:** 11 2621e41f4b71Sopenharmony_ci 2622e41f4b71Sopenharmony_ci**参数:** 2623e41f4b71Sopenharmony_ci 2624e41f4b71Sopenharmony_ci| 名称 | 描述 | 2625e41f4b71Sopenharmony_ci| -------- | -------- | 2626e41f4b71Sopenharmony_ci| model | 模型对象指针。 | 2627e41f4b71Sopenharmony_ci| model_path | 模型文件路径。 | 2628e41f4b71Sopenharmony_ci| model_type | 模型文件类型,具体见[OH_AI_ModelType](#oh_ai_modeltype)。 | 2629e41f4b71Sopenharmony_ci| model_context | 模型运行时的上下文环境,具体见 [OH_AI_ContextHandle](#oh_ai_contexthandle)。 | 2630e41f4b71Sopenharmony_ci| train_cfg | 训练配置对象指针。 | 2631e41f4b71Sopenharmony_ci 2632e41f4b71Sopenharmony_ci**返回:** 2633e41f4b71Sopenharmony_ci 2634e41f4b71Sopenharmony_ci枚举类型的状态码[OH_AI_Status](#oh_ai_status),若返回OH_AI_Status::OH_AI_STATUS_SUCCESS则证明创建成功。 2635