Orin运行YoloV8-TensorRT

Orin运行YoloV8-TensorRT

以下内容建立在Orin已经能正确运行YoloV8的情况下。

安装TensorRT

Jetpack已经安装好了TensorRT,在anaconda虚拟环境对应文件夹建立软连接即可(注意:“/root/anaconda3/envs/torch3.8/lib/python3.8/site-packages/”为你的anaconda以及所使用虚拟环境的具体位置,要根据实际情况进行修改!!!):

sudo ln -s /usr/lib/python3.8/dist-packages/tensorrt* /root/anaconda3/envs/torch3.8/lib/python3.8/site-packages/

在虚拟环境测试一下,运行如下指令, 若出现版本号,则成功::

python -c "import tensorrt;print(tensorrt.__version__)"

安装YoloV8-TensorRT

输入以下命令:

git clone https://github.com/triple-Mu/YOLOv8-TensorRT.git
cd YOLOv8-TensorRT
pip install -r requirements.txt

导出ONNX模型

ultralytics有导出onnx模型的API,准备yolov8权重文件,放置在export-det.py同一目录下,输入以下命令,这一步尽量在PC端执行:

python3 export-det.py \
--weights best.pt \
--iou-thres 0.45 \
--conf-thres 0.25 \
--topk 100 \
--opset 11 \
--sim \
--input-shape 1 3 640 480 \
--device cuda:0

所有参数的描述

  • --weights : yolov8权重文件。
  • --iou-thres :NMS的IOU阈值。
  • --conf-thres : NMS的置信阈值。
  • --topk : 检测框的最大数量。
  • --opset : ONNX opset版本, 默认为11。
  • --sim : 是否简化你的ONNX模型。
  • --input-shape :输入模型的形状,应该是 4 个维度。
  • --device : 您导出的 CUDA 设备引擎。

通过Trtexec工具导出Engine

YoloV8也提供了Engine导出脚本,但是推荐使用Trtexec,这一步必须在Orin上执行,执行时间较长,所以检查导出的ONNX满足推理要求:

# Using trtexec tools for export engine
/usr/src/tensorrt/bin/trtexec \
--onnx=best.onnx \
--saveEngine=best.engine

使用C++推理

YoloV8-TensorRT提供了demo,在目录csrc/jetson/detect。根据需要修改 main.cpp中的 CLASS_NAMESCOLORS,然后编译

export root=${PWD}
cd src/jetson/detect
mkdir build
cmake ..
make
mv yolov8 ${root}
cd ${root}

使用:

# infer image
./yolov8 yolov8s.engine data/bus.jpg
# infer images
./yolov8 yolov8s.engine data
# infer video
./yolov8 yolov8s.engine data/test.mp4 # the video path
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值