diff --git a/PyTorch/built-in/audio/ESPnet2_for_PyTorch/README.md b/PyTorch/built-in/audio/ESPnet2_for_PyTorch/README.md
index c161f6424e11d3c17f17e21bc90199351061a941..5a493ce3ee0b9baa44fe18c476275e69fb2a57d1 100644
--- a/PyTorch/built-in/audio/ESPnet2_for_PyTorch/README.md
+++ b/PyTorch/built-in/audio/ESPnet2_for_PyTorch/README.md
@@ -231,207 +231,3 @@ ESPNet是一套基于E2E的开源工具包,可进行语音识别等任务。
# 公网地址说明
代码涉及公网地址参考 public_address_statement.md
-
-# Conformer-推理指导
-
-- [概述](#概述)
-- [推理环境准备](#推理环境准备)
-- [快速上手](#快速上手)
- - [获取源码](#获取源码)
- - [准备数据集](#准备数据集)
- - [模型推理](#模型推理)
-- [模型推理性能&精度](#模型推理性能&精度)
-
-******
-
-# 概述
-Conformer是将CNN用于增强Transformer来做ASR的结构
-
-- 版本说明:
- ```
- url=https://github.com/espnet/espnet_onnx
- commit_id=18eb341
- model_name=Conformer
- ```
-
-# 推理环境准备
-- 该模型需要以下插件与驱动
- **表 1** 版本配套表
-
- | 配套 | 版本 | 环境准备指导 |
- | ------------------------------------------------------------ | ------ | ------------------------------------------------------------ |
- | 固件与驱动 | 22.0.3 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) |
- | CANN | 6.0.0 | - |
- | Python | 3.7.5 | - |
- | PyTorch | 1.13.0 | - |
- | 说明:Atlas 300I Duo 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ |
-
-
-# 快速上手
-可参考实现https://gitee.com/ascend/ModelZoo-PyTorch/tree/master/ACL_PyTorch/built-in/audio/Conformer_for_Pytorch
-
-## 获取源码
-
-1. 获取`Pytorch`源码
- ```
- git clone https://github.com/espnet/espnet_onnx.git
- cd espnet_onnx
- git reset --hard 18eb341
- ```
-
-2. 安装依赖
- ```
- pip3 install -r requirements.txt
- ```
-
-3. 安装ais-bench/auto-optimizer
-
- 参考[ais-bench](https://gitee.com/ascend/tools/tree/master/ais-bench_workload/tool/ais_bench)/[auto-optimizer](https://gitee.com/ascend/msadvisor/tree/master/auto-optimizer/auto_optimizer)安装。
-
-
-4. 获取`OM`推理代码
-
- 目录结构如下:
-
- ```
- ├──Conformer_for_Pytorch
- ├── pth2onnx.py
- ├── modify_onnx_lm.py
- ├── modify_onnx_decoder.py
- ├── graph_fusion.py
- ├── export_acc.patch
- ├── espnet_onnx
- ├── ...
- ```
-
-
-## 准备数据集
-- 该模型使用AISHELL数据集进行精度评估,下载[aishell数据集](https://zhuanlan.zhihu.com/p/535316385)
-
-
-## 模型推理
-
-### 1 模型转换
-
-将模型权重文件`.pth`转换为`.onnx`文件,再使用`ATC`工具将`.onnx`文件转为离线推理模型`.om`文件。
-
-1. 获取权重文件
- 下载权重放在Conformer_for_Pytorch目录下。权重链接:https://github.com/espnet/espnet/tree/master/egs2/aishell/asr1
-
- 指定参数为:Conformer + specaug + speed perturbation: feats=raw, n_fft=512, hop_length=128
-
- 点击With Transformer LM中的Model link链接下载asr_train_asr_conformer3_raw_char_batch_bins4000000_accum_grad4_sp_valid.acc.ave.zip文件,将该文件和pth2onnx.py文件置于同一目录下
-
-
-2. 导出`ONNX`模型
-
- ```
- cd espnet_onnx
- patch -p1 < ../export_acc.patch
- cp ../multi_batch_beam_search.py espnet_onnx/asr/beam_search
- cp ../asr_npu_adapter.py espnet_onnx/asr
- cp ../npu_model_adapter.py espnet_onnx/asr
- pip3 install . #安装espnet_onnx
- cd ..
- ```
- 配置环境变量
-
- ```
- source /usr/local/Ascend/ascend-toolkit/set_env.sh
- ```
-
- > **说明:**
- > 该脚本中环境变量仅供参考,请以实际安装环境配置环境变量。详细介绍请参见《[CANN 开发辅助工具指南 \(推理\)](https://support.huawei.com/enterprise/zh/ascend-computing/cann-pid-251168373?category=developer-documents&subcategory=auxiliary-development-tools)》。
-
- 运行`pth2onnx.py`导出`ONNX`模型。
-
- ```
- python3 pth2onnx.py
- ```
- 导出的onnx文件正常在/root/.cache/espnet_onnx/asr_train_asr_qkv/full目录下,在/root/.cache/espnet_onnx/asr_train_asr_qkv目录下则有配置文件config.yaml配置文件以及feats_stats.npz文件
-
- 修改导出的`onnx`模型,修改xformer_decoder.onnx文件以及transformer_lm.onnx文件,原因是两模型中存在Gather算子indices为-1的场景,当前CANN还不支持该场景,有精度问题,并且可以优化部分性能。
-
- ```
- python3 modify_onnx_decoder.py /root/.cache/espnet_onnx/asr_train_asr_qkv/full/xformer_decoder.onnx \
- /root/.cache/espnet_onnx/asr_train_asr_qkv/full/xformer_decoder_revise.onnx
- python3 modify_onnx_lm.py /root/.cache/espnet_onnx/asr_train_asr_qkv/full/transformer_lm.onnx \
- /root/.cache/espnet_onnx/asr_train_asr_qkv/full/transformer_lm_revise.onnx
- python3 modify_onnx_ctc.py /root/.cache/espnet_onnx/asr_train_asr_qkv/full/ctc.onnx \
- /root/.cache/espnet_onnx/asr_train_asr_qkv/full/ctc_dynamic.onnx
- python3 modify_onnx_encoder.py /root/.cache/espnet_onnx/asr_train_asr_qkv/full/xformer_encoder.onnx \
- /root/.cache/espnet_onnx/asr_train_asr_qkv/full/xformer_encoder_multibatch.onnx 4
-
- ```
-
-3. 使用`ATC`工具将`ONNX`模型转为`OM`模型
-
- 3.1 执行命令查看芯片名称(得到`atc`命令参数中`soc_version`)
-
- ```
- npu-smi info
- ```
-
- 3.2 执行ATC命令
-
- 将xformer_encoder.sh,xformer_decoder.sh,transformer_lm.sh,ctc.sh放置到/root/.cache/espnet_onnx/asr_train_asr_qkv/full目录下,运行xformer_encoder.sh导出encoder`OM`模型,默认保存在当前文件夹下,其他模型类似。
-
- ```
- bash xformer_encoder.sh soc_version
- bash xformer_decoder.sh soc_version
- bash transformer_lm.sh soc_version
- bash ctc.sh soc_version
- ```
-
-### 2 开始推理验证
-
-1. 修改配置参数
-
- 修改/root/.cache/espnet_onnx/asr_train_asr_qkv/目录下config配置文件参数,给每个模型增加input_size,output_size参数以及修改对应的weight参数中的ctc, decoder, lm,给出样例如下
-
- | 项 | 子项 | 路径或值 |
- | :------ | ----------- | ------------------------------------------------------------ |
- | encoder | model_path | /root/.cache/espnet_onnx/asr_train_asr_qkv/full/xformer_encoder_rank.om |
- | | output_size | 5000000 |
- | decoder | model_path | /root/.cache/espnet_onnx/asr_train_asr_qkv/full/xformer_decoder_{os}_{arch}.om |
- | | output_size | 5000000 |
- | ctc | model_path | /root/.cache/espnet_onnx/asr_train_asr_qkv/full/ctc_{os}_{arch}.om |
- | | output_size | 100000000 |
- | lm | model_path | /root/.cache/espnet_onnx/asr_train_asr_qkv/full/transformer_lm_{os}_{arch}.om |
- | | output_size | 5000000 |
- | beam_search | beam_size | 2 |
- | weights | ctc | 0.3 |
- | | decoder | 0.7 |
- | | lm | 0.3 |
-
- 说明:{os}_{arch}为对应系统/架构名,如:{linux}_{aarch64}
-
-2. 执行推理 & 精度验证
- 运行`om_val.py`推理OM模型,生成的结果txt文件在当前文件夹下。
-
- ```
- # 生成的om.txt可以跟标杆对比即可:
- python3 om_val.py --dataset_path ${dataset_path}/wav/test --model_path /root/.cache/espnet_onnx/asr_train_asr_qkv
-
- # text是标杆文件: 默认打印error值,最终精度取ACC值:100%-error
- python3 compute-wer.py --char=1 --v=1 text om.txt
- ```
-
-3. 性能验证
-
- 打印终端的时间即为数据集上的端到端推理耗时
-
- 模型推理性能&精度:
-
- 调用ACL接口推理计算,性能&精度参考下列数据:
- 备注说明:
-
- 1. NPU推理采用多进程推理方案,依赖CPU性能,参考机器:96核CPU(aarch64)/CPU max MHZ: 2600/251G内存/NPU310P3
-
- 2. 性能以最终total的端到端性能为准
-
- | 芯片型号 | 配置 | 数据集 | 精度(overall) | 性能(fps) |
- | :-----------: | :------------------------------------: | :-------: | :-------------: |
- | GPU | encoder/decoder/ctc/lm(beam_size=20) | aishell | 95.27% |
- | GPU | encoder/decoder/ctc/lm(beam_size=2) | aishell | 95.08% |
- | Atlas | encoder/decoder/ctc/lm(default) | aishell | 95.02% |
diff --git a/PyTorch/built-in/cv/classification/CRNN_for_PyTorch/README.md b/PyTorch/built-in/cv/classification/CRNN_for_PyTorch/README.md
index c18ca730735e7aacc7b6788c913214568c5afc04..41ea48dfba77ea420840b43055d70b82f9424f2a 100644
--- a/PyTorch/built-in/cv/classification/CRNN_for_PyTorch/README.md
+++ b/PyTorch/built-in/cv/classification/CRNN_for_PyTorch/README.md
@@ -184,226 +184,6 @@ CRNN (Convolutional Recurrent Neural Network) 于2015年由华中科技大学的
## FAQ
无。
-# CRNN-推理指导
-
-
-- [概述](#ZH-CN_TOPIC_0000001172161501)
-
-- [推理环境准备](#ZH-CN_TOPIC_0000001126281702)
-
-- [快速上手](#ZH-CN_TOPIC_0000001126281700)
-
- - [准备数据集](#section183221994411)
- - [模型推理](#section741711594517)
-
-- [模型推理性能](#ZH-CN_TOPIC_0000001172201573)
-
- ******
-
-
-
-
-# 概述
-
-文字识别是图像领域一个常见问题。对于自然场景图像,首先要定位图像中的文字位置,然后才能进行文字的识别。对定位好的文字区域进行识别,主要解决的问题是每个文字是什么,将图像中的文字区域进转化为字符信息。CRNN全称为Convolutional Recurrent Neural Network,是一种卷积循环神经网络结构,用于解决基于图像的序列识别问题,特别是场景文字识别问题。主要用于端到端地对不定长的文本序列进行识别,不用先对单个文字进行切割,而是将文本识别转化为时序依赖的序列学习问题,也就是基于图像的序列识别。
-
-
-- 参考实现:
-
- ```
- https://github.com/Sierkinhane/CRNN_Chinese_Characters_Rec
- branch=master
- commit_id=90c83db3f06d364c4abd115825868641b95f6181
- ```
-
- 通过Git获取对应commit\_id的代码方法如下:
-
- ```
- git clone {repository_url} # 克隆仓库的代码
- cd {repository_name} # 切换到模型的代码仓目录
- git checkout {branch/tag} # 切换到对应分支
- git reset --hard {commit_id} # 代码设置到对应的commit_id(可选)
- cd {code_path} # 切换到模型代码所在路径,若仓库下只有该模型,则无需切换
- ```
-
-
-## 输入输出数据
-
-- 输入数据
-
- | 输入数据 | 数据类型 | 大小 | 数据排布格式 |
- | -------- | -------- | ------------------------ | ------------ |
- | input | FLOAT32 | batchsize x 1 x 32 x 100 | NCHW |
-
-
-- 输出数据
-
- | 输出数据 | 大小 | 数据类型 | 数据排布格式 |
- | -------- | ------------------- | -------- | ------------ |
- | output1 | 26 x batchsize x 37 | FLOAT32 | ND |
-
-
-
-# 推理环境准备
-
-- 该模型需要以下插件与驱动
-
- **表 1** 版本配套表
-
-| 配套 | 版本 | 环境准备指导 |
-| ------------------------------------------------------------ | ------- | ------------------------------------------------------------ |
-| 固件与驱动 | 22.0.3 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) |
-| CANN | 6.0.RC1 | - |
-| Python | 3.7.5 | - |
-| PyTorch | 1.12.1 | - |
-| 说明:Atlas 300I Duo 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ |
-
-# 快速上手
-
-具体实现可参考实现https://gitee.com/ascend/ModelZoo-PyTorch/tree/master/ACL_PyTorch/built-in/cv/CRNN_BuiltIn_for_Pytorch
-进入infer路径获取推理文件
-
-1. 安装依赖。
-
- ```
- cd infer
- pip3 install -r requirements.txt
- ```
-
-## 准备数据集
-
-1. 获取原始数据集。(解压命令参考tar –xvf \*.tar与 unzip \*.zip)
-
- 本模型支持多种开源OCR mdb数据集(例如IIIT5K_lmdb),请用户自行准备好图片数据集,IIIT5K_lmdb验证集目录参考。
-
- ```
- ├── IIIT5K_lmdb # 验证数据集
- ├── data.mdb # 数据文件
- └── lock.mdb # 锁文件
- ```
-
-2. 数据预处理。
-
- 1. 执行parse_testdata.py脚本。
-
- ```
- python3 parse_testdata.py ./IIIT5K_lmdb input_bin
- ```
-
- 执行成功后,二进制文件生成在*./input_bin*文件夹下,标签数据label.txt生成在当前目录下。
-
-
-## 模型推理
-
-模型转换。
-
-使用PyTorch将模型权重文件.pth转换为.onnx文件,再使用ATC工具将.onnx文件转为离线推理模型文件.om文件。
-
-获取权重文件。
-
-导出onnx文件。
-
-1. 使用pth2onnx.py导出onnx文件。
-
- 运行pth2onnx.py脚本。
-
- ```
- python3.7 pth2onnx.py ./checkpoint.pth ./crnn_npu_dy.onnx
- ```
-
- 获得crnn_npu_dy.onnx文件。
-
-使用ATC工具将ONNX模型转OM模型。
-
-2. 配置环境变量。
-
- ```
- source /usr/local/Ascend/ascend-toolkit/set_env.sh
- ```
-
- > **说明:**
- > 该脚本中环境变量仅供参考,请以实际安装环境配置环境变量。详细介绍请参见《[CANN 开发辅助工具指南 \(推理\)](https://support.huawei.com/enterprise/zh/ascend-computing/cann-pid-251168373?category=developer-documents&subcategory=auxiliary-development-tools)》。
-
-3. 执行命令查看芯片名称($\{chip\_name\})
-
- ```shell
- npu-smi info
- ```
-
-4. 执行atc命令
-
- ```shell
- # Ascend${chip_name}请根据实际查询结果填写
- atc --model=crnn_npu_dy.onnx --framework=5 --output=crnn_final_bs16 --input_format=NCHW --input_shape="actual_input_1:16,1,32,100" --log=error --soc_version=Ascend${chip_name}
- ```
-
- 参数说明:
-
- - --model:为ONNX模型文件
-
- - --framework:5代表ONNX模型
-
- - --output:输出的OM模型
-
- - --input_format:输入数据的格式
-
- - --input_shape:输入数据的shape
-
- - --log:日志级别
-
- - --soc_version:处理器型号
-
- 运行成功后生成crnn_final_bs16.om模型文件
-
-5. 开始推理验证。
-
- a. 安装ais_bench推理工具。
-
- 请访问[ais_bench推理工具](https://gitee.com/ascend/tools/tree/master/ais-bench_workload/tool/ais_bench)代码仓,根据readme文档进行工具安装。
-
- b. 执行推理
-
- ```shell
- source /usr/local/Ascend/ascend-toolkit/set_env.sh
-
- python3 -m ais_bench --model ./crnn_final_bs16.om --input ./input_bin --output ./ --output_dirname result --device 0 --batchsize 16 --output_batchsize_axis 1
- ```
-
- 参数说明:
-
- - --model:模型地址
- - --input:预处理完的数据集文件夹
- - --output:推理结果保存路径
- - --output_dirname: 推理结果存储位置
-
- 运行成功后会在 ./result 下生成推理输出的bin文件
-
-
- c. 精度验证。
- 运行脚本postpossess_CRNN_pytorch.py进行精度测试,精度会打屏显示。
-
- ```
- python3 postpossess_CRNN_pytorch.py ./result ./label.txt
- ```
-6. 性能验证
-
- 可使用ais_bench推理工具的纯推理模式验证不同batch_size的om模型的性能,参考命令如下:
- ```
- python3.7 -m ais_bench --model=${om_model_path} --loop=20 --batchsize=${batch_size}
- ```
- - 参数说明
- - --model:om模型
- - --loop:循环次数
- - --batchsize:推理张数
-
-# 模型推理性能&精度
-
-调用ACL接口推理计算,性能参考下列数据。
-
-| 芯片型号 | Batch Size | 数据集 | 精度 |
-| -------- | ---------- | ----------- | ------ |
-| Atlas | 16 | IIIT5K_lmdb | 76.57% |
-
# 公网地址说明
代码涉及公网地址参考 public_address_statement.md
diff --git a/PyTorch/built-in/cv/detection/DB_ID0706_for_PyTorch/README.md b/PyTorch/built-in/cv/detection/DB_ID0706_for_PyTorch/README.md
index 88f452040ed0d530159b2415ee31107a85116a2d..c82ab203f91e6969f302fae2441164831a1578a6 100644
--- a/PyTorch/built-in/cv/detection/DB_ID0706_for_PyTorch/README.md
+++ b/PyTorch/built-in/cv/detection/DB_ID0706_for_PyTorch/README.md
@@ -216,237 +216,6 @@ DB(Differentiable Binarization)是一种使用可微分二值图来实时文字
#### DataLoader work is killed by signal: Segmentation fault.
可以参考社区[issue](https://github.com/pytorch/pytorch/issues/54752),调整num_workers参数。
-# DB模型PyTorch离线推理指导
-
-
-- [概述](#ZH-CN_TOPIC_0000001172161501)
-
- - [输入输出数据](#section540883920406)
-
-- [推理环境准备](#ZH-CN_TOPIC_0000001126281702)
-
-- [快速上手](#ZH-CN_TOPIC_0000001126281700)
-
- - [获取源码](#section4622531142816)
- - [准备数据集](#section183221994411)
- - [模型推理](#section741711594517)
-
-- [模型推理性能&精度](#ZH-CN_TOPIC_0000001172201573)
-
- ******
-
-
-
-# 概述
-
-在基于分割的文本检测网络中,最终的二值化map都是使用的固定阈值来获取,并且阈值不同对性能影响较大。而在DB中会对每一个像素点进行自适应二值化,二值化阈值由网络学习得到,彻底将二值化这一步骤加入到网络里一起训练,这样最终的输出图对于阈值就会非常鲁棒。
-
-
-- 参考实现:
-
- ```
- url=https://github.com/MhLiao/DB
- commit_id=4ac194d0357fd102ac871e37986cb8027ecf094e
- model_name=DB_for_PyTorch
- ```
-
-
-## 输入输出数据
-
-- 输入数据
-
- | 输入数据 | 数据类型 | 大小 | 数据排布格式 |
- | -------- | -------- | -------------------------- | ------------ |
- | input | RGB_FP32 | batchsize x 3 x 736 x 1280 | NCHW |
-
-
-- 输出数据
-
- | 输出数据 | 数据类型 | 大小 | 数据排布格式 |
- | -------- | -------- | -------------------------- | ------------ |
- | output1 | FLOAT32 | batchsize x 1 x 736 x 1280 | ND |
-
-
-# 推理环境准备
-
-- 该模型需要以下插件与驱动
-
- **表 1** 版本配套表
-
- | 配套 | 版本 | 环境准备指导 |
- | ------------------------------------------------------------ | ------- | ------------------------------------------------------------ |
- | 固件与驱动 | 22.0.2 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) |
- | CANN | 6.0.RC1 | - |
- | Python | 3.7.5 | - |
- | PyTorch | 1.6.0 | - |
- | 说明:Atlas 300I Duo 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ |
-
-
-
-# 快速上手
-可参考实现https://gitee.com/ascend/ModelZoo-PyTorch/tree/master/ACL_PyTorch/built-in/ocr/DBNET
-
-## 获取源码
-
-1. 获取源码
-
- ```shell
- git clone https://github.com/MhLiao/DB
- cd DB
- git reset 4ac194d0357fd102ac871e37986cb8027ecf094e --hard
- patch -p1 < ../db.diff
- cd ..
- cp -r db_preprocess.py DB
- cp -r db_pth2onnx.py DB
- cp -r db_postprocess.py DB
- cd DB
-
- ```
-
-2. 安装依赖
-
- ```
- pip3 install -r requirements.txt
- ```
-
-## 准备数据集
-
-1. 获取原始数据集
-
- 本模型支持icdar2015验证集。用户需自行获取数据集解压并上传数据集到DB/datasets路径下。目录结构如下:
-
- ```
- datasets/icdar2015/
- ├── test_gts
- ├── test_images
- ├── test_list.txt
- ├── train_gts
- └── train_list.txt
- ```
-
-2. 数据预处理,将原始数据集转换为模型输入的数据。
-
- 执行db_preprocess.py脚本,完成预处理
-
- ```shell
- python3 ./db_preprocess.py --image_src_path=./datasets/icdar2015/test_images --bin_file_path=./prep_dataset
- ```
-
- 结果存在 ./prep_dataset 中
-
-
-## 模型推理
-
-1. 模型转换。
-
- 使用PyTorch将模型权重文件.pth转换为.onnx文件,再使用ATC工具将.onnx文件转为离线推理模型文件.om文件。
-
- 1. 获取权重文件。
-
- 获取DB在线推理完成的权重文件MLT-Pretrain-Resnet50
-
- 2. 导出onnx文件。
-
- 1. 使用db_pth2onnx.py导出onnx文件
-
- ```shell
- python3 ./db_pth2onnx.py experiments/seg_detector/ic15_resnet50_deform_thre.yaml --resume ./MLT-Pretrain-Resnet50
- ```
-
- 获得dbnet.onnx文件
-
- 3. 使用ATC工具将ONNX模型转OM模型。
-
- 1. 配置环境变量。
-
- ```sh
- source /usr/local/Ascend/ascend-toolkit/set_env.sh
- ```
-
- 2. 执行命令查看芯片名称($\{chip\_name\})。
-
- ```sh
- npu-smi info
- ```
-
- 3. 执行ATC命令。
-
- ```sh
- atc --framework=5 --model=./dbnet.onnx --input_format=NCHW --input_shape="actual_input_1:${bs},3,736,1280" --output=db_bs${bs} --log=error --soc_version=Ascend${chip_name}
- ```
-
- 运行成功后生成***db_bs${bs}.om***模型文件。
-
- - 参数说明
-
- - --model:为ONNX模型文件。
-
- - --framework:5代表ONNX模型。
-
- - --output:输出的OM模型。
-
- - --input\_format:输入数据的格式。
-
- - --input\_shape:输入数据的shape。
-
- - --log:日志级别。--soc\_version:处理器型号。
-
-
-
-2. 开始推理验证
-
- 1. 安装ais_bench推理工具。
-
- 请访问[ais_bench推理工具](https://gitee.com/ascend/tools/tree/master/ais-bench_workload/tool/ais_bench)代码仓,根据readme文档进行工具安装。
-
- 2. 执行推理。
-
- ```shell
- python3 -m ais_bench --model ./db_bs1.om --input ./prep_dataset --output ./ --output_dirname result --device 0
- ```
-
- - 参数说明:
-
- - --model:模型
- - --input:数据位置
- - --output:结果存的路径
- - --output_dirname: 结果存的文件夹
-
- 推理后的输出默认在当前目录result下。
-
-
- 3. 精度验证。
-
- 结果保存在result_bs1.json
-
- ```shell
- python3 ./db_postprocess.py experiments/seg_detector/ic15_resnet50_deform_thre.yaml --bin_data_path ./result --box_thresh 0.6 > result_bs1.json
- ```
-
- - 参数说明:
-
- - ./result:为生成推理结果所在路
- - result_bs1.json:为精度生成结果文件
-
- 4. 性能验证
-
- 可使用ais_bench推理工具的纯推理模式验证不同batch_size的om模型的性能,参考命令如下:
-
- ```shell
- python3 -m ais_bench --model=db_bs${bs}.om --loop=20 --batchsize=${bs}
- ```
-
- - 参数说明:
- - --model:om模型
-
-# 模型推理性能&精度
-
-调用ACL接口推理计算,性能参考下列数据。
-
-| 芯片型号 | Batch Size | 数据集 | 精度 |
-| :------: | :--------: | :-------: | :--: |
-| Atlas | 1 | icdar2015 | 0.896 |
-
# 公网地址说明
代码涉及公网地址参考 public_address_statement.md
diff --git a/PyTorch/built-in/nlp/Bert_Chinese_ID3433_for_PyTorch/README.md b/PyTorch/built-in/nlp/Bert_Chinese_ID3433_for_PyTorch/README.md
index 2cf7667f172c3893762af7cf0ae8a7b0120ab853..e84bbbcbf8c48b060b0d5e75c2bf5b29ec242d04 100644
--- a/PyTorch/built-in/nlp/Bert_Chinese_ID3433_for_PyTorch/README.md
+++ b/PyTorch/built-in/nlp/Bert_Chinese_ID3433_for_PyTorch/README.md
@@ -307,270 +307,6 @@ BERT的全称是Bidirectional Encoder Representation from Transformers,即双
A:export WANDB_DISABLED=1
-
-# Bert_Base_Chinese模型-推理指导
-
- 最新的推理指导参考[Bert_Base_Chinese模型-推理指导](https://gitee.com/ascend/ModelZoo-PyTorch/blob/master/ACL_PyTorch/built-in/nlp/Bert_Base_Chinese_for_Pytorch/README.md)
-
-- [概述](#ZH-CN_TOPIC_0000001172161501)
-
- - [输入输出数据](#section540883920406)
-
-- [推理环境准备](#ZH-CN_TOPIC_0000001126281702)
-
-- [快速上手](#ZH-CN_TOPIC_0000001126281700)
-
- - [获取源码](#section4622531142816)
- - [准备数据集](#section183221994411)
- - [模型推理](#section741711594517)
-
-- [模型推理性能&精度](#ZH-CN_TOPIC_0000001172201573)
-
-- [其他下游任务](#ZH-CN_TOPIC_0000001126121892)
-
-
-## 概述
-
-`BERT`来自 Google 的论文`Pre-training of Deep Bidirectional Transformers for Language Understanding`,`BERT` 是`Bidirectional Encoder Representations from Transformers`的首字母缩写,整体是一个自编码语言模型。`Bert_Base_Chinese`是`BERT`模型在中文语料上训练得到的模型。
-
- ```shell
- url=https://huggingface.co/bert-base-chinese
- commit_id=38fda776740d17609554e879e3ac7b9837bdb5ee
- model_name=Bert_Base_Chinese
- ```
-
-### 输入输出数据
-
-- 输入数据
-
- | 输入数据 | 数据类型 | 大小 | 数据排布格式 |
- | -------- | -------- | ------------------------- | ------------ |
- | input_ids | INT64 | batchsize x seq_len | ND |
- | attention_mask | INT64 | batchsize x seq_len | ND |
- | token_type_ids | INT64 | batchsize x seq_len | ND |
-
-- 输出数据
-
- | 输出数据 | 大小 | 数据类型 | 数据排布格式 |
- | -------- | -------- | -------- | ------------ |
- | output | batch_size x class | FLOAT32 | ND |
-
-
-## 推理环境准备\[所有版本\]
-
-- 该模型需要以下插件与驱动
-
- **表 1** 版本配套表
-
-| 配套 | 版本 | 环境准备指导 |
-| ------------------------------------------------------------ | ------- | ------------------------------------------------------------ |
-| 固件与驱动 | 1.0.17 | [PyTorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) |
-| CANN | 6.0.RC1 | - |
-| Python | 3.7.5 | - |
-| PyTorch | 1.5.0+ | - |
-| 说明:Atlas 300I Duo 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ |
-
-## 快速上手
-可参考实现https://gitee.com/ascend/ModelZoo-PyTorch/tree/master/ACL_PyTorch/built-in/nlp/Bert_Base_Chinese_for_Pytorch
-
-### 获取源码
-
-1. 获取源码。
-
- ```
- git clone https://gitee.com/ascend/ModelZoo-PyTorch.git # 克隆仓库的代码
- git checkout master # 切换到对应分支
- cd /ModelZoo-PyTorch/ACL_PyTorch/built-in/nlp/Bert_Base_Chinese_for_Pytorch # 切换到模型的代码仓目录
- ```
-
-2. 安装依赖。
-
- ```
- pip3 install -r requirements_for_infer.txt
- git clone https://gitee.com/Ronnie_zheng/MagicONNX.git MagicONNX
- cd MagicONNX && git checkout dev
- pip3 install . && cd ..
- ```
-
-2. 获取开源代码仓。
- 在已下载的源码包根目录下,执行如下命令。
-
- ```shell
- GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/bert-base-chinese
- ```
-
-### 准备数据集
-1. 获取原始数据集。
-
- 如果你想重新处理zhwiki的原始数据,可按照以下步骤操作。
-
- 下载zhwiki原始数据:
-
- ```
- wget https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-pages-articles.xml.bz2 --no-check-certificate
- ```
-
- 解压得到zhwiki-latest-pages-articles.xml
-
- ```
- bzip2 -dk zhwiki-latest-pages-articles.xml.bz2
- ```
-
- 下载预处理脚本:
-
- ```shell
- wget https://github.com/natasha/corus/raw/master/corus/third/WikiExtractor.py
- ```
-
- 使用WikiExtractor.py提取文本,其中extracted/wiki_zh为保存路径,建议不要修改:
-
- ```
- python3 WikiExtractor.py zhwiki-latest-pages-articles.xml -b 100M -o extracted/wiki_zh
- ```
-
- 将多个文档整合为一个txt文件,在本工程根目录下执行
-
- ```
- python3 WikicorpusTextFormatting.py --extracted_files_path extracted/wiki_zh --output_file zhwiki-latest-pages-articles.txt
- ```
-
- 最终生成的文件名为zhwiki-latest-pages-articles.txt (也可直接采用处理好的文件)
-
- 从中分离出验证集:
-
- ```shell
- python3 split_dataset.py zhwiki-latest-pages-articles.txt zhwiki-latest-pages-articles_validation.txt
- ```
-
-2. 数据预处理。
-
- 数据预处理将原始数据集转换为模型输入的数据。
-
- 执行preprocess.py脚本,完成预处理。
-
- ```shell
- # 输入参数:${input_path} ${model_dir} ${save_dir} ${seq_length}
- python3 preprocess.py ./zhwiki-latest-pages-articles_validation.txt ./bert-base-chinese ./input_data/ 384
- ```
-
- - 参数说明:第一个参数为zhwiki数据集分割得到验证集文件路径,第二个参数为源码路径(包含模型配置文件等),第三个参数为输出预处理数据路径,第四个参数为sequence长度。
-
-### 模型推理
-
-1. 模型转换
-
- 1. 获取权重文件
-
- 获取权重文件并转换成cpu适配权重替换`bert-base-chinese`目录下的文件:
-
- ```shell
- mv pytorch_model.bin bert-base-chinese
- ```
-
- 2. 导出onnx文件
-
- ```shell
- # 输入参数:${model_dir} ${output_path} ${seq_length}
- python3 pth2onnx.py ./bert-base-chinese ./bert_base_chinese.onnx 384
- ```
-
- - 输入参数说明:第一个参数为源码仓路径(包含配置文件等),第二个参数为输出onnx文件路径,第三个参数为sequence长度。
-
- 3. 优化onnx文件
-
- ```shell
- # 修改优化模型:${bs}:[1, 4, 8, 16, 32, 64],${seq_len}:384
- python3 -m onnxsim ./bert_base_chinese.onnx ./bert_base_chinese_bs${bs}.onnx --input-shape "input_ids:${bs},${seq_len}" "attention_mask:${bs},${seq_len}" "token_type_ids:${bs},${seq_len}"
- python3 fix_onnx.py bert_base_chinese_bs${bs}.onnx bert_base_chinese_bs${bs}_fix.onnx
- ```
-
- 4. 使用ATC工具将ONNX模型转OM模型。
-
- 1. 配置环境变量。
-
- ```
- source /usr/local/Ascend/ascend-toolkit/set_env.sh
- ```
-
- > **说明:**
- >该脚本中环境变量仅供参考,请以实际安装环境配置环境变量。详细介绍请参见《[CANN 开发辅助工具指南 \(推理\)](https://support.huawei.com/enterprise/zh/ascend-computing/cann-pid-251168373?category=developer-documents&subcategory=auxiliary-development-tools)》。
-
- 2. 执行命令查看芯片名称($\{chip\_name\})。
-
- ```
- npu-smi info
- ```
-
- 3. 执行ATC命令。
- ```shell
- # bs:[1, 4, 8, 16, 32, 64]
- atc --model=./bert_base_chinese_bs${bs}_fix.onnx --framework=5 --output=./bert_base_chinese_bs${bs} --input_format=ND --log=debug --soc_version=${chip_name} --optypelist_for_implmode="Gelu" --op_select_implmode=high_performance
- ```
-
- - 参数说明:
-
- - --model:为ONNX模型文件。
- - --framework:5代表ONNX模型。
- - --output:输出的OM模型。
- - --input\_format:输入数据的格式。
- - --input\_shape:输入数据的shape。
- - --log:日志级别。
- - --soc\_version:处理器型号。
-
- 运行成功后生成bert_base_chinese_bs${bs}.om模型文件。
-
-2. 开始推理验证。
-
- 1. 安装ais_bench推理工具
-
- 请访问[ais_bench推理工具](https://gitee.com/ascend/tools/tree/master/ais-bench_workload/tool/ais_bench)代码仓,根据readme文档进行工具安装。
-
- 2. 执行推理。
-
- ```
- # 以bs1模型推理为例
- mkdir -p ./output_data/bs1
- python3 -m ais_bench --model ./bert_base_chinese_bs1.om --input ./input_data/input_ids,./input_data/attention_mask,./input_data/token_type_ids --output ./output_data/ --output_dirname bs1 --batchsize 1 --device 1
- ```
- - 参数说明:
-
- - --model:om文件路径。
- - --input:输入文件。
- - --output:输出目录。
- - --output_dirname:输出文件名。
- - --device:NPU设备编号。
- - --outfmt: 输出数据格式。
- - --batchsize:推理模型对应的batchsize。
-
-
- 推理后的输出默认在当前目录outputs/bs1下。
-
- 3. 精度验证。
-
- 调用postprocess.py脚本与数据集标签比对,获得Accuracy数据。
-
- ```
- # 以bs1模型推理为例
- # 输入参数:${result_dir} ${gt_dir} ${seq_length}
- python3 postprocess.py ./output_data/bs1 ./input_data/labels 384
- ```
-
- - 参数说明:第一个参数为推理结果路径,第二个参数为gt labe所在路径,第三个参数为sequence长度。
-
-## 模型推理性能&精度
-
-精度:
-
-| 模型 | NPU离线推理精度 |
-| :---------------: | :-------------: |
-| Bert-Base-Chinese | Acc: 59.07% |
-
-
-## 其他下游任务
-
-+ [序列标注(Sequence Labeling)](https://gitee.com/ascend/ModelZoo-PyTorch/blob/master/ACL_PyTorch/built-in/nlp/Bert_Base_Chinese_for_Pytorch/downstream_tasks/sequence_labeling/README.md)
-
-
# 公网地址说明
代码涉及公网地址参考 public_address_statement.md
diff --git a/PyTorch/contrib/cv/classification/HRNet_ID1780_for_PyTorch/README.md b/PyTorch/contrib/cv/classification/HRNet_ID1780_for_PyTorch/README.md
index f58977db7fb3b670937563ddddeb217262a8591e..0bd63b2a75c8e0f66243528928879712154cfeba 100644
--- a/PyTorch/contrib/cv/classification/HRNet_ID1780_for_PyTorch/README.md
+++ b/PyTorch/contrib/cv/classification/HRNet_ID1780_for_PyTorch/README.md
@@ -202,243 +202,6 @@ HRNet,是一个用于图像分类的高分辨网络。通过并行连接高分
无。
-
-
-
-# HRNet模型-推理指导
-
-
-- [概述](#ZH-CN_TOPIC_0000001172161501)
-
- - [输入输出数据](#section540883920406)
-
-
-
-- [推理环境准备](#ZH-CN_TOPIC_0000001126281702)
-
-- [快速上手](#ZH-CN_TOPIC_0000001126281700)
-
- - [获取源码](#section4622531142816)
- - [准备数据集](#section183221994411)
- - [模型推理](#section741711594517)
-
-- [模型推理性能&精度](#ZH-CN_TOPIC_0000001172201573)
-
-
-
-
-# 概述
-
-HRNet(High-Resolution Net)是针对2D人体姿态估计(Human Pose Estimation或Keypoint Detection)任务提出的,并且该网络主要是针对单一个体的姿态评估(即输入网络的图像中应该只有一个人体目标)。
-- 参考实现:
-
- ```
- url=https://github.com/HRNet/HRNet-Image-Classification
- commit_id=f130a24bf09b7f23ebd0075271f76c4a188093b2
- code_path=https://gitee.com/ascend/ModelZoo-PyTorch/tree/master/ACL_PyTorch/contrib/cv/classfication/HRNet-Image-Classification
- model_name=HRNet
- ```
-
-
-## 输入输出数据
-
-- 输入数据
-
- | 输入数据 | 数据类型 | 大小 | 数据排布格式 |
- | -------- | -------- | ------------------------- | ------------ |
- | input | RGB_FP32 | batchsize x 3 x 224 x 224 | NCHW |
-
-
-- 输出数据
-
- | 输出数据 | 数据类型 | 大小 | 数据排布格式 |
- | -------- |------------------| -------- | ------------ |
- | output1 | FLOAT32 | batchsize x 1000 | ND |
-
-
-
-# 推理环境准备
-
-- 该模型需要以下插件与驱动
-
- **表 1** 版本配套表
-
- | 配套 | 版本 | 环境准备指导 |
- |---------| ------- | ------------------------------------------------------------ |
- | 固件与驱动 | 22.0.3 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) |
- | CANN | 6.0.RC1 | - |
- | Python | 3.7.5 | - |
- | PyTorch | 1.11.0 | - |
- | 说明:Atlas 300I Duo 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ |
-
-
-
-# 快速上手
-
-## 获取源码
-
-1. 获取源码。
-
- ```
- git clone https://github.com/HRNet/HRNet-Image-Classification.git
- ```
-
-2. 安装依赖。
-
- ```
- pip3 install -r requirement_for_infer.txt
- ```
-
-## 准备数据集
-
-1. 获取原始数据集。(解压命令参考tar –xvf \*.tar与 unzip \*.zip)
-
-
- 该模型使用[ImageNet官网](http://www.image-net.org/)的5万张验证集进行测试,图片与标签分别存放在/local/HRNet/imagenet/val与/local/HRNet/imagenet/val_label.txt。
- ```
- imagenet
- ├── val_label.txt //验证集标注信息
- └── val // 验证集文件夹
- ```
-
-2. 数据预处理,将原始数据集转换为模型输入的数据。
-
- 执行imagenet_torch_preprocess.py脚本,完成预处理。
-
- ```
- python3 imagenet_torch_preprocess.py hrnet /local/HRNet/imagenet/val ./prep_dataset
-
- ```
-
- - 参数说明:
-
- /local/HRNet/imagenet/val,原始数据验证集(.jpeg)所在路径。
-
- ./prep_dataset,输出的二进制文件(.bin)所在路径。
-
-
-
-## 模型推理
-
-1. 模型转换。
-
- 使用PyTorch将模型权重文件.pth转换为.onnx文件,再使用ATC工具将.onnx文件转为离线推理模型文件.om文件。
-
- 1. 获取权重文件。
-
- 使用在线推理完成后的权重文件
-
- 2. 导出onnx文件。
-
- 1. 使用hrnet_pth2onnx.py脚本。
-
- 运行hrnet_pth2onnx.py脚本。
-
- ```
- python3 hrnet_pth2onnx.py --cfg ./HRNet-Image-Classification/experiments/cls_hrnet_w18_sgd_lr5e-2_wd1e-4_bs32_x100.yaml --input model_best.pth.tar --output hrnet_w18.onnx
- ```
-
- 获得hrnet_w18.onnx文件。
-
- 3. 使用ATC工具将ONNX模型转OM模型。
-
- 1. 配置环境变量。
-
- ```
- source /usr/local/Ascend/ascend-toolkit/set_env.sh
- ```
-
- 2. 执行命令查看芯片名称($\{chip\_name\})。
-
- ```
- npu-smi info
- ```
-
- 3. 执行ATC命令。
-
- ```
- atc --framework=5 --model=./hrnet_w18.onnx --input_format=NCHW --input_shape="image:{batch size},3,224,224" --output=hrnet_bs{batch size} --log=debug --soc_version=${chip_name}
- 示例
- atc --framework=5 --model=./hrnet_w18.onnx --input_format=NCHW --input_shape="image:1,3,224,224" --output=hrnet_bs1 --log=debug --soc_version=${chip_name}
- ```
-
- - 参数说明:
-
- - --model:为ONNX模型文件。
- - --framework:5代表ONNX模型。
- - --output:输出的OM模型。
- - --input\_format:输入数据的格式。
- - --input\_shape:输入数据的shape。
- - --log:日志级别。
- - --soc\_version:处理器型号。
-
- 运行成功后生成hrnet_bs1.om模型文件,batch size为1、4、8、32、64的修改对应的batch size的位置即可。
-
-2. 开始推理验证。
-
- 1. 安装ais_bench推理工具。
-
- 请访问[ais_bench推理工具](https://gitee.com/ascend/tools/tree/master/ais-bench_workload/tool/ais_infer)代码仓,根据readme文档进行工具安装。
-
- 2. 执行推理。
-
- ```
- python3 -m ais_bench --model ./hrnet_bs{batch size}.om --input ./prep_dataset/ --output ./output --output_dirname subdir --outfmt 'TXT' --batchsize {batch size}
- 示例
- python3 -m ais_bench --model ./hrnet_bs1.om --input ./prep_dataset/ --output ./output --output_dirname subdir --outfmt 'TXT' --batchsize 1
- ```
-
- - 参数说明:
-
- - model:需要推理om模型的路径。
- - input:模型需要的输入bin文件夹路径。
- - output:推理结果输出路径。
- - outfmt:输出数据的格式。
- - output_dirname:推理结果输出子文件夹。
-
- 推理后的输出默认在当前目录output的subdir下。
-
- 3. 精度验证。
-
- 调用imagenet_acc_eval.py脚本推理结果与label比对,可以获得Accuracy Top5数据,结果保存在result.json中。
-
- ```
- python3.7 imagenet_acc_eval.py ./output/subdir /local/HRNet/imagenet/val_label.txt ./ result.json
- ```
-
- - 参数说明:
-
- - ./output/subdir/:为生成推理结果所在路径
-
- - /local/HRNet/imagenet/val_label.txt:为标签数据所在路径
-
- - ./ result.json:结果保存路径
-
- 4. 性能验证。
-
- 可使用ais_bench推理工具的纯推理模式验证不同batch_size的om模型的性能,参考命令如下:
-
- ```
- python3 -m ais_bench --model=./hrnet_bs{batch size}.om --loop=1000 --batchsize={batch size}
- 示例
- python3 -m ais_bench --model=./hrnet_bs1.om --loop=1000 --batchsize=1
- ```
-
- - 参数说明:
- - --model:需要验证om模型所在路径
- - --batchsize:验证模型的batch size,按实际进行修改
-
-
-
-# 模型推理性能&精度
-
-调用ACL接口推理计算,性能参考下列数据。
-
-| 芯片型号 | Batch Size | 数据集 | 精度 |
-| --------- |------------| ---------- |-----------------------|
-| Atlas | 1 | ImageNet | 76.02/Top1 91.72/Top5 |
-
-
# 公网地址说明
代码涉及公网地址参考 public_address_statement.md
diff --git a/PyTorch/contrib/cv/classification/InceptionV3_ID1596_for_PyTorch/README.md b/PyTorch/contrib/cv/classification/InceptionV3_ID1596_for_PyTorch/README.md
index 3c1d2884dc5df46b5af9577f8b0f24ca99e52514..431e396ba03d32e5916ec9b755af80254a11afc5 100644
--- a/PyTorch/contrib/cv/classification/InceptionV3_ID1596_for_PyTorch/README.md
+++ b/PyTorch/contrib/cv/classification/InceptionV3_ID1596_for_PyTorch/README.md
@@ -205,206 +205,6 @@ GoogLeNet对网络中的传统卷积层进行了修改,提出了被称为Incep
无。
-# InceptionV3 模型推理指导
-
-- [概述](#概述)
- - [输入输出数据](#输入输出数据)
-- [推理环境](#推理环境)
-- [快速上手](#快速上手)
- - [获取源码](#获取源码)
- - [准备数据集](#准备数据集)
- - [模型转换](#模型转换)
- - [推理验证](#推理验证)
-- [性能&精度](#性能精度)
-
-----
-# 概述
-
-InceptionV3 模型是谷歌 Inception 系列里面的第三代模型,在 InceptionV2 模型的基础上,InceptionV3 通过分解卷积和新的正则化方法,极大地减少了计算开销。
-
-+ 论文
- [Rethinking the Inception Architecture for Computer Vision](https://arxiv.org/abs/1512.00567)
- Christian Szegedy, Vincent Vanhoucke, Sergey Ioffe, Jonathon Shlens, Zbigniew Wojna
-
-+ 参考实现:
- https://github.com/pytorch/vision/blob/master/torchvision/models/inception.py
-
-## 输入输出数据
-+ 模型输入
- | input-name | data-type | data-format |input-shape |
- | ---------- | --------- | ----------- | ---------- |
- | actual_input_1 | FLOAT32 | NCHW | bs x 3 x 299 x 299 |
-
-+ 模型输出
- | output-name | data-type | data-format |output-shape |
- | ----------- | ---------- | ----------- | ----------- |
- | output1 | FLOAT32 | ND | bs x 1000 |
-
-
-----
-# 推理环境
-
-- 该模型推理所需配套的软件如下:
-
- | 配套 | 版本 | 环境准备指导 |
- | --------- | ------- | ---------- |
- | 固件与驱动 | 1.0.17 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) |
- | CANN | 6.0.RC1 | - |
- | Python | 3.7.5 | - |
-
- 说明:请根据推理卡型号与 CANN 版本选择相匹配的固件与驱动版本。
-
-
-----
-# 快速上手
-具体可参考实现https://gitee.com/ascend/ModelZoo-PyTorch/tree/master/ACL_PyTorch/built-in/cv/InceptionV3_for_Pytorch
-在infer_atc路径下获取推理文件
-## 安装
-
-- 安装推理过程所需的依赖
- ```bash
- cd infer_atc
- pip install -r requirements.txt
- ```
-
-## 准备数据集
-
-1. 获取原始数据集
- 本模型推理项目使用 ILSVRC2012 数据集验证模型精度,请在 [ImageNet官网](https://gitee.com/link?target=http%3A%2F%2Fimage-net.org%2F) 自行下载,并按照以下的目录结构存放图片与标签文件。
- ```
- ├── imageNet/
- ├── val/
- ├──ILSVRC2012_val_00000001.JPEG
- ├──ILSVRC2012_val_00000002.JPEG
- ├──...
- ├── val_label.txt
- ```
-
-
-2. 数据预处理
- 执行前处理脚本将原始数据转换为OM模型输入需要的bin/npy文件。
- ```bash
- python inceptionv3_preprocess.py --src_path /opt/npu/imageNet/val --save_path ./prep_dataset
- ```
- 参数说明:
- + --src_path: 测试图片所在的目录路径
- + --save_path: 存放生成的bin文件的目录路径
-
- 运行成功后,每张原始图片都会对应生成一个bin文件存放于 ./prep_dataset 目录下,总计50000个bin文件。
-
-
-## 模型转换
-
-1. PyTroch 模型转 ONNX 模型
-
- 使用在线推理的权重存放到当前目录,可参考命令:
-
- 然后参考执行以下命令生成 ONNX 模型:
- ```bash
- python inceptionv3_pth2onnx.py --checkpoint ./checkpoint.pth --onnx ./inceptionv3.onnx
- ```
- 参数说明:
- + --checkpoint: 预训练权重文件的路径。若不指定,则会通过在线方式获取。
- + --onnx: 生成ONNX模型的保存路径
-
-2. ONNX 模型转 OM 模型
-
- step1: 查看NPU芯片名称 \${chip_name}
- ```bash
- npu-smi info
- ```
-
- step2: ONNX 模型转 OM 模型
- ```bash
- # 配置环境变量
- source /usr/local/Ascend/ascend-toolkit/set_env.sh
-
- chip_name=${chip_name} # 根据 step1 的结果设值
- bs=128 # 根据需要自行设置
-
-
- # 执行 ATC 进行模型转换
- atc --model=./inceptionv3.onnx \
- --framework=5 \
- --output=inceptionv3_bs${bs} \
- --input_format=NCHW \
- --input_shape="actual_input_1:${bs},3,299,299" \
- --log=error \
- --soc_version=Ascend${chip_name} \
- --insert_op_conf=inceptionv3_aipp.cfg
- ```
-
- 参数说明:
- + --framework: 5代表ONNX模型
- + --model: ONNX模型路径
- + --input_shape: 模型输入数据的shape
- + --input_format: 输入数据的排布格式
- + --output: OM模型路径,无需加后缀
- + --log:日志级别
- + --soc_version: 处理器型号
-
-
-## 推理验证
-
-1. 对数据集推理
- 安装ais_bench推理工具,请访问[ais_bench推理工具](https://gitee.com/ascend/tools/tree/master/ais-bench_workload/tool/ais_bench)代码仓,根据readme文档进行工具安装。完成安装后,执行以下命令预处理后的数据进行推理。
- ```bash
- python -m ais_bench \
- --model inceptionv3_bs${bs}.om \
- --input ./prep_dataset/ \
- --output ./ \
- --output_dirname ./result/ \
- --outfmt TXT \
- --batchsize ${bs}
- ```
- 参数说明:
- + --model OM模型路径
- + --input 存放预处理后数据的目录路径
- + --output 用于存放推理结果的父目录路径
- + --output_dirname 用于存放推理结果的子目录名,位于--output指定的目录下
- + --outfmt 推理结果文件的保存格式
- + --batchsize 模型每次输入bin文件的数量
-
-
-2. 性能验证
- 对于性能的测试,需要注意以下三点:
- + 测试前,请通过`npu-smi info`命令查看NPU设备状态,请务必在NPU设备空闲的状态下进行性能测试。
- + 为了避免测试过程因持续时间太长而受到干扰,建议通过纯推理的方式进行性能测试。
- + 使用吞吐率作为性能指标,单位为 fps,反映模型在单位时间(1秒)内处理的样本数。
- ```bash
- python -m ais_bench --model inceptionv3_bs${bs}.om --batchsize ${bs}
- ```
- 执行完纯推理命令,程序会打印出与性能相关的指标,找到以关键字 **[INFO] throughput** 开头的一行,行尾的数字即为 OM 模型的吞吐率。
-
-3. 精度验证
-
- 执行后处理脚本,根据推理结果计算OM模型的精度:
- ```bash
- python inceptionv3_postprocess.py \
- --infer_results ./result/ \
- --anno_file /opt/npu/imageNet/val_label.txt \
- --metrics_json metrics.json
- ```
- 参数说明:
- + --infer_results: 存放推理结果的目录路径
- + --anno_file: 标签文件路径
- + --metrics_json: 指定一个json文件用于保存指标信息。
-
- 运行成功后,程序会将各top1~top5的正确率记录在 metrics.json 文件中,可执行以下命令查看:
- ```
- python -m json.tool metrics.json
- ```
-
-
-----
-# 性能&精度
-
-在Atlas设备上,OM模型的精度为 **{Top1@Acc=77.31%, Top5@Acc=93.46%}**。
-
-| 芯片型号 | BatchSize | 数据集 | 精度 |
-| --------- | --------- | ----------- | --------------- |
-|Atlas| 128 | ILSVRC2012 | Top1Acc=78.06% Top5@Acc=93.81%
-
# 公网地址说明
代码涉及公网地址参考 public_address_statement.md
diff --git a/PyTorch/contrib/nlp/albert_ID0335_for_PyTorch/README.md b/PyTorch/contrib/nlp/albert_ID0335_for_PyTorch/README.md
index 2a99178c9a7d929fbf078bd5b3a8c6cc97d8e2a1..07de64d62b5cd134870d5dcda5e93b81dee1d122 100644
--- a/PyTorch/contrib/nlp/albert_ID0335_for_PyTorch/README.md
+++ b/PyTorch/contrib/nlp/albert_ID0335_for_PyTorch/README.md
@@ -200,285 +200,6 @@ Albert是自然语言处理模型,基于Bert模型修改得到。相比于Bert
无。
-
-
-# Albert模型-推理指导
-
-- [概述](#ZH-CN_TOPIC_0000001172161501)
-
- - [输入输出数据](#section540883920406)
-
-- [推理环境准备](#ZH-CN_TOPIC_0000001126281702)
-
-- [快速上手](#ZH-CN_TOPIC_0000001126281700)
-
- - [获取源码](#section4622531142816)
- - [准备数据集](#section183221994411)
- - [模型推理](#section741711594517)
-
-- [模型推理性能&精度](#ZH-CN_TOPIC_0000001172201573)
-
-- [配套环境](#ZH-CN_TOPIC_0000001126121892)
-
-
-# 概述
-
-ALBERT是BERT 的“改进版”,主要通过通过Factorized embedding parameterization和Cross-layer parameter sharing两大机制减少参数量,得到一个占用较小的模型,对实际落地有较大的意义,不过由于其主要还是减少参数,不影响推理速度。
-
- ```
- url=https://github.com/lonePatient/albert_pytorch
- branch=master
- commit_id=46de9ec
- ```
-
-## 输入输出数据
-
-- 输入数据
-
- | 输入数据 | 数据类型 | 大小 | 数据排布格式 |
- | -------- | -------- | ------------------------- | ------------ |
- | input_ids | INT64 | batchsize x seq_len | ND |
- | attention_mask | INT64 | batchsize x seq_len | ND |
- | token_type_ids | INT64 | batchsize x seq_len | ND |
-
- 说明:该模型默认的seq_len为128
-
-- 输出数据
-
- | 输出数据 | 大小 | 数据类型 | 数据排布格式 |
- | -------- | -------- | -------- | ------------ |
- | output | batch_size x class | FLOAT32 | ND |
-
-
-# 推理环境准备\[所有版本\]
-
-- 该模型需要以下插件与驱动
-
- **表 1** 版本配套表
-
-| 配套 | 版本 | 环境准备指导 |
-| ------------------------------------------------------------ | ------- | ------------------------------------------------------------ |
-| 固件与驱动 | 1.0.17 | [Pytorch框架推理环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/pies) |
-| CANN | 6.0.RC1 | - |
-| Python | 3.7.5 | - |
-| PyTorch | 1.11.0 | - |
-| 说明:Atlas 300I Duo 推理卡请以CANN版本选择实际固件与驱动版本。 | \ | \ |
-
-# 快速上手
-可参考实现
-https://gitee.com/ascend/ModelZoo-PyTorch/tree/master/ACL_PyTorch/contrib/nlp/albert
-
-## 获取源码
-
-1. 获取源码。
-
- ```
- git clone https://gitee.com/ascend/ModelZoo-PyTorch.git # 克隆仓库的代码
- git checkout master # 切换到对应分支
- cd ACL_PyTorch/contrib/nlp/albert # 切换到模型的代码仓目录
- ```
-
-2. 安装依赖。
-
- ```
- pip3 install -r requirements_for_infer.txt
- git clone https://gitee.com/ascend/msadvisor && cd msadvisor && git checkout master
- cd auto-optimizer && python3 -m pip install .
- cd ../..
- ```
-
-2. 获取开源代码仓。
- 在已下载的源码包根目录下,执行如下命令。
-
- ```
- git clone https://github.com/lonePatient/albert_pytorch.git
- cd albert_pytorch
- git checkout 46de9ec
- patch -p1 < ../albert.patch
- cd ../
- ```
-
-## 准备数据集
-1. 获取原始数据集。
-
- 本模型采用[SST-2数据集](https://dl.fbaipublicfiles.com/glue/data/SST-2.zip),解压到 `albert_pytorch/dataset/SST-2`文件夹下
-
- 数据目录结构请参考:
- ```
- ├──SST-2
- ├──original/
- ├──dev.tsv
- ├──train.tsv
- ├──test.tsv
- ```
-
-2. 数据预处理。
-
- 数据预处理将原始数据集转换为模型输入的数据。该模型数据预处理需要加载模型,所以需要先下载权重文件:
-
- 获取预训练权重文件,并解压到albert_pytorch/prev_trained_model/albert_base_v2。
-
- 下载[训练好的模型](https://pan.baidu.com/s/1G5QSVnr2c1eZkDBo1W-uRA )(提取码:mehp )并解压到albert_pytorch/outputs/SST-2。
-
- 执行“Albert_preprocess.py”脚本,完成预处理。
-
- ```
- python3 Albert_preprocess.py --pth_dir=./albert_pytorch/outputs/SST-2/ --data_dir=./albert_pytorch/dataset/SST-2/ --save_dir ./preprocessed_data_seq128 --max_seq_length 128
- ```
- - 参数说明:
-
- --pth_dir: 模型权重所在路径
-
- --data_dir:原始数据集所在路径
-
- --save_dir: 预处理数据保存路径, 其中gt_label保存在 `${save_dir}/label.npy`
-
- --max_seq_length: 对应的seq长度,默认为128,支持:16/32/64/128
-
-
-## 模型推理
-
-1. 模型转换。
-
- 使用PyTorch将模型权重文件.pth转换为.onnx文件,再使用ATC工具将.onnx文件转为离线推理模型文件.om文件。
-
- 1. 获取权重文件。
-
- 数据预处理阶段已经完成模型权重下载。
-
- 2. 导出onnx文件。
-
- 1. 使用脚本导出onnx文件。
-
- 运行“Albert_pth2onnx.py”脚本。
-
- ```
- # pth转换为ONNX,此处以seq128/bs32为例
- python3 ./Albert_pth2onnx.py --batch_size=32 --pth_dir=./albert_pytorch/outputs/SST-2/ --data_dir=./albert_pytorch/datasets/SST-2/ --onnx_dir=./outputs/ --max_seq_length=128
- ```
-
- - 参数说明:
-
- --batch_size: 导出模型batchsize。
-
- --pth_dir:权重所在路径。
-
- --data_dir: 数据集所在路径。
-
- --onnx_dir: 输出onnx文件所在目录。
-
- --max_seq_length: 模型对应seq,默认为128,支持:16/32/64/128。
-
- 获得outputs/albert_seq128_bs32.onnx文件。
-
- 2. 优化ONNX文件。
-
- ```
- # 以seq128/bs32为例
- python3 -m onnxsim ./outputs/albert_seq128_bs32.onnx ./outputs/albert_seq128_bs32_sim.onnx
- python3 opt_onnx.py --input_file ./outputs/albert_seq128_bs32_sim.onnx --output_file ./outputs/albert_seq128_bs32_opt.onnx
- ```
-
- 3. 使用ATC工具将ONNX模型转OM模型。
-
- 1. 配置环境变量。
-
- ```
- source /usr/local/Ascend/ascend-toolkit/set_env.sh
- ```
-
- > **说明:**
- >该脚本中环境变量仅供参考,请以实际安装环境配置环境变量。详细介绍请参见《[CANN 开发辅助工具指南 \(推理\)](https://support.huawei.com/enterprise/zh/ascend-computing/cann-pid-251168373?category=developer-documents&subcategory=auxiliary-development-tools)》。
-
- 2. 执行命令查看芯片名称($\{chip\_name\})。
-
- ```
- npu-smi info
- ```
-
- 3. 执行ATC命令。
- ```
- # 以seq128/bs32为例
- atc --input_format=ND --framework=5 --model=./outputs/albert_seq128_bs32_opt.onnx --output=./outputs/albert_seq128_bs32 --log=error --soc_version=${chip_name} --input_shape="input_ids:32,128;attention_mask:32,128;token_type_ids:32,128" --optypelist_for_implmode="Gelu" --op_select_implmode=high_performance
- ```
-
- - 参数说明:
-
- - --model:为ONNX模型文件。
- - --framework:5代表ONNX模型。
- - --output:输出的OM模型。
- - --input\_format:输入数据的格式。
- - --input\_shape:输入数据的shape。
- - --log:日志级别。
- - --soc\_version:处理器型号。
- - --optypelist_for_implmode:需要指定精度模式的算子。
- - --op_select_implmode:特定算子需要采取的精度模式。
-
- 运行成功后生成albert_seq128_b32.om模型文件。
-
- 对于`seq16`对应的模型,ATC命令有所区别,如下:
-
- ```
- # 以seq16/bs64为例
- atc --input_format=ND --framework=5 --model=./outputs/albert_seq16_bs64_opt.onnx --output=./outputs/albert_seq16_bs64 --log=error --soc_version=${chip_name} --input_shape="input_ids:64,16;attention_mask:64,16;token_type_ids:64,16" --op_precision_mode=precision.ini
- ```
-
- - 额外参数说明:
-
- - --op_precision_mode:算子精度模式配置输入。
-
-2. 开始推理验证。
-
- 1. 安装ais_bench推理工具。
-
- 请访问[ais_bench推理工具](https://gitee.com/ascend/tools/tree/master/ais-bench_workload/tool/ais_bench)代码仓,根据readme文档进行工具安装。
-
- 2. 执行推理。
-
- ```
- # 以bs32为例
- python3 -m ais_bench --model outputs/albert_seq128_bs32.om --input ./preprocessed_data_seq128/input_ids,./preprocessed_data_seq128/attention_mask,./preprocessed_data_seq128/token_type_ids --output results --output_dirname seq128_bs32 --outfmt NPY --batch_size 32
- ```
- - 参数说明:
-
- - --model:om文件路径。
- - --input:输入文件。
- - --output:输出目录。
- - --output_dirname:输出文件名。
- - --device:NPU设备编号。
- - --outfmt: 输出数据格式。
- - --batchsize:推理模型对应的batchsize。
-
-
- 推理后的输出默认在当前目录outputs/seq128_bs32下。
-
- 3. 精度验证。
-
- 调用Albert_postprocess.py脚本与数据集标签比对,获得Accuracy数据。
-
- ```
- python3 Albert_postprocess.py --result_dir results/seq128_bs32 --label_path preprocessed_data_seq128/label.npy
- ```
-
- - 参数说明:
-
- --result_dir:生成推理结果所在路径。
-
- --label_path:GT label文件所在路径。
-
-
-# 模型推理性能&精度
-
-seq128对应的精度性能如下:
-
-精度:
-
-| device | ACC(seq128) |
-|---------------------|-------------|
-| 基准 | 92.8% |
-| 910 | 92.8% |
-| 910(batchsize=872) | 91.2% |
-
# 公网地址说明
代码涉及公网地址参考 public_address_statement.md