您现在的位置是:首页 >技术杂谈 >Windows 10 YOLOV8 TensorRT C++如何部署?网站首页技术杂谈

Windows 10 YOLOV8 TensorRT C++如何部署?

菩提树下的凡夫 2025-03-31 12:01:03
简介Windows 10 YOLOV8 TensorRT C++如何部署?

一、模型转换准备

1.将pt模型转换为wts

在YoloV8的训练环境下,将pt模型转换为wts模型:运行gen_wts.py可生成yolov8s.wts.

2.tensorrt工程下载

可从csdn上免费下载,网址为:

二、环境配置

1、VS配置

注意:首先先安装VS2019后再安装CUDA,可有效避免在VS2019环境中看不到CUDA Runtime模板。

2、CMake配置

安装CMake并在安装时选中“Add CMake to the system PATH ”保证添加环境变量。

注意:验证CMake安装是否成功CMD指令:cmake -version

3、配置opencv、tensorrt、cudnn环境变量

如:d:Opencv4.8uildx64vc16in

       d:TensorRT-8.6.1.6lib

       d:cudnnin

注意:cuda环境变量不需要专门配置是因为安装时会自动创建。

三、编译

在yolov8_tensorrt_main项目中创建文件夹build,然后用CMake进行编译。

注意:TensorRT项目中的CMakelist.txt分别配置自己的OpenCV结合tensorRT的地址。

配置内容如下所示,注意cmake的最低版本要满足要求。

cmake_minimum_required(VERSION 3.10)
 
project(yolov8)
 
# Modify to your path
set(OpenCV_DIR "E:/opencv/opencv/build")  
set(TRT_DIR "E:/TensorRT-8.6.1.6")  
 
add_definitions(-std=c++11)
add_definitions(-DAPI_EXPORTS)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_BUILD_TYPE Debug)
 
# setup CUDA
find_package(CUDA REQUIRED)
message(STATUS "libraries: ${CUDA_LIBRARIES}")
message(STATUS "include path: ${CUDA_INCLUDE_DIRS}")
include_directories(${CUDA_INCLUDE_DIRS})
 
enable_language(CUDA)
 
include_directories(${PROJECT_SOURCE_DIR}/include)
include_directories(${PROJECT_SOURCE_DIR}/plugin)
 
# TensorRT
set(TENSORRT_ROOT "E:/TensorRT-8.6.1.6")
include_directories("${TENSORRT_ROOT}/include")
link_directories("${TENSORRT_ROOT}/lib")
 
 
# OpenCV
find_package(OpenCV)
include_directories(${OpenCV_INCLUDE_DIRS})
 
add_library(myplugins SHARED ${PROJECT_SOURCE_DIR}/plugin/yololayer.cu)
target_link_libraries(myplugins nvinfer cudart)
 
file(GLOB_RECURSE SRCS ${PROJECT_SOURCE_DIR}/src/*.cpp ${PROJECT_SOURCE_DIR}/src/*.cu)
add_executable(yolov8 ${PROJECT_SOURCE_DIR}/src/main.cpp ${SRCS})
 
target_link_libraries(yolov8 nvinfer)
target_link_libraries(yolov8 cudart)
target_link_libraries(yolov8 myplugins)
target_link_libraries(yolov8 ${OpenCV_LIBS})
 

打开CMake软件,完成TensorRT项目的源码位置及生成VS2019项目的位置,如下图所示。

点击配置,根据提示消除配置项目的问题,如常见问题为:

找不到CUDA、CUDNN,出现警告可以不用管它。

生成VS2019后可以关闭Cmake,手动在build文件夹下打开yolov8.sln项目文件。可选择编译Yolov8项目,可以生成tensorRT的文件.engine,并可进行推流。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。