Tensorrt YOLOv5 C++部署

Github仓库地址

https://github.com/Monday-Leo/Yolov5_Tensorrt_Win10

项目简介

  • 基于Tensorrt加速Yolov5 7.0
  • 支持Windows10,Windows11
  • 支持C++/Python

  电脑环境

  • Tensorrt 8.5.2.2
  • Cuda 11.6 Cudnn 8.9.2
  • Opencv 3.4.6
  • Cmake 3.17.1
  • VS 2019
  • GTX1660Ti
  • yolov5-7.0(coco128数据集)
  • 生成WTS模型

  • 将仓库中的gen_wts.py拷贝至yolov5 7.0的目录下

 打开gen_wts.py项目,在项目中修改第11,12行,添加yolov5s.

### Ubuntu系统中部署TensorRT 7.0和YOLOv5 #### 安装依赖库 为了成功部署TensorRT 7.0,在Ubuntu环境中需先安装必要的依赖项。这通常涉及更新包列表并安装CUDA、cuDNN以及其他支持工具[^1]。 ```bash sudo apt-get update && sudo apt-get upgrade -y ``` 对于特定版本的TensorRT,确保所使用的CUDA和cuDNN版本兼容是非常重要的。例如,TensorRT 7.0可能要求特定范围内的CUDA版本以及相应的cuDNN版本。 #### 下载与安装TensorRT 获取官方提供的TensorRT安装文件,并按照说明完成安装过程。可以通过NVIDIA官方网站下载适合的操作系统版本的TensorRT安装包。一旦下载完毕,则可以执行如下命令来解压并安装: ```bash tar zxvf TensorRT-7.0.x.x.linux.x86_64-gnu.cuda-xx.xx.cudnnX.X.tar.gz cd TensorRT-7.0.x.x.linux.x86_64-gnu.cuda-xx.xx.cudnnX.X sudo ./install.sh ``` 这里`xx.xx`代表具体的CUDA版本号而`X.X`表示cudnn版本号,请替换为实际数值[^3]。 #### 准备YOLOv5模型及相关资源 从指定仓库克隆YOLOv5项目到本地机器上以便后续操作。此步骤允许访问源码及其配套脚本用于转换和其他用途。 ```bash git clone https://github.com/ultralytics/yolov5.git cd yolov5 pip install -r requirements.txt ``` 上述指令会拉取最新的YOLOv5代码库至当前工作目录下,并安装所需的Python库以保障程序正常运行[^2]。 #### 转换ONNX格式模型 为了让YOLOv5能够在TensorRT环境下高效运作,需要将其原始PyTorch模型导出成ONNX格式。之后再利用TensorRT SDK中的工具进一步优化该模型供生产环境使用。 ```python import torch from models.experimental import attempt_load device = 'cuda' if torch.cuda.is_available() else 'cpu' model = attempt_load('path/to/best.pt', map_location=device) # 加载.pth或.torch格式的最佳权重路径 dummy_input = torch.randn(1, 3, 640, 640).to(device) torch.onnx.export( model, dummy_input, "best.onnx", opset_version=11, do_constant_folding=True, input_names=['input'], output_names=['output'] ) ``` 这段Python脚本展示了如何将保存好的`.pt`格式的YOLOv5模型转储为`.onnx`文件形式,从而便于后续通过TensorRT加载和加速推理性能。 #### 使用TensorRT进行推理 最后一步就是编写简单的C++或者Python应用程序调用TensorRT API来进行图像识别任务。具体实现细节取决于个人需求和技术栈偏好;然而,大多数情况下只需要修改少量参数即可适配不同的应用场景。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值