ppq-xs / config /readme.md
jounery-d's picture
Update config/readme.md
1934440 verified

模型转换说明:

1、环境准备(镜像版或源码版):

*docker镜像版安装:w4a8quant-1.7.6.tar.gz

*源码版安装:ppq-xs-1.7.6 (pip -r requirements.txt)

2、模型从.pt转.onnx:

yolov5系类参考脚本:

https://github.com/ultralytics/yolov5/blob/master/export.py

yolov8/yolov11系类参考脚本:

https://github.com/ultralytics/ultralytics/blob/main/tests/test_exports.py

3、模型从.onnx转换到.axmodel

模型配置文件(通用):

config/config_spec.yaml

模型及量化数据准备:

准备量化图片(建议使用训练的图片数据10~100张),将图片路径保存为文件列表filelist.txt 修改配置文件如下:

data: 
  path: filelist.txt   #quantize calibration dataset,only support images list now. 

准备onnx模型:

修改配置文件模型路径:

model: 
  path: deploy.onnx    #input model file path. type: string. required: true.

修改配置文件模型信息,如下:

  input_shape:   # onnx model input shape
  - 1
  - 3
  - 640
  - 640
  mean: 
  - 0
  std: 
  - 255

修改生成axmodel文件名,如下:

deploy:
    NPUDeploy: true   # enable generate axmodel
    export: true      # enable generate quant model
    output_bin_name: deploy.axmodel  #rename output axmodel. type: string. required: false. default: compiled.axmodel.

config修改完成后,转换命令如下:

python app/ppq-xs/Helium/myes.py --config config/config_spec.yaml 

4、板端运行sample, 目前提供yolov5、yolov8两个模型参考示例

samples/demo_yolov5
samples/demo_yolov8

该示例可以直接运行并绘制出目标框,对用户自己的模型,需修改如下地方:

修改模型位置,替换该目录下的模型:

/data/model/deploy.axmodel

修改模型检测类别数:

文件位置:src/detech.h,修改如下:

/***************************************************************************************************
* 宏定义
***************************************************************************************************/
#define DET_LABEL_NUM (80)  // 对应类别数

修改模型输入shape:

文件位置:xpu_infer.cpp,修改如下:

static int gXpuTestNetWidth  = 640; // 网络宽度
static int gXpuTestNetHeight = 640; // 网络高度

修改完成后,板端加载ko驱动

运行目录下run.sh即可