Windows编译运行TensorRT-YOLOv9 (C++)

1 基础环境

TensorRT 8.6
CUDA 11.8
Eigen 3.3
OpenCV 4.8(CUDA 11.8编译)
Visual Studio 2017 C++17编译器
CMake 3.21.4
Windows 10

2 编译yolov9-bytetrack-tensorrt

(1)下载yolov9-bytetrack-tensorrt源码

项目地址spacewalk01/TensorRT-YOLOv9

(2)修改CMakeLists.txt

设置opencv和tensorrt路径。

# Find and include OpenCV
set(OpenCV_DIR "D:/Program Files/opencv/opencv-4.8.0/install")
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})

# Set TensorRT path if not set in environment variables
set(TENSORRT_DIR "D:/Librarys/TensorRT-8.6.1.6")

(3)CMake编译

使用VS2017编译器C++17,CUDA用v11.8。
在这里插入图片描述

注意:cuda默认会找环境变量中CUDA_PATH对应的版本,如果opencv是cuda编译的,该cuda版本要一致,避免出错。在这里插入图片描述

3 yolov9模型转换成TensorRT模型

(1)下载yolov9

创建conda环境,下载yolov9代码,并执行以下命令,详细参考前文yolov9训练自己的数据

$ git clone https://github.com/WongKinYiu/yolov9.git
$ cd yolov9
$ conda create --name yolov9 python=3.8
$ pip install -r requirement.txt

(2)下载预训练模型

yolov9-c.pt

(3)将模型转换成onnx格式

a. 将TensorRT-YOLOv9目录下的 reparameterize.py放到yolov9目录下,在yolov9目录下执行以下命令,也可以直接官网下载转换好的模型yolov9-c-converted.pt

python reparameterize.py yolov9-c.pt yolov9-c-converted.pt

b. 导出onnx模型,在yolov9目录下执行以下命令,生成yolov9-c-converted.onnx

python export.py --weights yolov9-c-converted.pt --include onnx

(4)将onnx模型转换成tensorrt格式

D:\Librarys\TensorRT-8.6.1.6\bin目录下执行以下命令:

trtexec.exe --onnx=yolov9-c-converted.onnx --explicitBatch --saveEngine=yolov9-c.engine --fp16

4 执行程序

显卡GTX1080,推理时间约40ms。

在这里插入图片描述
显卡GTX3090,推理时间约14ms。
在这里插入图片描述

参考文章

spacewalk01/TensorRT-YOLOv9

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-08 18:04:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-08 18:04:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-08 18:04:05       82 阅读
  4. Python语言-面向对象

    2024-04-08 18:04:05       91 阅读

热门阅读

  1. QString()和QString(““)的区别

    2024-04-08 18:04:05       31 阅读
  2. 移动应用开发实验室三面题分析

    2024-04-08 18:04:05       20 阅读
  3. Qt 容器类整理与使用

    2024-04-08 18:04:05       26 阅读
  4. 03独立按键左移、右移、加一、清零

    2024-04-08 18:04:05       31 阅读
  5. linux中常用的查看日志命令

    2024-04-08 18:04:05       32 阅读