update install discription
This commit is contained in:
parent
123f7381bd
commit
29b52e7aad
|
@ -0,0 +1,158 @@
|
|||
# 快速入门
|
||||
|
||||
本文档以 onnx 格式的 yolov5s 为例,演示如何快速安装Nertans 并使用 Netrans 量化、编译模型并生成 nbg 文件。
|
||||
|
||||
## 系统环境
|
||||
|
||||
- Linux操作系统,推荐 Ubuntu 20.04 或 Debian12
|
||||
- Python 3.8
|
||||
- RAM 至少 8GB
|
||||
|
||||
## 安装Netrans
|
||||
创建 conda 环境 .
|
||||
```bash
|
||||
conda create -n netrans python=3.8 -y
|
||||
conda activate netrans
|
||||
```
|
||||
|
||||
安装 Netrans .
|
||||
```bash
|
||||
mkdir -p ~/app
|
||||
cd ~/app
|
||||
git clone https://gitlink.org.cn/nudt_dsp/netrans.git
|
||||
```
|
||||
|
||||
安装 Netrans。
|
||||
```bash
|
||||
cd ~/app/netrans
|
||||
./setup.sh
|
||||
```
|
||||
## 使用 Netrans 编译 yolov5s 模型
|
||||
|
||||
进入工作目录
|
||||
|
||||
```bash
|
||||
cd ~/app/netrans/examples/onnx
|
||||
```
|
||||
|
||||
此时目录如下:
|
||||
|
||||
```
|
||||
onnx/
|
||||
├── README.md
|
||||
└── yolov5s
|
||||
├── 0.jpg
|
||||
├── dataset.txt
|
||||
└── yolov5s.onnx
|
||||
```
|
||||
|
||||
### 使用 netrans_cli 编译 yolov5s
|
||||
|
||||
#### 导入模型
|
||||
|
||||
```bash
|
||||
import.sh yolov5s
|
||||
```
|
||||
|
||||
该命令会在工程目录下生成包含模型信息的 .json 和 .data 数据文件。
|
||||
|
||||
此时 yolov5s 的目录结构如下
|
||||
```
|
||||
yolov5s/
|
||||
├── 0.jpg
|
||||
├── dataset.txt
|
||||
├── yolov5s.data
|
||||
├── yolov5s.json
|
||||
└── yolov5s.onnx
|
||||
```
|
||||
|
||||
#### 生成配置文件模板
|
||||
|
||||
配置文件定义输入数据前处理相关参数。Netrans预定义了配置文件模板生成脚本,用户需根据模型前处理参数对配置文件进行修改。
|
||||
|
||||
```bash
|
||||
config.sh yolov5s
|
||||
```
|
||||
|
||||
此时 yolov5s 的目录结构如下:
|
||||
```
|
||||
yolov5s/
|
||||
├── 0.jpg
|
||||
├── dataset.txt
|
||||
├── yolov5s.data
|
||||
├── yolov5s_inputmeta.yml
|
||||
├── yolov5s.json
|
||||
└── yolov5s.onnx
|
||||
|
||||
```
|
||||
根据 yolov5s 的前处理参数 ,修改 yml 中的 scale 为 0.003921568627。
|
||||
打开 ` yolov5s_inputmeta.yml ` 文件,修改第30-33行:
|
||||
```
|
||||
scale:
|
||||
- 0.003921568627
|
||||
- 0.003921568627
|
||||
- 0.003921568627
|
||||
|
||||
```
|
||||
|
||||
#### 量化模型
|
||||
生成 unit8 量化的量化参数文件。
|
||||
```bash
|
||||
quantize.sh yolov5s uint8
|
||||
|
||||
```
|
||||
此时 yolov5s 的目录结构如下:
|
||||
|
||||
```
|
||||
yolov5s/
|
||||
├── 0.jpg
|
||||
├── dataset.txt
|
||||
├── yolov5s_asymmetric_affine.quantize
|
||||
├── yolov5s.data
|
||||
├── yolov5s_inputmeta.yml
|
||||
├── yolov5s.json
|
||||
└── yolov5s.onnx
|
||||
```
|
||||
|
||||
#### 导出模型
|
||||
导出 unit8 量化的模型项目工程。
|
||||
|
||||
```bash
|
||||
export.sh yolov5s uint8
|
||||
```
|
||||
此时 yolov5s 的目录结构如下:
|
||||
|
||||
```
|
||||
yolov5s/
|
||||
├── 0.jpg
|
||||
├── dataset.txt
|
||||
├── wksp
|
||||
│ └── asymmetric_affine
|
||||
│ ├── BUILD
|
||||
│ ├── dump_core_graph.json
|
||||
│ ├── graph.json
|
||||
│ ├── main.c
|
||||
│ ├── makefile.linux
|
||||
│ ├── network_binary.nb
|
||||
│ ├── vnn_global.h
|
||||
│ ├── vnn_post_process.c
|
||||
│ ├── vnn_post_process.h
|
||||
│ ├── vnn_pre_process.c
|
||||
│ ├── vnn_pre_process.h
|
||||
│ ├── vnn_yolov5sasymmetricaffine.c
|
||||
│ ├── vnn_yolov5sasymmetricaffine.h
|
||||
│ ├── yolov5sasymmetricaffine.2012.vcxproj
|
||||
│ ├── yolov5s_asymmetric_affine.export.data
|
||||
│ └── yolov5sasymmetricaffine.vcxproj
|
||||
├── yolov5s_asymmetric_affine.quantize
|
||||
├── yolov5s.data
|
||||
├── yolov5s_inputmeta.yml
|
||||
├── yolov5s.json
|
||||
└── yolov5s.onnx
|
||||
```
|
||||
|
||||
### 使用 netrans_py 编译 yolov5s 模型
|
||||
|
||||
```bash
|
||||
example.py yolov5s -q uint8 -m 0 -s 0.003921568627
|
||||
```
|
Loading…
Reference in New Issue