您的位置:首页 > 教育 > 锐评 > 嵌入式开发流程_网页制作工具有_最新疫情消息_北京网站优化多少钱

嵌入式开发流程_网页制作工具有_最新疫情消息_北京网站优化多少钱

2025/4/19 8:21:33 来源:https://blog.csdn.net/weixin_45679938/article/details/142966255  浏览:    关键词:嵌入式开发流程_网页制作工具有_最新疫情消息_北京网站优化多少钱
嵌入式开发流程_网页制作工具有_最新疫情消息_北京网站优化多少钱

服务器配置如下:

CPU/NPU:鲲鹏 CPU(ARM64)+A300I pro推理卡
系统:Kylin V10 SP1【下载链接】【安装链接】
驱动与固件版本版本
Ascend-hdk-310p-npu-driver_23.0.1_linux-aarch64.run【下载链接】
Ascend-hdk-310p-npu-firmware_7.1.0.4.220.run【下载链接】
MCU版本:Ascend-hdk-310p-mcu_23.2.3【下载链接】
CANN开发套件:版本7.0.1【Toolkit下载链接】【Kernels下载链接】

测试om模型环境如下:

Python:版本3.8.11
测试YOLO系列:v5/6/7/8/9/10/11

专栏其他文章
Atlas800昇腾服务器(型号:3000)—驱动与固件安装(一)
Atlas800昇腾服务器(型号:3000)—CANN安装(二)
Atlas800昇腾服务器(型号:3000)—YOLO全系列om模型转换测试(三)
Atlas800昇腾服务器(型号:3000)—AIPP加速前处理(四)
Atlas800昇腾服务器(型号:3000)—YOLO全系列NPU推理【检测】(五)
Atlas800昇腾服务器(型号:3000)—YOLO全系列NPU推理【实例分割】(六)
Atlas800昇腾服务器(型号:3000)—YOLO全系列NPU推理【关键点】(七)
Atlas800昇腾服务器(型号:3000)—YOLO全系列NPU推理【跟踪】(八)

1 环境安装

1.1 miniconda安装

链接:https://docs.anaconda.com/miniconda/index.html
在这里插入图片描述

安装后,创建一个名yolo的环境【Python==3.8.11】:

# 注意:创建普通用户并进入用户再运行如下
# 选择一个一个可下载的文件目录,使用wget命令下载(回车)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh# 安装中:
# 1.一路enter(回车)下去,直到问yes,输入yes。
# 2.我使用默认路径/gdu/miniconda/ ,不更改的继续回车就好。
# 3.然后最后一个问是否写入路径,提示为No,建议输入yes(如果输入No了,需要自己去配置下地址)
bash Miniconda3-latest-Linux-aarch64.sh# 此时完成安装后没有在root用户前显示conda环境,输入
source ./bashrc# 创建python=3.8.11基础环境
conda create -n yolo python=3.8.11

换源参考:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/

1.2 安装ATC所需依赖库

注意:安装为ATC转换的必须依赖环境,下面操作在CANN中有在root上装,这里是新用户新环境,需再安装配置一次!!
第一次(直接装均成功):

conda activate yolopip install attrs cython decorator sympy cffi pyyaml pathlib2 psutil protobuf requests absl-py -i  https://pypi.tuna.tsinghua.edu.cn/simple

第二次(利用pip进行scipy安装,1.8.0也可以,会顺带把numpy一起安装,版本为1.22.4):

 pip install scipy==1.7.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

注意:安装完需source ~/bashrc才能生效!

# 1.进入运行环境yolo【普通用户】
conda activate yolo
# 2.激活atc【atc --help测试是否可行】
source ~/bashrc

2 om模型转换测试

2.1 静态onnx转换测试

注意:以下测试模型均为静态onnx!
YOLOv5测试:【检测/分割om均生成成功】

# 转换示例
atc --framework=5 --model=yolov5s.onnx --input_format=NCHW --input_shape="images:1,3,640,640" --output_type=FP32 --output=yolov5s --soc_version=Ascend310P3

YOLOv6测试:【检测/分割om均生成成功】

# 转换示例
atc --framework=5 --model=yolov6s.onnx --input_format=NCHW --input_shape="images:1,3,640,640" --output_type=FP32 --output=yolov6s --soc_version=Ascend310P3

YOLOv7测试:【检测om均生成成功】

# 转换示例
atc --framework=5 --model=yolov7.onnx --input_format=NCHW --input_shape="images:1,3,640,640" --output_type=FP32 --output=yolov7 --soc_version=Ascend310P3

YOLOv8测试:【检测/分割/关键点om均生成成功】

# 转换示例
atc --framework=5 --model=yolov8s.onnx --input_format=NCHW --input_shape="images:1,3,640,640" --output_type=FP32 --output=yolov8s --soc_version=Ascend310P3

YOLOv9测试:【检测om均生成成功】

# 转换示例
atc --framework=5 --model=yolov9s.onnx --input_format=NCHW --input_shape="images:1,3,640,640" --output_type=FP32 --output=yolov9s --soc_version=Ascend310P3

YOLOv10测试:【检测om生成成功,但出现算子告警】

# 转换示例
atc --framework=5 --model=yolov10s.onnx --input_format=NCHW --input_shape="images:1,3,640,640" --output_type=FP32 --output=yolov10s --soc_version=Ascend310P3

在这里插入图片描述

YOLOv11测试:【检测/分割/关键点om均生成成功】

atc --framework=5 --model=yolo11s.onnx --input_format=NCHW --input_shape="images:1,3,640,640" --output_type=FP32 --output=yolo11s --soc_version=Ascend310P3

成功显示如下:
在这里插入图片描述

YOLOv8s静态640*640耗时测试结果:
在这里插入图片描述

2.2 动态宽高onnx转换测试

(1)YOLOV8导出宽高动态ONNX
路径:ultralytics-main/ultralytics/engine/exporter.py
在这里插入图片描述
(2)生成宽高动态Om

atc --framework=5 --model=A_onnx/yolov8s_wh.onnx --output=A_om/yolov8s_wh --input_format=NCHW --input_shape="images:1,3,-1,-1" --dynamic_image_size "640,640;960,960;1024,1024;1280,1280;1536,1536;2048,2048" --soc_version=Ascend310P3

YOLOv8s动态宽高640*640耗时测试结果:【存在om尺度检查机制,推理速度更慢】
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com