一、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的推理
推理的原理:pt--》onnx--》engine 备注:转换必须按照该工程的模型转换方法转换,否则会导致推理失败。
3.1 将 pt转换成onnx
python 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
python build.py --weights yolov8n.onnx --iou-thres 0.65 --conf-thres 0.25 --topk 100 --fp16
或者:
/usr/src/tensorrt/bin/trtexec \
--onnx=yolov8s.onnx \
--saveEngine=yolov8s.engine \
--fp16
3.3 使用tensorrt进行推理
python infer-det.py --engine yolov8n.engine --imgs data --show --out-dir outputs
推理结果如图所示: