赞
踩
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
项目地址spacewalk01/yolov9-bytetrack-tensorrt
设置opencv、Eigen和tensorrt路径。
# Find Eigen library
#find_package(Eigen3 3.3 REQUIRED)
include_directories(D:/Librarys/eigen-3.3.3)
# 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")
使用VS2017编译器C++17,CUDA用v11.8。
注意:cuda默认会找环境变量中CUDA_PATH对应的版本,如果opencv是cuda编译的,该cuda版本要一致,避免出错。
创建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
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
在D:\Librarys\TensorRT-8.6.1.6\bin
目录下执行以下命令:
trtexec.exe --onnx=yolov9-c-converted.onnx --explicitBatch --saveEngine=yolov9-c.engine --fp16
显卡GTX1080,推理时间约50ms。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。