- 安装
YOLOv8
pip install ultralytics- 建议同时从
GitHub上 clone 或下载一份YOLOv8源码到本地; - 根据
GitHub上YOLOv8的README中的链接下载检测模型,如:yolov8s-seg.pt; - 在本地
YOLOv8一级ultralytics目录下,新建weights目录,并且放入下载的yolov8s-seg.pt模型
- 安装onnx相关库
pip install onnx==1.12.0
pip install onnxsim==0.4.33- 导出onnx模型
- 可以在一级
ultralytics目录下,新建export_onnx.py文件 - 向文件中写入如下内容:
from ultralytics import YOLO
model = YOLO("./weights/yolov8s-seg.pt")
path = model.export(format="onnx", simplify=True, device=0, opset=12, dynamic=False, imgsz=640)- 运行
python export_onnx.py后,会在weights目录下生成yolov8s-seg.onnx
- Python库基本要求如下,大版本满足即可:
tensorrt==8.2.4.2
cuda-python==12.1.0
opencv-python==4.9.0.80如果基本要求已满足,可直接到后面的模型转换部分
- 如果是
Linux x86_64服务器上,建议使用docker
- 具体环境构建,可参考这个链接 构建TensorRT环境 的环境构建部分
- 如果是边缘设备,如:
Jetson Nano
- 烧录
Jetpack 4.6.1系统镜像,网上烧录镜像资料还是很多的,这里就不赘述了 Jetpack 4.6.1系统镜像原装环境如下:
| CUDA | cuDNN | TensorRT | OpenCV |
|---|---|---|---|
| 10.2 | 8.2 | 8.2.1 | 4.1.1 |
- 安装必要的 python 库
pip install cuda-python- 切换到当前项目目录下;
- 如果是自己数据集上训练得到的模型,记得更改
config.py中的相关配置; - 新建
onnx_model目录,并将已导出的onnx模型拷贝到onnx_model目录下 - 执行以下命令:
python main.py # 不存在trt模型时,会先构建trt模型然后推理;存在trt模型时,直接加载trt模型然后推理之后转换后的模型,以及首次 TensorRT 的推理结果都会保存到当前目录下
