YOLOv8-TensorRT 项目下载及安装教程
2024-12-09 11:19:16作者:瞿蔚英Wynne
1. 项目介绍
YOLOv8-TensorRT 是一个基于 TensorRT 加速的 YOLOv8 目标检测项目。该项目通过 TensorRT 优化 YOLOv8 模型的推理速度,使其在 NVIDIA GPU 上运行更加高效。YOLOv8 是 YOLO 系列模型的最新版本,具有更高的检测精度和更快的推理速度。
2. 项目下载位置
要下载 YOLOv8-TensorRT 项目,请使用以下命令:
git clone https://github.com/triple-Mu/YOLOv8-TensorRT.git
3. 项目安装环境配置
3.1 安装 CUDA
首先,确保你的系统已经安装了 CUDA。推荐使用 CUDA 11.4 或更高版本。你可以从 NVIDIA 官方网站下载并安装适合你系统的 CUDA 版本。
3.2 安装 TensorRT
接下来,安装 TensorRT。推荐使用 TensorRT 8.4 或更高版本。你可以从 NVIDIA 官方网站下载并安装适合你系统的 TensorRT 版本。
3.3 安装 Python 依赖
进入项目目录并安装所需的 Python 依赖:
cd YOLOv8-TensorRT
pip install -r requirements.txt
3.4 安装 ultralytics 包
为了支持 ONNX 导出或 TensorRT API 构建,需要安装 ultralytics 包:
pip install ultralytics
4. 项目安装方式
4.1 准备 PyTorch 权重
下载或准备你自己的 PyTorch 权重文件,例如 yolov8s.pt
或 yolov8s-seg.pt
。
4.2 导出 ONNX 模型
使用 ultralytics API 导出 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
4.3 构建 TensorRT 引擎
使用 TensorRT 的 ONNX Python API 构建引擎:
python3 build.py \
--weights yolov8s.onnx \
--iou-thres 0.65 \
--conf-thres 0.25 \
--topk 100 \
--fp16 \
--device cuda:0
5. 项目处理脚本
5.1 使用 Python 脚本进行推理
使用导出的 TensorRT 引擎进行图像推理:
python3 infer-det.py \
--engine yolov8s.engine \
--imgs data \
--show \
--out-dir outputs \
--device cuda:0
5.2 使用 C++ 进行推理
你也可以使用 C++ 进行推理。首先,进入 csrc/detect/end2end
目录并构建项目:
cd csrc/detect/end2end
mkdir -p build && cd build
cmake ..
make
mv yolov8 ../../..
cd ../../..
然后,使用以下命令进行推理:
./yolov8 yolov8s.engine data/bus.jpg
通过以上步骤,你已经成功下载并安装了 YOLOv8-TensorRT 项目,并可以使用 TensorRT 加速 YOLOv8 模型的推理。
热门项目推荐
相关项目推荐
- CangjieCommunity为仓颉编程语言开发者打造活跃、开放、高质量的社区环境Markdown00
- redis-sdk仓颉语言实现的Redis客户端SDK。已适配仓颉0.53.4 Beta版本。接口设计兼容jedis接口语义,支持RESP2和RESP3协议,支持发布订阅模式,支持哨兵模式和集群模式。Cangjie044
- 每日精选项目🔥🔥 推荐每日行业内最新、增长最快的项目,快速了解行业最新热门项目动态~ 🔥🔥017
- advanced-javaAdvanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。JavaScript099
- qwerty-learner为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workersTSX025
- Yi-CoderYi Coder 编程模型,小而强大的编程助手HTML011
- taro开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/TypeScript010
- CommunityCangjie-TPC(Third Party Components)仓颉编程语言三方库社区资源汇总05
- Bbrew🍺 The missing package manager for macOS (or Linux)Ruby01
- byzer-langByzer(以前的 MLSQL):一种用于数据管道、分析和人工智能的低代码开源编程语言。Scala05
热门内容推荐
最新内容推荐
项目优选
收起
CangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
888
0
openHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
40
32
RuoYi-Vue
🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本
Java
157
31
RuoYi-Cloud
🎉 基于Spring Boot、Spring Cloud & Alibaba的分布式微服务架构权限管理系统,同时提供了 Vue3 的版本
Java
23
8
redis-sdk
仓颉语言实现的Redis客户端SDK。已适配仓颉0.53.4 Beta版本。接口设计兼容jedis接口语义,支持RESP2和RESP3协议,支持发布订阅模式,支持哨兵模式和集群模式。
Cangjie
398
44
GitCode光引计划有奖征文大赛
GitCode光引计划有奖征文大赛
15
1
advanced-java
Advanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。
JavaScript
371
99
RuoYi
🎉 基于SpringBoot的权限管理系统 易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖。直接运行即可用
HTML
80
11
RuoYi-Cloud-Vue3
🎉 基于Spring Boot、Spring Cloud & Alibaba、Vue3 & Vite、Element Plus的分布式前后端分离微服务架构权限管理系统
Vue
20
15
easy-es
Elasticsearch
国内Top1 elasticsearch搜索引擎框架es ORM框架,索引全自动智能托管,如丝般顺滑,与Mybatis-plus一致的API,屏蔽语言差异,开发者只需要会MySQL语法即可完成对Es的相关操作,零额外学习成本.底层采用RestHighLevelClient,兼具低码,易用,易拓展等特性,支持es独有的高亮,权重,分词,Geo,嵌套,父子类型等功能...
Java
20
4