From df311008f95d1ed6158d656983e232f6fd4d9237 Mon Sep 17 00:00:00 2001 From: xu Date: Wed, 27 Nov 2024 10:22:31 +0800 Subject: [PATCH] msame case --- contrib/YOLOX/README.md | 4 +- contrib/msame/README.md | 160 ++++++++++++++++++--------- contrib/msame/img/error3.png | Bin 7479 -> 0 bytes contrib/msame/test/gen_input_data.py | 24 ++++ contrib/msame/test/yolox_bgr.cfg | 20 ++++ 5 files changed, 153 insertions(+), 55 deletions(-) delete mode 100644 contrib/msame/img/error3.png create mode 100644 contrib/msame/test/gen_input_data.py create mode 100644 contrib/msame/test/yolox_bgr.cfg diff --git a/contrib/YOLOX/README.md b/contrib/YOLOX/README.md index 54a41de9a..6b5b7661f 100644 --- a/contrib/YOLOX/README.md +++ b/contrib/YOLOX/README.md @@ -64,10 +64,10 @@ YOLOX 的后处理插件接收模型推理插件输出的特征图,该特征 │   ├── models │   │   ├── aipp-configs │   │   │ └── yolox_bgr.cfg -│   │   ├── conversion-scripts # 需将下载的onnx模型存放在该文件夹下 +│   │   ├── conversion-scripts # 需用户手动创建文件夹,并将下载的onnx模型存放在该文件夹下 │   │   ├── yolox_eval.cfg │   │   └── coco.names # 需要下载,下载链接在下方 -│   ├── test_img +│   ├── test_img # 需用户手动创建文件夹 │   │   └── test.jpg # 需要用户自行添加测试数据 │   └── pipeline │   └── pre_post.pipeline diff --git a/contrib/msame/README.md b/contrib/msame/README.md index 6698a4f56..fa018573f 100644 --- a/contrib/msame/README.md +++ b/contrib/msame/README.md @@ -1,79 +1,102 @@ # 模型推理工具 ## 1 介绍 -基于MindX SDK实现开发模型推理工具,用于测试om模型推理,本例为msame的python版本实现。 -[msame-C++工具链接](https://gitee.com/ascend/tools/tree/master/msame) -### 1.1 支持的产品 -本项目以昇腾Atlas300I卡为主要的硬件平台。 +### 1.1 简介 +基于MindX SDK实现开发模型推理工具,本例为msame的python版本实现,适用于单输入或多输入的om模型推理。[msame-C++工具链接](https://gitee.com/ascend/tools/tree/master/msame) -### 1.2 支持的版本 -| 软件名称 | 版本 | -| --------- | -------------- | -| python | 3.9.2 | -| MindX SDK | 3.0.0.alpha | -| CANN | 6.0.1.alpha001 | +技术实现流程图如下: -### 1.3 适用场景 +![image-20220401173124980](./img/process.png) + +### 1.2 支持的产品 + +本项目支持昇腾Atlas 300I pro、 Atlas 300V pro -使用于单输入或多输入模型推理 +### 1.3 支持的版本 +本样例配套的MxVision版本、CANN版本、Driver/Firmware版本如下所示: -### 1.4 代码目录结构与说明 +| MxVision版本 | CANN版本 | Driver/Firmware版本 | +| --------- | ------------------ | -------------- | +| 6.0.RC3 | 8.0.RC3 | 24.1.RC3 | + +### 1.4 三方依赖 + +| 依赖软件 | 版本 | 说明 | +| -------- | ------ | ---------------------- | +| numpy | 1.24.0 | 将数据保存为二进制文件 | + +### 1.5 代码目录结构与说明 ``` . ├── img │ ├── error1.jpg // msame-C++推理结果 │   │── error2.jpg // 本例(msame-python)推理结果 -│   │── error3.jpg // 输入不一致报错截图 │   │── process.jpg // 流程图 -├── set_env.sh // 需要设置的环境变量 +├── test +│ ├── gen_input_data.py // 生成单输入、多输入测试数据脚本 +│ ├── yolox_bgr.cfg // YOLOX相关配置,配合YOLOX测试模型使用 ├── msame.py // 模型推理工具代码 -├── README.md // ReadMe +└── README.md ``` +## 2 设置环境变量 +``` +. /usr/local/Ascend/ascend-toolkit/set_env.sh # toolkit默认安装路径,根据实际安装路径修改 +. ${SDK_INSTALL_PATH}/set_env.sh # SDK_INSTALL_PATH: mxVision SDK 安装路径 +``` +## 3 准备模型 -### 1.5 技术实现流程图 +本项目为通用工具,示例中采用的模型分别为单输入模型和多输入模型,实际执行选择其中一项即可,下面依次介绍: -![image-20220401173124980](./img/process.png) +- 单输入模型——YOLOX模型。 +**步骤1:** 下载 onnx 模型 yolox_nano.onnx 至 `test` 文件夹下。[模型下载链接](https://mindx.sdk.obs.cn-north-4.myhuaweicloud.com/mindxsdk-referenceapps%20/contrib/YOLOX/yolox_nano.onnx) 。本项目使用模型转换工具 ATC 将 onnx 模型转换为 om 模型。 +**步骤2:** 将该模型转换为om模型,具体操作为先进入 `test` 文件夹下, 然后执行atc指令如下: +``` +atc --model=yolox_nano.onnx --framework=5 --output=./yolox_pre_post --output_type=FP32 --soc_version=Ascend310P3 --input_shape="images:1, 3, 416, 416" --insert_op_conf=./yolox_bgr.cfg +``` +若终端输出: +``` +ATC start working now, please wait for a moment. -## 2 环境依赖 +ATC run success, welcome to the next use. +``` -软件依赖说明: +表示命令执行成功。 -| 依赖软件 | 版本 | 说明 | -| -------- | ------ | ---------------------- | -| numpy | 1.21.2 | 将数据保存为二进制文件 | +- 多输入模型——BertTextClassification模型 -在编译运行项目前,需要设置环境变量: +**步骤1:** 下载模型的pb文件 [模型下载地址](https://mindx.sdk.obs.myhuaweicloud.com/mindxsdk-referenceapps%20/contrib/BertTextClassification/bert_text_classification.pb) -``` -. /usr/local/Ascend/ascend-toolkit/set_env.sh #toolkit默认安装路径,根据实际安装路径修改 -. ${SDK_INSTALL_PATH}/mxVision/set_env.sh +**步骤2:** 将模型文件存放到当前项目的 `test` 文件夹下,使用atc命令进行模型转换: + +```bash +atc --model=bert_text_classification.pb --framework=3 --input_format="ND" --output=bert_text_classification --input_shape="input_1:1,300;input_2:1,300" --out_nodes=dense_1/Softmax:0 --soc_version=Ascend310P3 --op_select_implmode="high_precision" ``` -## 3 依赖安装 +若终端输出: +```bash +ATC start working now, please wait for a moment. +ATC run success, welcome to the next use. ``` -pip install numpy == 1.21.2 -``` +表示命令执行成功。 -## 4 准备工作 +## 4 运行 -注:多输入样例在输入时,多个输入用 , 隔开。 +示例步骤如下: -## 5 编译与运行 -示例步骤如下: -**步骤1** 设置环境变量 +**步骤1:** 准备模型输入的测试数据。在 `test` 文件夹中执行命令 `python3 gen_input_data.py`,生成所需输入测试数据。 -**步骤2** 运行 +**步骤2:** 执行模型推理。根据准备的模型类型,在项目**根目录**选择 “模型不加input输入”、“单输入模型”、“多输入模型” 中对应的执行命令,: ``` python3.9 msame.py --model xxx --input xxx --output xxx --loop xxx --outfmt xxx @@ -83,6 +106,7 @@ python3.9 msame.py --model xxx --input xxx --output xxx --loop xxx --outfmt xxx ``` --input 功能说明:模型的输入路径 参数值:bin或npy文件路径与文件名 示例:--input dog.npy +注:多输入样例在输入时,多个输入用","隔开,且不能有空格 --output 功能说明:模型的输出路径 参数值:bin或txt文件路径 示例:--output . --model @@ -94,35 +118,65 @@ python3.9 msame.py --model xxx --input xxx --output xxx --loop xxx --outfmt xxx --device 功能说明:执行代码的设备编号 参数值:自然数 示例:--device 1 ``` -单输入模型: -以yolov3模型npy文件输入作为示例参考: + +- 模型不加input输入: + +``` +python3 msame.py --model ./test/yolox_pre_post.om --output test --outfmt BIN +``` + +- 单输入模型: + +以yolox模型作为示例参考: ``` -python3.9 msame.py --model yolov3_tf_bs1_fp16.om --input dog.npy --output test --outfmt TXT +python3 msame.py --model ./test/yolox_pre_post.om --input test/test1.npy --output test --outfmt TXT ``` -执行成功后,在test目录下生成yolov3_tf_bs1_fp16_0.txt,yolov3_tf_bs1_fp16_1.txt, yolov3_tf_bs1_fp16_2.txt -输出文件的个数与模型的输出有关。 -多输入模型: +- 多输入模型: -以pointcnn模型bin文件输入作为示例参考: +以bert_text_classification模型作为示例参考: ``` -python3.9 msame.py --model pointcnn_bs64.om --output test --outfmt BIN --input pointcnn.bin,pointcnn.bin +python3 msame.py --model ./test/bert_text_classification.om --input test/test2.npy,test/test2.npy --output test --outfmt TXT --loop 2 ``` -执行成功后,在test目录下生成pointcnn_bs64_0.bin +**步骤3:** 查看执行结果。执行成功后,在test目录下生成 `.txt` 或 `.bin` 输出文件,文件类型取决于命令中的 `--outfmt`参数配置 + +## 5 常见问题 +### 6.1 存储为txt格式时可能会出现第六位开始的误差 + +**问题描述:** + +与msame-C++对比,存储为txt格式时可能会出现第六位开始的误差,见下图 -## 6 常见问题 -### 6.1 存储为txt格式时可能会出现第六位开始的误差,可以忽略此问题。 执行msame-C++输出结果: ![image-20220401173124980](./img/error1.png) 执行本例(msame-python)输出结果: ![image-20220401173124980](./img/error2.png) + +**解决方案:** + +可以忽略此问题。 + ### 6.2 模型需要的输入与提供的数据不一致 -![image-20220401173124980](./img/error3.png) -问题描述: -模型需要的输入shape与提供的数据shape不一致。 -解决方案: -可在msame.py中自行输出m.input_shape查看模型需要的输入shape,m.input_dtype查看数据的shape。 -自行编写脚本查看bin或npy文件的shape和dtype,与模型的shape和dtype对齐。 + +**问题描述:** + +模型需要的输入shape、dtype与提供的数据shape、dtype不一致。 +``` +Error : Please check the input shape and input dtype +或者 +InputTensor Data Type mismatches. +``` + +**解决方案:** + +可在 msame.py 第218行 `t_save` 函数中新增如下代码,自行打印输出,查看模型需要的输入shape和dtype。 + +``` +print(m.input_shape(0)) +print(m.input_dtype(0)) +``` + +自行编写脚本查看输入测试数据的bin或npy文件shape和dtype,与模型的shape和dtype对齐。 diff --git a/contrib/msame/img/error3.png b/contrib/msame/img/error3.png deleted file mode 100644 index 026fb9b25292899859f5ddd1cadc52ad1baa612e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7479 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 Nn|;Aw3HC&t`A;7~a+Cl7 diff --git a/contrib/msame/test/gen_input_data.py b/contrib/msame/test/gen_input_data.py new file mode 100644 index 000000000..72748ca55 --- /dev/null +++ b/contrib/msame/test/gen_input_data.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python +# coding=utf-8 + +# Copyright(C) 2022. Huawei Technologies Co.,Ltd. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import numpy as np + +test1 = np.random.randint(0, 100, size=[1, 624, 416, 1], dtype=np.uint8) +np.save("test1.npy", test1) + +test2 = (np.random.rand(1, 300).astype(np.float32)) +np.save("test2.npy", test2) \ No newline at end of file diff --git a/contrib/msame/test/yolox_bgr.cfg b/contrib/msame/test/yolox_bgr.cfg new file mode 100644 index 000000000..d4cb95583 --- /dev/null +++ b/contrib/msame/test/yolox_bgr.cfg @@ -0,0 +1,20 @@ +aipp_op { + aipp_mode: static + src_image_size_w: 416 + src_image_size_h: 416 + input_format : YUV420SP_U8 + csc_switch : true + rbuv_swap_switch : false + matrix_r0c0 : 256 + matrix_r0c1 : 454 + matrix_r0c2 : 0 + matrix_r1c0 : 256 + matrix_r1c1 : -88 + matrix_r1c2 : -183 + matrix_r2c0 : 256 + matrix_r2c1 : 0 + matrix_r2c2 : 359 + input_bias_0 : 0 + input_bias_1 : 128 + input_bias_2 : 128 +} \ No newline at end of file -- Gitee