配置TensorRT 7.0

最重要的一点,要严格遵守官方文档来,Nvidia已经写的非常详尽了。

  1. 系统版本最好是18.04的,因为20.04默认python版本为3.7,而ubuntu18.04是3.6, python3-libnvinfer-dev这个组件要求python<=3.6
  2. CUDA必须使用.deb方式安装而不是.run形式,因为.deb会注册安装包,而这些安装包会在安装TensorRT 7.0构成依赖链,这些安装包大部分是在apt上无法获取的。
  3. CUDNN并不是必须的
  4. 安装结束后查看/usr/src/tensorrt/最好编译一下sample以确保安装成功:
    file

推荐唯一参考:https://docs.nvidia.com/deeplearning/tensorrt/archives/tensorrt-700/tensorrt-install-guide/index.html

配置tkDNN

工业界使用YOLO系列比较多,YOLO一般用tkDNN做TensorRT上的加速;
注意几个点

  1. OpenCV与CUDNN版本要匹配
  2. 需要预览的话OpenCV要求编译图形界面,推荐使用Qt5-dev库

速度:103FPS @ 1080ti , Float32
file

参考:https://github.com/ceccocats/tkDNN/

使用

最近在做一些部署工作,简单记录一下
标准流程:

  1. pytorch -> ONNX -> TensorRT
  2. Yolov4(2,3) -> tkDNN -> TensorRT

TensorRT使用C++来调用,涉及编译和OpenCV,有些繁琐:

  1. 学习使用Makefile,而不是CMake。Makefile更方便手动操作;

  2. 用最新的TensorRT 7.0安装包,一般不需要从github上面clone源码下来编译,那样会相当的繁琐。

  3. 不同opencv子库需要的连接库是不一样的,比如Kalman Filter就需要-lopencv_video,基本的cv::imshow则需要-lopencv_highgui,否则发生诸如undefined reference to cv::KalmanFilter::predict(cv::Mat const&)'collect2: error`错误。

最后修改日期:2020年7月12日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。