当前位置: 首页 > article >正文

linux 下tensorrt的yolov8的前向推理(python 版本)的实现

一、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

推理结果如图所示: 


http://www.kler.cn/a/513387.html

相关文章:

  • 【Linux】多线程(一)
  • JavaScript笔记进阶篇01——作用域、箭头函数、解构赋值
  • Java 中的同步与并发工具类
  • JAVA-Exploit编写(8-10)--http-request库编写exp批量利用
  • 后端:MyBatis
  • Hive: Hive的优缺点,使用方式,判断Hive是否启动(jps),元数据的存储,Hive和Hadoop的关系
  • Elasticsearch 中,分片(Shards)数量上限?副本的数量?
  • PPT大纲:如何用python实现gitlab和jira的集成
  • 芝士AI(paperzz):最新AI论文、AI降重、AI降重工具,解决论文写作低效和AI率
  • axios的使用总结
  • Python的泛型(Generic)与协变(Covariant)
  • 总结研究ChatGPT提示词分享
  • 【人工智能】Python常用库-Keras:高阶深度学习 API
  • LabVIEW智能胎压监测
  • ARM-V9 CCA/RME QEMU环境搭建
  • 【leetcode 26】28.找出字符串中第一个匹配项的下标 | 实现 strStr()==❗不会❗==
  • Java数据结构——优先队列
  • 2025牛客寒假训练营1【代码】 A B D E G H J M
  • 线性回归笔记1-4
  • java依赖问题