model.h
概述
提供了模型相关接口,可以用于模型创建、模型推理等。
库: libmindspore_lite_ndk.so
起始版本: 9
相关模块:MindSpore
汇总
结构体
名称 | 描述 |
---|---|
OH_AI_TensorHandleArray | 张量数组结构体,用于存储张量数组指针和张量数组长度 |
OH_AI_ShapeInfo | 维度信息,最大的维度为MS_MAX_SHAPE_NUM。 |
OH_AI_CallBackParam | 回调函数中传入的算子信息。 |
宏定义
名称 | 描述 |
---|---|
OH_AI_MAX_SHAPE_NUM 32 | 张量维度的最大值。 |
类型定义
名称 | 描述 |
---|---|
OH_AI_ModelHandle | 指向模型对象的指针。 |
OH_AI_TrainCfgHandle | 指向训练配置对象的指针。 |
OH_AI_TensorHandleArray | 张量数组结构体,用于存储张量数组指针和张量数组长度 |
OH_AI_ShapeInfo | 维度信息,最大的维度为MS_MAX_SHAPE_NUM。 |
OH_AI_CallBackParam | 回调函数中传入的算子信息。 |
OH_AI_KernelCallBack) (const OH_AI_TensorHandleArray inputs, const OH_AI_TensorHandleArray outputs, const OH_AI_CallBackParam kernel_Info) | 回调函数指针。 |
函数
名称 | 描述 |
---|---|
OH_AI_ModelCreate () | 创建一个模型对象。 |
OH_AI_ModelDestroy (OH_AI_ModelHandle *model) | 释放一个模型对象。 |
OH_AI_ModelBuild (OH_AI_ModelHandle model, const void *model_data, size_t data_size, OH_AI_ModelType model_type, const OH_AI_ContextHandle model_context) | 从内存缓冲区加载并编译MindSpore模型。 |
OH_AI_ModelBuildFromFile (OH_AI_ModelHandle model, const char *model_path, OH_AI_ModelType model_type, const OH_AI_ContextHandle model_context) | 通过模型文件加载并编译MindSpore模型。 |
OH_AI_ModelResize (OH_AI_ModelHandle model, const OH_AI_TensorHandleArray inputs, OH_AI_ShapeInfo *shape_infos, size_t shape_info_num) | 调整已编译模型的输入形状。 |
OH_AI_ModelPredict (OH_AI_ModelHandle model, const OH_AI_TensorHandleArray inputs, OH_AI_TensorHandleArray *outputs, const OH_AI_KernelCallBack before, const OH_AI_KernelCallBack after) | 执行模型推理。 |
OH_AI_ModelGetInputs (const OH_AI_ModelHandle model) | 获取模型的输入张量数组结构体。 |
OH_AI_ModelGetOutputs (const OH_AI_ModelHandle model) | 获取模型的输出张量数组结构体。 |
OH_AI_ModelGetInputByTensorName (const OH_AI_ModelHandle model, const char *tensor_name) | 通过张量名获取模型的输入张量。 |
OH_AI_ModelGetOutputByTensorName (const OH_AI_ModelHandle model, const char *tensor_name) | 通过张量名获取模型的输出张量。 |
OH_AI_TrainCfgCreate () | 创建训练配置对象指针,仅用于端侧训练。 |
OH_AI_TrainCfgDestroy (OH_AI_TrainCfgHandle *train_cfg) | 销毁训练配置对象指针,仅用于端侧训练。 |
OH_AI_TrainCfgGetLossName (OH_AI_TrainCfgHandle train_cfg, size_t *num) | 获取损失函数的名称列表,仅用于端侧训练。 |
OH_AI_TrainCfgSetLossName (OH_AI_TrainCfgHandle train_cfg, const char **loss_name, size_t num) | 设置损失函数的名称列表,仅用于端侧训练。 |
OH_AI_TrainCfgGetOptimizationLevel (OH_AI_TrainCfgHandle train_cfg) | 获取训练配置的优化等级,仅用于端侧训练。 |
OH_AI_TrainCfgSetOptimizationLevel (OH_AI_TrainCfgHandle train_cfg, OH_AI_OptimizationLevel level) | 设置训练配置的优化等级,仅用于端侧训练。 |
OH_AI_TrainModelBuild (OH_AI_ModelHandle model, const void *model_data, size_t data_size, OH_AI_ModelType model_type, const OH_AI_ContextHandle model_context, const OH_AI_TrainCfgHandle train_cfg) | 从内存缓冲区加载训练模型,并将模型编译至可在Device上运行的状态,仅用于端侧训练。 |
OH_AI_TrainModelBuildFromFile (OH_AI_ModelHandle model, const char *model_path, OH_AI_ModelType model_type, const OH_AI_ContextHandle model_context, const OH_AI_TrainCfgHandle train_cfg) | 根据路径读取加载训练模型,并将模型编译至可在Device上运行的状态,仅用于端侧训练。 |
OH_AI_RunStep (OH_AI_ModelHandle model, const OH_AI_KernelCallBack before, const OH_AI_KernelCallBack after) | 单步训练模型,仅用于端侧训练。 |
OH_AI_ModelSetLearningRate (OH_AI_ModelHandle model, float learning_rate) | 设置训练的学习率,仅用于端侧训练。 |
OH_AI_ModelGetLearningRate (OH_AI_ModelHandle model) | 获取训练的学习率,仅用于端侧训练。 |
OH_AI_ModelGetWeights (OH_AI_ModelHandle model) | 获取模型的所有权重Tensors,仅用于端侧训练。 |
OH_AI_ModelUpdateWeights (OH_AI_ModelHandle model, const OH_AI_TensorHandleArray new_weights) | 更新模型的权重Tensor内容,仅用于端侧训练。 |
OH_AI_ModelGetTrainMode (OH_AI_ModelHandle model) | 获取训练模式。 |
OH_AI_ModelSetTrainMode (OH_AI_ModelHandle model, bool train) | 设置训练模式,仅用于端侧训练。 |
OH_AI_ModelSetupVirtualBatch (OH_AI_ModelHandle model, int virtual_batch_multiplier, float lr, float momentum) | 设置虚拟batch用于训练,仅用于端侧训练。 |
OH_AI_ExportModel (OH_AI_ModelHandle model, OH_AI_ModelType model_type, const char *model_file, OH_AI_QuantizationType quantization_type, bool export_inference_only, char **output_tensor_name, size_t num) | 导出训练模型,仅用于端侧训练。 |
OH_AI_ExportModelBuffer (OH_AI_ModelHandle model, OH_AI_ModelType model_type, char **model_data, size_t *data_size, OH_AI_QuantizationType quantization_type, bool export_inference_only, char **output_tensor_name, size_t num) | 导出训练模型内存缓存,仅用于端侧训练。 |
OH_AI_ExportWeightsCollaborateWithMicro (OH_AI_ModelHandle model, OH_AI_ModelType model_type, const char *weight_file, bool is_inference, bool enable_fp16, char **changeable_weights_name, size_t num) | 导出模型权重,只能用于micro推理,仅用于端侧训练。 |