配置TensorRT 7.0
最重要的一点,要严格遵守官方文档来,Nvidia已经写的非常详尽了。
- 系统版本最好是18.04的,因为20.04默认python版本为3.7,而ubuntu18.04是3.6,
python3-libnvinfer-dev
这个组件要求python<=3.6 - CUDA必须使用
.deb
方式安装而不是.run
形式,因为.deb
会注册安装包,而这些安装包会在安装TensorRT 7.0
构成依赖链,这些安装包大部分是在apt
上无法获取的。 - CUDNN并不是必须的
- 安装结束后查看
/usr/src/tensorrt/
最好编译一下sample
以确保安装成功:
配置tkDNN
工业界使用YOLO系列比较多,YOLO一般用tkDNN做TensorRT上的加速;
注意几个点
- OpenCV与CUDNN版本要匹配
- 需要预览的话OpenCV要求编译图形界面,推荐使用Qt5-dev库
速度:103FPS @ 1080ti , Float32
参考:https://github.com/ceccocats/tkDNN/
使用
最近在做一些部署工作,简单记录一下
标准流程:
- pytorch -> ONNX -> TensorRT
- Yolov4(2,3) -> tkDNN -> TensorRT
TensorRT使用C++来调用,涉及编译和OpenCV,有些繁琐:
-
学习使用Makefile,而不是CMake。Makefile更方便手动操作;
-
用最新的TensorRT 7.0安装包,一般不需要从github上面clone源码下来编译,那样会相当的繁琐。
-
不同opencv子库需要的连接库是不一样的,比如Kalman Filter就需要
-lopencv_video
,基本的cv::imshow
则需要-lopencv_highgui
,否则发生诸如undefined reference to
cv::KalmanFilter::predict(cv::Mat const&)'的
collect2: error`错误。
留言