本文分享自华为云社区《昇腾 CANN YOLOV8 和 YOLOV9 适配》,作者:jackwangcumt。
1 概述
华为昇腾 CANN YOLOV8 推理示例 C++样例 , 是基于Ascend CANN Samples官方示例中的sampleYOLOV7进行的YOLOV8适配。一般来说,YOLOV7模型输出的数据大小为[1,25200,85],而YOLOV8模型输出的数据大小为[1,84,8400],因此,需要对sampleYOLOV7中的后处理部分进行修改,从而做到YOLOV8/YOLOV9模型的适配。因项目研发需要,公司购置了一台 Atlas 500 Pro 智能边缘服务器, 安装的操纵体系为Ubuntu 20.04 LTS Server,并按照官方说明文档,安装的Ascend-cann-toolkit_7.0.RC1_linux-aarch64.run等软件。详细可以参考别的一篇博文【Atlas 500 Pro 智能边缘服务器推理环境搭建】,这里不再赘述。
2 YOLOV8模型准备
在进行YOLOV8模型适配工作之前,起首需要获取YOLOV8的模型文件,这里以官方的 YOLOV8n.pt模型为例,在Windows操纵体系上可以安装YOLOV8环境,并实行如下python脚本(pth2onnx.py)将.pt模型转化成.onnx模型:- import argparse
- from ultralytics import YOLO
- def main():
- parser = argparse.ArgumentParser()
- parser.add_argument('--pt', default="yolov8n", help='.pt file')
- args = parser.parse_args()
- model = YOLO(args.pt)
- onnx_model = model.export(format="onnx", dynamic=False, simplify=True, opset=11)
- if __name__ == '__main__':
- main()
复制代码 详细的YOLOV8环境搭建步骤,可以参考 https://github.com/ultralytics/ultralytics 网站。当成功实行后,会生成yolov8n.onnx模型。输出内容示例如下所示:
[code](base) I:\yolov8\Yolov8_for_PyTorch>python pth2onnx.py --pt=yolov8n.ptUltralytics YOLOv8.0.229
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |