jetson Orin nano部署yolov8 代码一
环境配置
基本的torch、torchvision、tensorrt环境配置好
首先按照jetson Orin nano 部署 环境配置,将基本的pytorch、torchvision、tensorrt环境配置好。
github上代码
yolov8部署github代码——TensorRT-For-YOLO-Series
环境的二次配置
需要按照github上的readme.md文档进行再次部署,主要是需要安装pycuda,
pip install --upgrade setuptools pip --user
pip install nvidia-pyindex
pip install --upgrade nvidia-tensorrt
pip install pycuda
pip install cuda-python
主要是运行pip install pycuda
,我没有运行pip install --upgrade nvidia-tensorrt 和 pip install cuda-python,我运行了pip install --upgrade setuptools pip --user 和 pip install nvidia-pyindex,可以先不运行这两个命令,先只运行pycuda
的命令行,看看代码可不可以运行,如果不能运行,再将上面两行命令代码运行一下。
在上面的基础上,还需要安装ultralytics和onnx库
pip install ultralytics
pip install onnx==1.12.0
代码运行
下载yolov8n.pt模型权重文件
wget https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt
将yolov8n.pt转化为yolov8n.onnx
yolo mode=export model=yolov8n.pt format=onnx dynamic=False
将yolov8n.onnx转化为yolov8n.trt
不要直接使用trtexec将yolov8n.onnx转化为yolov8n.trt,这样运行trt.py文件会出现报错,即不要使用下面的命令,将yolov8n.onnx转化为yolov8n.trt
trtexec --onnx=yolov8n.onnx --saveEngine=yolov8n.trt
按照github上的readme.md中的方式将yolov8n.onnx转化为yolov8n.trt,github上的命令行是有一点错误的,正确的命令行如下:
python export.py -o yolov8n.onnx -e yolov8n.trt --end2end --v8 -p fp32
预测图片和视频
运行图片
python trt.py -e yolov8n.trt -i src/1.jpg -o yolov8n-1.jpg --end2end
图片结果展示
运行视频
python trt.py -e yolov8n.trt -v src/video1.mp4 --end2end
视频结果帧展示