Files
FastDeploy/examples/vision/detection/yolov5/sophgo/README_CN.md
charl-u 1135d33dd7 [Doc]Add English version of documents in examples/ (#1042)
* 第一次提交

* 补充一处漏翻译

* deleted:    docs/en/quantize.md

* Update one translation

* Update en version

* Update one translation in code

* Standardize one writing

* Standardize one writing

* Update some en version

* Fix a grammer problem

* Update en version for api/vision result

* Merge branch 'develop' of https://github.com/charl-u/FastDeploy into develop

* Checkout the link in README in vision_results/ to the en documents

* Modify a title

* Add link to serving/docs/

* Finish translation of demo.md

* Update english version of serving/docs/

* Update title of readme

* Update some links

* Modify a title

* Update some links

* Update en version of java android README

* Modify some titles

* Modify some titles

* Modify some titles

* modify article to document

* update some english version of documents in examples

* Add english version of documents in examples/visions

* Sync to current branch

* Add english version of documents in examples
2023-01-06 09:35:12 +08:00

2.7 KiB
Raw Blame History

English | 简体中文

YOLOv5 SOPHGO部署示例

支持模型列表

YOLOv5 v6.0部署模型实现来自YOLOv5,和基于COCO的预训练模型

准备YOLOv5部署模型以及转换模型

SOPHGO-TPU部署模型前需要将Paddle模型转换成bmodel模型具体步骤如下:

模型转换example

下面以YOLOv5s为例子,教大家如何转换ONNX模型到SOPHGO-TPU模型

下载YOLOv5s模型

下载ONNX YOLOv5s静态图模型

wget https://bj.bcebos.com/paddlehub/fastdeploy/yolov5s.onnx

导出bmodel模型

以转化BM1684x的bmodel模型为例子我们需要下载TPU-MLIR工程,安装过程具体参见TPU-MLIR文档

1. 安装

docker pull sophgo/tpuc_dev:latest

# myname1234是一个示例也可以设置其他名字
docker run --privileged --name myname1234 -v $PWD:/workspace -it sophgo/tpuc_dev:latest

source ./envsetup.sh
./build.sh

2. ONNX模型转换为bmodel模型

mkdir YOLOv5s && cd YOLOv5s

# 在该文件中放入测试图片同时将上一步下载的yolov5s.onnx放入该文件夹中
cp -rf ${REGRESSION_PATH}/dataset/COCO2017 .
cp -rf ${REGRESSION_PATH}/image .
# 放入onnx模型文件yolov5s.onnx

mkdir workspace && cd workspace

# 将ONNX模型转换为mlir模型其中参数--output_names可以通过NETRON查看
model_transform.py \
    --model_name yolov5s \
    --model_def ../yolov5s.onnx \
    --input_shapes [[1,3,640,640]] \
    --mean 0.0,0.0,0.0 \
    --scale 0.0039216,0.0039216,0.0039216 \
    --keep_aspect_ratio \
    --pixel_format rgb \
    --output_names output,350,498,646 \
    --test_input ../image/dog.jpg \
    --test_result yolov5s_top_outputs.npz \
    --mlir yolov5s.mlir

# 将mlir模型转换为BM1684x的F32 bmodel模型
model_deploy.py \
  --mlir yolov5s.mlir \
  --quantize F32 \
  --chip bm1684x \
  --test_input yolov5s_in_f32.npz \
  --test_reference yolov5s_top_outputs.npz \
  --model yolov5s_1684x_f32.bmodel

最终获得可以在BM1684x上能够运行的bmodel模型yolov5s_1684x_f32.bmodel。如果需要进一步对模型进行加速可以将ONNX模型转换为INT8 bmodel具体步骤参见TPU-MLIR文档

其他链接