博客
关于我
TensorRT7笔记(二)
阅读量:541 次
发布时间:2019-03-09

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

TensorRT DBNet项目搭建指南

TensorRT是NVIDIA提供的一个高效的机器学习优化库,能够显著加速深度学习模型的推理速度。要在TensorRT中开发DBNet项目,可以按照以下步骤进行操作:

一、准备TensorRT开发环境

确保你的计算环境已经配置好了TensorRT和相关依赖:

1. 安装必要软件

  • CUDA 10.0 或更高版本(确保兼容性)
  • CUDNN 7.6 或更高版本
  • TensorRT 7.0.0 或更高版本
  • OpenCV 4.6 或更高版本(建议使用预编译版本)

2. 下载并配置TensorRT

下载最新版本的TensorRT,解压后放在合适的路径上,例如:

D:\TensorRT-7.0.0.11.Windows10.x86_64.cuda-10.2.cudnn7.6

二、获取DBNet项目源码

从GitHub下载DBNet项目源码:

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

进入项目目录,新建build文件夹并打开PowerShell终端:

mkdir buildcd buildcmake-gui ..

三、配置项目

打开提供的CMakeLists.txt文件,根据你的计算环境节点路径来调整OpenCV和TensorRT的位置。常见的调整项包括:

set(OpenCV_DIR "D:/opencv/opencv346/build")find_package(OpenCV REQUIRED)include_directories(${OpenCV_INCLUDE_DIRS})link_directories(${OpenCV_LIBS})include_directories(${TensorRT_INSTALL_PATH}/include)link_directories(${TensorRT_INSTALL_PATH}/lib)

四、编译项目

在PowerShell中输入以下命令进行编译:

cmake --build .

生成完成后,编译出的可执行文件会在项目根目录下出现。例如:

./dbnet.exe

五、处理依赖库

确保生成的可执行文件能够访问TensorRT和OpenCV的动态链接库(DLL),常见的做法是将它们拷贝到生成的可执行文件所在目录:

# 例如,将所有相关DLL拷贝过来copy D:\TensorRT-7.0.0.11.Windows10.x86_64.cuda-10.2.cudnn7.6\TensorRT-7.0.0.11\lib\* ./

六、运行程序

1. 只需单次推理

./dbnet.exe -s

生成DBNet.engine文件后,文件会被保存在当前目录下。

2. 多次推理或部署

./dbnet.exe -d ./test/

项目实例效果

通过上述操作,你应该可以看到类似以下效果:

  • 蓝色框架表示输入形态
  • 绿色框框表示输出结果
  • 灰色区域为需要改进的区域

总结

TensorRT为DBNet项目提供了强大的性能加速能力,适合需要部署高效推理的场景。通过以上步骤,你可以轻松将OpenCV模型优化为TensorRT格式,充分发挥计算资源的性能潜力。更多深入内容和应用案例,欢迎关注后续更新!

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

你可能感兴趣的文章
Python:deepcopy(list) vs new_list = old_list[:]
查看>>
Python:Google API - 从消息中获取 mimeTypes
查看>>
Python:Google API - 从消息中获取 mimeTypes
查看>>
Python:subprocess.call,stdout to file,stderr to file,在屏幕上实时显示stderr
查看>>
Python:TypeError:无法连接“str“和“int“对象
查看>>
Python:XPath 在 ElementTree 中不可用
查看>>
Python:从 FTP 服务器下载文件
查看>>
python:从列表中创建元组列表
查看>>
Python:从嵌套列表中删除重复项
查看>>
Python:从间隔映射到值
查看>>
Python:使用 shell=False 的子进程调用不起作用
查看>>
Python:修改 PATH 环境变量的平台无关方式
查看>>
Python:假与 0
查看>>
Python:函数使用
查看>>
Python:函数进阶
查看>>
Python:在整数的二进制表示中查找最长的二进制间隙
查看>>
Python:如何从二进制转换为 base 64 并返回?
查看>>
Python:如何以非阻塞方式读取子进程的标准输出
查看>>
Python:如何使用 plotly 制作阴影区域或交替背景颜色?
查看>>
Python:如何根据日期时间获取值的计数
查看>>