- 安装
YOLO11
pip install ultralytics
- 建议同时从
GitHub
上 clone 或下载一份YOLO11
源码到本地; - 根据
GitHub
上YOLO11
的README
中的链接下载检测模型,如:yolo11s-seg.pt
; - 在本地
YOLO11
一级ultralytics
目录下,新建weights
目录,并且放入下载的yolo11s-seg.pt
模型
- 安装onnx相关库
pip install onnx==1.14.0
pip install onnxslim==0.1.34
- 导出onnx模型
- 可以在一级
ultralytics
目录下,新建export_onnx.py
文件 - 向文件中写入如下内容:
from ultralytics import YOLO
model = YOLO("./weights/yolo11s-seg.pt")
path = model.export(format="onnx", simplify=True, device=0, opset=12, dynamic=False, imgsz=640)
- 运行
python export_onnx.py
后,会在weights
目录下生成yolo11s-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 的推理结果都会保存到当前目录下