From 9c06abcab4dbe32d3f720dce4ecc4d5c62d0aea1 Mon Sep 17 00:00:00 2001 From: yuhanshi Date: Fri, 4 Nov 2022 11:30:39 +0800 Subject: [PATCH] docs: Improve the structure of NNRt development guidelines. Signed-off-by: yuhanshi --- neural-network-runtime-guidelines.md | 33 ++++++++++++------------ neural_network_runtime_add_op_model.png | Bin 27897 -> 44807 bytes 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/neural-network-runtime-guidelines.md b/neural-network-runtime-guidelines.md index 28145f1..1078284 100644 --- a/neural-network-runtime-guidelines.md +++ b/neural-network-runtime-guidelines.md @@ -2,7 +2,12 @@ ## 场景介绍 -Neural Network Runtime作为AI推理引擎和加速芯片的桥梁,为AI推理引擎提供精简的Native接口,满足推理引擎通过加速芯片执行端到端推理的需求;同时为加速芯片提供了统一的HDI接口,使能加速芯片接入OpenHarmony社区生态。 +Neural Network Runtime作为AI推理引擎和加速芯片的桥梁,为AI推理引擎提供精简的Native接口,满足推理引擎通过加速芯片执行端到端推理的需求。 + +本文以图1展示的`Add`单算子模型为例,介绍Neural Network Runtime的开发流程。`Add`算子包含两个输入、一个参数和一个输出,其中的`activation`参数用于指定`Add`算子的激活类型。 + +**图1** Add单算子网络示意图 +!["Add单算子网络示意图"](neural_network_runtime_add_op_model.png) ## 基本概念 @@ -17,7 +22,7 @@ Neural Network Runtime作为AI推理引擎和加速芯片的桥梁,为AI推理 Neural Network Runtime部件的环境要求如下: -- 系统版本:OpenHarmony 3.2及以上。 +- 系统版本:OpenHarmony 3.2 Beta5及以上版本。 - 开发环境:Ubuntu 18.04及以上。 - 接入设备:OpenHarmony定义的标准设备,并且系统中内置的硬件加速器驱动,已通过HDI接口对接Neural Network Runtime。 @@ -45,15 +50,13 @@ native/ ├── oh-uni-package.json └── sysroot // Native API头文件和库 ``` -## Neural Network Runtime接口 +## 接口文档 详细的Neural Network Runtime接口文档请参考: - [neural_network_runtime.h](./interfaces/kits/c/neural_network_runtime.h) - [neural_network_runtime_type.h](./interfaces/kits/c/neural_network_runtime_type.h) -## Neural Network Runtime开发指导 - -### 开发步骤 +## 开发步骤 Neural Network Runtime的开发流程主要包含**模型构造**、**模型编译**和**推理执行**三个阶段。以下开发步骤以`Add`单算子模型为例,介绍调用Neural Network Runtime接口,开发应用的过程。 @@ -82,9 +85,7 @@ Neural Network Runtime的开发流程主要包含**模型构造**、**模型编 3. 构造模型。 - 以下图所示的`Add`单算子模型为例,使用Neural Network Runtime构图模块,构造样例模型。`Add`算子有两个输入、一个参数和一个输出,其中的参数用于指定`Add`的激活类型。 - - !["Add单算子网络示意图"](neural_network_runtime_add_op_model.png) + 使用Neural Network Runtime构图模块,构造`Add`单算子样例模型。 ```cpp OH_NN_ReturnCode BuildModel(OH_NNModel** pModel) @@ -332,7 +333,7 @@ Neural Network Runtime的开发流程主要包含**模型构造**、**模型编 return -1; } - // 获取 + // 获取可执行的设备 GetAvailableDevices(availableDevices); if (availableDevices.empty()) { std::cout << "No available device." << std::endl; @@ -432,20 +433,18 @@ Neural Network Runtime的开发流程主要包含**模型构造**、**模型编 Output index: 11, value is: 33.000000. ``` -4. 检查Cache(可选) +4. 检查Cache(可选)。 如果在调测环境下,Neural Network Runtime对接的HDI服务支持Cache功能,执行完 `nnrt_example`, 可以在 `/data/local/tmp` 目录下 找到生成的缓存文件。 - > **Cache功能说明:** 模型的IR需要传递到硬件驱动层,由HDI服务将统一的IR图,编译成硬件专用的计算图,编译的过程非常耗时。Neural Network Runtime支持 - 计算图缓存的特性,可以将HDI服务编译生成的计算图,缓存到设备存储中。当下一次在同一个加速芯片上编译同一个模型时,通过指定缓存的路径, - Neural Network Runtime可以直接加载缓存文件中的计算图,减少编译消耗的时间。 + > **Cache功能说明:** 模型的IR需要传递到硬件驱动层,由HDI服务将统一的IR图,编译成硬件专用的计算图,编译的过程非常耗时。Neural Network Runtime支持计算图缓存的特性,可以将HDI服务编译生成的计算图,缓存到设备存储中。当下一次在同一个加速芯片上编译同一个模型时,通过指定缓存的路径,Neural Network Runtime可以直接加载缓存文件中的计算图,减少编译消耗的时间。 ```shell ls /data/local/tmp ``` - 以下为打印结果 + 以下为打印结果: ```text # 0.nncache cache_info.nncache ``` @@ -457,11 +456,11 @@ Neural Network Runtime的开发流程主要包含**模型构造**、**模型编 ### 相关实例 -针对Neural Network Runtime应用开发,可以参考一下实例: +第三方AI推理框架对接Neural Network Runtime的对接工作,可以参考以下实例: - [Tensorflow Lite对接Neural Network Runtime](./example/deep_learning_framework/README_zh.md) ## 相关仓 -- [HDF Framework](https://gitee.com/openharmony/drivers_hdf_core) +- [**Neural Network Runtime**](https://gitee.com/openharmony-sig/neural_network_runtime) - [Mindspore](https://gitee.com/openharmony/third_party_mindspore) diff --git a/neural_network_runtime_add_op_model.png b/neural_network_runtime_add_op_model.png index 6b2eaa15def968551cf7cf97a9c48882b79c0cdf..7f333ccd01d9e5d474e54c995243d219177a1eb9 100644 GIT binary patch literal 44807 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 literal 27897 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 -- Gitee