1. 从icraft-modelzoo下载yolov5_7.0示例工程


  • TAG为Icraft版本

  • 下载命令
git clone -b v3.33.1 https://www.modelscope.cn/AIBS/yolov5_7.0.git

  • 下载的yolov5_7.0文件夹包含了yolov5工程源码、权重、导出的torchscript模型、Icraft编译配置文件以及运行时代码及配套文档,可根据情况进行开发验证。
  • 本文按照标准流程进行每一步的讲解。

2. 框架模型训练&推理验证

  • 对于模型训练,本本不做介绍,参考网上相关教程,结合应用场景,准备数据集,修改神经网络进行训练即可。训练得到权重后,即可开始嵌入式部署。
  • 本章节用的是yolov5开源的权重yolov5s.pt,训练的数据集是COCO,类别80。
  • Yolov5s.pt通过netron可视化效果如下,只包含了模型算子和对应参数,不包含模型结构,该模型不可作为Icraft输入。

  • 按照readme进行yolov5s.pt的推理效果验证,该环节需要依赖深度学习环境,环境搭建方式很多,可参考以下链接亦可自行搭建。

[FMQL30TAI开发]搭建深度学习环境,anaconda安装详细教程(windows系统/ubuntu20.04-aarch64系统)-CSDN博客

  • 运行./1_scripts/0_infer.py脚本,目的是加载yolov5s.pt,验证框架模型的推理效果。

3. 框架模型导出Torchscript/ONNX&推理验证

  • Icraft要求输入模型格式为ONNX或者Torchscript,因此需要将框架模型导出ONNX或Torchsript格式。
  • Yolov5官方源码中,提供了export.py脚本,运行效果如下:

  • 通过netron可视化效果如下:

  • Yolov5_7.0_icraft目录下./1_scripts/1_save.py脚本,对导出的模型结构做了修改,确保导出的模型结构符合Icraft适配DetPost模块的要求。对于非YOLO系列模型并无此要求,按照通用方法,导出ONNX即可,只要ONNX在Icraft编译通过,即可上板部署。
  • 运行./1_scripts/1_save.py脚本,导出模型用于Icraft编译输入。

  • 通过netron可视化yolov5s_640x640.pt

  • 运行./1_scripts/2_save_infer.py脚本,验证导出模型的正确性。

4. ONNX/Torchscript通过icraft编译转换生成json&raw

  • 工程中已提供配置好的toml文件、输入模型和量化校准集,本章节不做详细介绍。
  • 编译模型:
icraft compile ./config/ZG/yolov5s_int8.toml

5. 运行yolov5_c++_仿真(windows系统)

  • Windows系统需要安装icraft相关环境和visual studio 2022。
  • 下载的工程中,以及完成了c++应用程序相关工程的构建,直接运行编译命令:
cd yolov5_7.0_icraft/3_deploy
mkdir build_win 
cd build_win
cmake .. 
cmake --build . --config Release

  • 生成的可执行文件,即支持仿真也支持socket模式,由yaml文件进行配置

  • 配置yaml文件参数

  • 运行yolov5_c++仿真
.\Release\yolov5s_psin.exe ..\cfg\yolov5s_ZG_int8_demo.yaml

  • 用visual studio打开工程,运行仿真,便于修改代码和调试

  • 运行效果

6. 运行yolov5_c++_socket模式(windows系统)

  • Socket模式:上位机与开发板通过网线连接,上位机运行应用程序,开发板启动icraft-serve服务,上位机将模型和数据通过socket协议传输到开发板进行计算。
  • 开发板启动icraft-serve

  • 修改yaml文件,配置为socket模式

  • 运行程序

  • 开发板打印信息情况:

7. 运行yolov5_c++_psin模式

  • 将第5节修改的yaml指定目录改回传参数的形式。

  • 进入交叉编译环境(docker)

  • 编译成功:

  • 修改yaml配置:

  • 上传工程文件到板载系统某个路径

  • 运行程序(需要root权限)

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐