一、yolov8的python实现的环境搭建
#通过pip安装
pip install ultralytics#通过git克隆GitHub仓库
git clone <https://github.com/ultralytics/ultralytics.git>
cd ultralytics
#安装依赖
pip install -r requirements.txt#执行推理
yolo predict model=./yolov8n.pt source=/home/你的用名/ultralytics/ultralytics/assets/bus.jpg
- 推理结果(如上图保存在runs/detect/predict)
至此。已经完成了yolov8的安装。
二、python 环境的trt的安装
# 创建TensorRT Python环境
cd /path/to/TensorRT-x.x.x.x/python
# 如果你使用的是Python 3
sudo pip3 install tensorrt-*-cp3x-none-linux_x86_64.whl
# 如果你使用的是Python 2
sudo pip2 install tensorrt-*-cp2x-none-linux_x86_64.whl
# 注意:替换上面的文件名中的 x.x.x.x 为你下载的TensorRT版本号,cp3x 或 cp2x 替换为你的Python版本。
# 验证安装
python -c "import tensorrt; print(tensorrt.__version__)"
三、yolov8的基于python的tensorrt的推理
工程的链接:GitHub - triple-Mu/YOLOv8-TensorRT: YOLOv8 using TensorRT accelerate !
推理的原理:pt--》onnx--》engine 备注:转换必须按照该工程的模型转换方法转换,否则会导致推理失败。
3.1 将 pt转换成onnx
python3 export-det.py \
--weights yolov8s.pt \
--iou-thres 0.65 \
--conf-thres 0.25 \
--topk 100 \
--opset 11 \
--sim \
--input-shape 1 3 640 640 \
--device cuda:0
3.2 将onnx转换成engine
python3 build.py \
--weights yolov8s.onnx \
--iou-thres 0.65 \
--conf-thres 0.25 \
--topk 100 \
--fp16 \
--device cuda:0
或者:
/usr/src/tensorrt/bin/trtexec \
--onnx=yolov8s.onnx \
--saveEngine=yolov8s.engine \
--fp16
3.3 使用tensorrt进行推理
python3 infer-det.py \
--engine yolov8s.engine \
--imgs data \
--show \
--out-dir outputs \
--device cuda:0
推理结果如图所示: