博客
关于我
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 selenium爬取影评生成词云图
查看>>
python selenium自动化测试报告
查看>>
Python selenium自动化测试框架实战 —— 登录测试案例
查看>>
Python Selenium设计模式 —— POM
查看>>
Python Serial:如何使用 read 或 readline 函数一次读取多个字符
查看>>
Python set([]) 如何检查两个对象是否相等?一个对象需要定义哪些方法来自定义它?
查看>>
Python setup.py:数据文件无法复制目录:不存在或不是常规文件
查看>>
Python setuptools sdist:仅安装版本化文件
查看>>
Python Shell下使用matplotlib
查看>>
Python Slice How-to,我知道Python Slice,但我怎么才能使用内置的Slice对象呢?
查看>>
python socket分包发送数据
查看>>
python socket模块_Python socket模块实现TCP服务端客户端
查看>>
Python SOCKS5代理客户端HTTPS
查看>>
Python Soc网络分析:通过使用函数迭代列表来计算机会网络
查看>>
python转换已转义的字符串
查看>>
Python Sphinx自动摘要:成员函数的自动列表
查看>>
Python SQL和NoSQL数据库操作实战
查看>>
python stdout flush_sys.stdout.flush()方法的用法
查看>>
python string 运算
查看>>
Python str与bytes之间的转换
查看>>