转onnx模型
在 安装好
pip install onnxruntime-gpu
pip install onnx onnxconverter-common
出现 No module named 'cpuinfo' 错误,通过安装:
pip install py-cpuinfo 解决该问题。
import sys
# 即 ultralytics文件夹 所在绝对路径
sys.path.append(r"E:\JupyterNotebook\_02yolov8seg\xiaoJi_yolov8_seg/")
from ultralytics import YOLO
#采用源码训练、验证、预测、导出模型,不需要依赖安装ultralytics
# Load a model
model = YOLO(r"E:\JupyterNotebook\_02yolov8seg\xiaoJi_yolov8_seg\weights\segexp11best.pt") # load a pretrained model (recommended for training)
success = model.export(format="onnx") # export the model to ONNX format #转换为onnx模型
print('model.export success')
最后导出的onnx模型在 你原来的 model 目录下
在导出 onnx模型的时候,还可以加相关的参数,控制 导出 的onnx的一些性质,参数解释在官网是是解释最权威的,如下:
Python - Ultralytics YOLOv8 Docs
如何加参数,比如加一个 dynamic=True ,参考如下:
model.export(format='onnx', dynamic=True)
转TensorRT模型
怎么转,推荐 点击我的另一篇博文:TensorRT_Win10上WSL实践篇
2、下载/更新CUDNN
CUDNN跟CUDA一样,也是可以存在多个版本,关键是要把对应的文件复制进/usr/local/cuda
下的文件夹里,从而决定用哪个,按照一下命令执行即可
tar -xvf cudnn-linux-x86_64-8.x.x.x_cudaX.Y-archive.tar.xz
sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
另外,推荐一个 博主的 TRT部署 框架,对yolov8支持友好
- 支持yolov8前处理、后处理、推理CUDA加速(即:全部在GPU端完成)
- 和yolov8官方效果一致(精度对齐)
- python训练的pytorch模型,如何使用c++调用并使用TensorRT加速? - 格局打开的回答 - 知乎
- https://www.zhihu.com/question/385382873/answer/2835535421