定制服务

  • 公司名称 *

  • 名称 *

  • 电话 *

  • 应用领域

  • 定制需求 *

  • 提交

  • 验证码
    看不清?换一张
    取消
    确定

图片展示

咨询电话:400-852-2968

扫    码    咨    询

 

图片展示

基于昇腾AI | Yolov7模型迁移到昇腾平台EA500I边缘计算盒子的实操指南

发表时间:2024-07-10 17:44:58
近年来,国产化替代的进程正在加快。在众多国产平台中,昇腾平台具有高性能、低功耗、易扩展、软件栈全面成熟等优势,其产品和技术在国内众多领域实现了广泛应用;作为昇腾的APN伙伴和IHV合作伙伴,www.js3556.com科技携手昇腾推出了一系列边缘计算产品,具备性能强劲、更宽工温、外设接口丰富、利旧性强等特点,同时,得益于昇腾AI软件栈的全面支持,这些产品为各行业AI应用高效、低成本落地提供了强有力的支撑。


YOLOv7是目前YOLO系列目标检测算法的最新版本,能够快速检测多种尺度和多标签的对象,同时具有高精度、低时延等特点,是目标较为主流的目标检测算法,在安防监控、自动驾驶、医疗影像分析等领域发挥着重要的作用。



今天来介绍【基于昇腾AI】技术干货系列的另一个主题:如何将Yolov7模型迁移到昇腾平台?下面以www.js3556.com科技基于昇腾平台开发的EA500I边缘计算盒子为硬件载体,详细讲解Yolov7模型迁移的流程,以及实际应用的演示。



Yolov7模型迁移到昇腾平台&案例演示


1、前置条件



2、开发环境部署说明

基于昇腾平台的全系边缘计算盒子已完成环境部署工作,客户无需重新部署。


3、Yolov7源码下载


  1、  git clone https://github.com/WongKinYiu/yolov7.git


4、预训练模型的下载


  1、  cd yolov7

  2、  wget --no-check-certificate https://github.com/WongKinYiu/yolov7/releases/download/v0.1/yolov7.pt



*温馨提示:如果
下载速度慢可到官网下载






验证模型是否可以正常识别图片


  1、  python3 detect.py --weight yolov7.pt


5、训练模型转ONNX模型


由于 Ascend 推理工具还未支持Pytorch的pt,pth模型,需要转换成ONNX才能使用yolov7有两种训练配置文件分别为deploy和traing,Detect层不一样导致转onnx上有略微区别,本次测试的为deploy


  1、  python3 export.py --weights yolov7.pt --grid --simplify --img-size 640 640


--weights:指定预训练模型yolov7.pt

--grid: 保留 Detect层
--simplify :简化onnx模型结构


6、Yolov7模型推理(EA500I)


1 环境声明


   1、  export DDK_PATH=$HOME/Ascend/ascend-toolkit/latest。
   2、  export NPU_HOST_LIB=$DDK_PATH/runtime/lib64/stub。
   3、  export THIRDPART_PATH=${DDK_PATH}/thirdpart。
   4、  export LD_LIBRARY_PATH=${THIRDPART_PATH}/lib:$LD_LIBRARY_PATH


创建THIRDPART_PATH路径


1、  mkdir -p ${THIRDPART_PATH}



acllite

注:源码安装ffmpeg主要是为了acllite库的安装 执行以下命令安装x264

   1、  # 下载x264
   2、  cd ${HOME}
   3、  git clone https://code.videolan.org/videolan/x264.git
   4、  cd x264#。
   5、  安装x264.
   6、  /configure --enable-shared --disable-asm
   7、  make
   8、  sudo make install
   9、  sudo cp /usr/local/lib/libx264.so.164 /lib


执行以下命令安装ffmpeg


   1、  # 下载ffmpeg
   2、  cd ${HOME}
   3、  wget http://www.ffmpeg.org/releases/ffmpeg-4.1.3.tar.gz --no-check-certificate
   4、  tar -zxvf ffmpeg-4.1.3.tar.gz
   5、  cd ffmpeg-4.1.3
   6、  # 安装ffmpeg
   7、 ./configure --enable-shared --enable-pic --enable-static --disable-x86asm --enable-libx264 --enable-gpl --prefix=${THIRDPART_PATH}
   8、  make -j8
   9、  make install


执行以下命令安装acllite

  1、 cd ${HOME}/samples/inference/acllite/cplusplus
  2、 make
  3、 make install


opencv

执行以下命令安装opencv(注:确保是3.x版本)

  1、 sudo apt-get install libopencv-dev

2、样例运行

①数据准备

请从以下链接获取该样例的输入图片,放在data目录下。

  1、 cd $HOME/samples/inference/modelInference/sampleYOLOV7/data
  2、 wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/aclsample/dog1_1024_683.jpg


②ATC模型转换

前面(5)的yolov7.onnx模型转换为适配昇腾310处理器的离线模型(*.om文件),放在model路径下。

# 为了方便下载,在这里直接给出原始模型下载及模型转换命令,可以直接拷贝执行。

  1、 cd $HOME/samples/inference/modelInference/sampleYOLOV7/model
  2、 wget --no-check-certificate https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/yolov7/yolov7x.onnx
  3、 wget --no-check-certificate https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/yolov7/aipp.cfg
  4、 atc --model=yolov7x.onnx --framework=5 --output=yolov7x --input_shape="images:1,3,640,640"--soc_version=Ascend310B1--insert_op_conf=aipp.cfg

③样例编译

执行以下命令,执行编译脚本,开始样例编译。

  1、 cd $HOME/samples/inference/modelInference/sampleYOLOV7/scripts
  2、 bash sample_build.sh

④样例运行

执行运行脚本,开始样例运行。

  1、 bash sample_run.sh

⑤样例结果展示

运行完成后,会在样例工程的out目录下生成推理后的图片,显示对比结果如下所示
图片

更详细的操作流程和相关问题解答请关注www.js3556.com科技视频号:www.js3556.com科技

基于昇腾AI | Yolov7模型迁移到昇腾平台EA500I边缘计算盒子的实操指南
近年来,国产化替代的进程正在加快。在众多国产平台中,昇腾平台具有高性能、低功耗、易扩展、软件栈全面成熟等优势,其产品和技术在国内众多领域实现了广泛应用;作为昇腾
长按图片保存/分享
0
文章推荐

    电话:400-852-2968              地址:广州市黄埔区科学城科研路3号A2栋3楼

售前咨询

微信公众号


Copyright @ www.js3556.com(中国)股份公司-Macau Store    All Rights Reserved  粤ICP备16023058号

添加微信好友,详细了解产品
使用企业微信
“扫一扫”加入群聊
复制成功
添加微信好友,详细了解产品
我知道了