yolov8 模型部署

1. 模型部署

如果要用TensorRT部署YOLOv8,需要先使用下面的命令将模型导出为onnx格式:

yolo export model=yolov8n.pt format=onnx opset=12

YOLOv8的3个检测头一共有80x80+40x40+20x20=8400个输出单元格,每个单元格包含x,y,w,h这4项再加80个类别的置信度总共84项内容,所以通过上面命令导出的onnx模型的输出维度为1x84x8400。

在这里插入图片描述
这样的通道排列顺序有个问题,那就是后处理的时候会造成内存访问不连续。为了解决这个问题,我们可以修改一下代码,具体做法是把ultralytics/nn/modules.py文件中的421行做如下修改,交换一下张量y的通道顺序:
在这里插入图片描述
修改代码后需要执行前面的安装命令pip install -e '.[dev]'使代码生效。这样修改后再执行上面的模型导出命令,模型的输出维度变为1x8400x84。
在这里插入图片描述

参考:YOLOv8初体验:检测、跟踪、模型部署
参考:
参考:
参考:

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐