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/>引用文件:&lt;mindspore/context.h&gt;<br/>库:libmindspore_lite_ndk.so |
18e41f4b71Sopenharmony_ci| [data_type.h](data__type_8h.md) | 声明了张量的数据的类型。<br/>引用文件:&lt;mindspore/data_type.h&gt;<br/>库:libmindspore_lite_ndk.so |
19e41f4b71Sopenharmony_ci| [format.h](format_8h.md) | 提供张量数据的排列格式。<br/>引用文件:&lt;mindspore/format.h&gt;<br/>库:libmindspore_lite_ndk.so |
20e41f4b71Sopenharmony_ci| [model.h](model_8h.md) | 提供了模型相关接口,可以用于模型创建、模型推理等。<br/>引用文件:&lt;mindspore/model.h&gt;<br/>库:libmindspore_lite_ndk.so |
21e41f4b71Sopenharmony_ci| [status.h](status_8h.md) | 提供了MindSpore Lite运行时的状态码。<br/>引用文件:&lt;mindspore/status.h&gt;<br/>库:libmindspore_lite_ndk.so |
22e41f4b71Sopenharmony_ci| [tensor.h](tensor_8h.md) | 提供了张量相关的接口,可用于创建和修改张量信息。<br/>引用文件:&lt;mindspore/tensor.h&gt;<br/>库:libmindspore_lite_ndk.so |
23e41f4b71Sopenharmony_ci| [types.h](types_8h.md) | 提供了MindSpore Lite支持的模型文件类型和设备类型。<br/>引用文件:&lt;mindspore/types.h&gt;<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 &amp; -1), OH_AI_STATUS_LITE_NULLPTR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -2),<br/>OH_AI_STATUS_LITE_PARAM_INVALID = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -3), OH_AI_STATUS_LITE_NO_CHANGE = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -4), OH_AI_STATUS_LITE_SUCCESS_EXIT = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -5), OH_AI_STATUS_LITE_MEMORY_FAILED = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -6),<br/>OH_AI_STATUS_LITE_NOT_SUPPORT = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -7), OH_AI_STATUS_LITE_THREADPOOL_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -8), OH_AI_STATUS_LITE_UNINITIALIZED_OBJ = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -9), OH_AI_STATUS_LITE_OUT_OF_TENSOR_RANGE = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -100),<br/>OH_AI_STATUS_LITE_INPUT_TENSOR_ERROR, OH_AI_STATUS_LITE_REENTRANT_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -102), OH_AI_STATUS_LITE_GRAPH_FILE_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -200), OH_AI_STATUS_LITE_NOT_FIND_OP = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -300),<br/>OH_AI_STATUS_LITE_INVALID_OP_NAME = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -301), OH_AI_STATUS_LITE_INVALID_OP_ATTR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -302), OH_AI_STATUS_LITE_OP_EXECUTE_FAILURE, OH_AI_STATUS_LITE_FORMAT_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -400),<br/>OH_AI_STATUS_LITE_INFER_ERROR = OH_AI_COMPCODE_LITE \| (0x0FFFFFFF &amp; -500), OH_AI_STATUS_LITE_INFER_INVALID, OH_AI_STATUS_LITE_INPUT_PARAM_INVALID<br/>} | 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