博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TensorRT7笔记(二)
阅读量:539 次
发布时间:2019-03-09

本文共 2325 字,大约阅读时间需要 7 分钟。

看到github上的一个开源项目:

就用来练手TensorRT。

首先下载tensorRT7库,这个在前面的笔记(一)中已经有过说明,此处说明我下载的是:

TensorRT-7.0.0.11.Windows10.x86_64.cuda-10.0.cudnn7.6

相应的,我本地也安装了cuda10.0和cudnn7.6.5。

将上面Github上项目下载到本地。

git clone https://github.com/BaofengZan/DBNet-TensorRT.git

然后在DBNet-TensorRT文件夹下新建build文件夹,在build文件夹下启动powershell,执行:

cmake-gui ..

通过CMAKE-GUI配置项目。

原项目CmakeLists.txt内容如下(自己使用时需要根据本地的安装路径设置 opencv路径和tensorrt路径):

cmake_minimum_required(VERSION 2.6)project(dbnet)add_definitions(-std=c++11)option(CUDA_USE_STATIC_CUDA_RUNTIME OFF)set(CMAKE_CXX_STANDARD 11)set(CMAKE_BUILD_TYPE Debug)#设置cuda信息find_package(CUDA REQUIRED)message(STATUS "    libraries: ${CUDA_LIBRARIES}")message(STATUS "    include path: ${CUDA_INCLUDE_DIRS}")include_directories(${CUDA_INCLUDE_DIRS})set(CUDA_NVCC_PLAGS ${CUDA_NVCC_PLAGS};-std=c++11; -g; -G;-gencode; arch=compute_75;code=sm_75)enable_language(CUDA)  # 这一句添加后 ,就会在vs中不需要再手动设置cuda include_directories(${PROJECT_SOURCE_DIR}/include)include_directories(D:\\TensorRT-7.0.0.11.Windows10.x86_64.cuda-10.2.cudnn7.6\\TensorRT-7.0.0.11\\include)#-D_MWAITXINTRIN_H_INCLUDED  解决error: identifier "__builtin_ia32_mwaitx" is undefinedset(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Ofast -D_MWAITXINTRIN_H_INCLUDED")# 设置opencv的信息set(OpenCV_DIR "D:\\opencv\\opencv346\\build")find_package(OpenCV QUIET    NO_MODULE    NO_DEFAULT_PATH    NO_CMAKE_PATH    NO_CMAKE_ENVIRONMENT_PATH    NO_SYSTEM_ENVIRONMENT_PATH    NO_CMAKE_PACKAGE_REGISTRY    NO_CMAKE_BUILDS_PATH    NO_CMAKE_SYSTEM_PATH    NO_CMAKE_SYSTEM_PACKAGE_REGISTRY)message(STATUS "OpenCV library status:")message(STATUS "    version: ${OpenCV_VERSION}")message(STATUS "    libraries: ${OpenCV_LIBS}")message(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")include_directories(${OpenCV_INCLUDE_DIRS})link_directories(D:\\TensorRT-7.0.0.11.Windows10.x86_64.cuda-10.2.cudnn7.6\\TensorRT-7.0.0.11\\lib)add_executable(dbnet ${PROJECT_SOURCE_DIR}/dbnet.cpp)target_link_libraries(dbnet "nvinfer" "nvinfer_plugin" "nvparsers" "nvonnxparser")#target_link_libraries(dbnet "cudart")target_link_libraries(dbnet ${OpenCV_LIBS})target_link_libraries(dbnet ${CUDA_LIBRARIES})add_definitions(-pthread)

注意需要将tensorrt的库文件拷贝到生成的可执行程序目录,这些文件包括(此外还包括自己相应的opencv动态库):

将下面路径改成自己的路径

编译完成后先执行:

dbnet.exe -s

会在当前目录下生成DBNet.engine文件。

然后再执行:

dbnet.exe -d ./test

执行效果如下:

更多细节后续文章会加以说明。

 

转载地址:http://boqiz.baihongyu.com/

你可能感兴趣的文章