小工具知识网

当前位置: 首页 > 行业知识 > HarmonyOS:使用 MindSpore Lite 引擎进行模型推理

行业知识

HarmonyOS:使用 MindSpore Lite 引擎进行模型推理

2026-11-15 11:27:48 来源:互联网转载

场景介绍

MindSpore Lite 是一款 AI 引擎,它提供了面向不同硬件设备 AI 模型推理的功能,目前已经在图像分类、目标识别、人脸识别、文字识别等应用中广泛使用。

本文介绍使用 MindSpore Lite 推理引擎进行模型推理的通用开发流程。

基本概念

在进行开发前,请先了解以下概念。

张量:它与数组和矩阵非常相似,是 MindSpore Lite 网络运算中的基本数据结构。

Float16 推理模式: Float16 又称半精度,它使用 16 比特表示一个数。Float16 推理模式表示推理的时候用半精度进行推理。

接口说明

这里给出 MindSpore Lite 推理的通用开发流程中涉及的一些接口,具体请见下列表格。

Context 相关接口

Model 相关接口

Tensor 相关接口

开发步骤

使用 MindSpore Lite 进行模型推理的开发流程如下图所示。图 1 使用 MindSpore Lite 进行模型推理的开发流程

进入主要流程之前需要先引用相关的头文件,并编写函数生成随机的输入,具体如下:

#include #include #include "mindspore/model.h"//生成随机的输入int GenerateInputDataWithRandom(OH_AI_TensorHandleArray inputs) {  for (size_t i = 0; i     float *input_data = (float *)OH_AI_TensorGetMutableData(inputs.handle_list[i]);    if (input_data == NULL) {      printf("MSTensorGetMutableData failed.\n");      return OH_AI_STATUS_LITE_ERROR;    }    int64_t num = OH_AI_TensorGetElementNum(inputs.handle_list[i]);    const int pisor = 10;    for (size_t j = 0; j       input_data[j] = (float)(rand() % pisor) / pisor;  // 0--0.9f    }  }  return OH_AI_STATUS_SUCCESS;}  printf("OH_AI_ModelCreate failed.\n");  OH_AI_ContextDestroy(&context);  return OH_AI_STATUS_LITE_ERROR;}// 加载与编译模型,模型的类型为OH_AI_MODELTYPE_MINDIRint ret = OH_AI_ModelBuildFromFile(model, argv[1], OH_AI_MODELTYPE_MINDIR, context);if (ret != OH_AI_STATUS_SUCCESS) {  printf("OH_AI_ModelBuildFromFile failed, ret: %d.\n", ret);  OH_AI_ModelDestroy(&model);  return ret;}  printf("OH_AI_ModelGetInputs failed, ret: %d.\n", ret);  OH_AI_ModelDestroy(&model);  return ret;}// 使用随机数据填充张量ret = GenerateInputDataWithRandom(inputs);if (ret != OH_AI_STATUS_SUCCESS) {  printf("GenerateInputDataWithRandom failed, ret: %d.\n", ret);  OH_AI_ModelDestroy(&model);  return ret;}  printf("OH_AI_ModelPredict failed, ret: %d.\n", ret);  OH_AI_ModelDestroy(&model);  return ret;}

上一篇:服务器43端口怎么开启?

下一篇:关键词频率优化秘诀揭秘与织梦网站SEO技巧深度解析!