零、TensorRT简介
1、TensorRT的基本功能
TensorRT是NVIDIA开发的一个可以在NVIDIA旗下的GPU上进行高性能推理的C++库,是一个高性能推理优化引擎。
其核心库是使用c++去加速NVIDIA生产的GPU,具有python API。它可以加速的框架模型有:tensorflow、Caffe、Pytorch、MXNet等。
它可以吸收在这些流行框架上受过训练的神经网络,优化神经网络计算,生成一个轻量级的运行时引擎,然后它将在这些GPU平台上最大限度地提高吞吐量、延迟和性能。
2、工作原理
主要的优化模型工作集中在:
1)分析图结构中没有用到的输出layer,对网络层进行合并。
2)融合卷积操作、bias和ReLU操作。
3)把有相似参数的操作和有相同输入源的tensor聚合。
4)通过直接将layer的输出对应到最终的destination,这样融合了级联层。
3、官方指导
https://docs.nvidia.com/deeplearning/sdk/tensorrt-developer-guide/。
一、环境安装
如果有环境问题,直接跳到第三节 Q & A,看看能否给你一点帮助。
1、本机环境
- ubuntu 16.04
- cuda 9
2、安装cuDNN
下载的是cudnn-9.0-linux-x64-v7.6.0.64.tgz 的压缩包时,按下方指令进行安装:
(1) 首先解压缩下的cudnn压缩包文件
tar -xzvf cudnn-9.0-linux-x64-v7.tgz
# 执行安装,其实就是拷贝头文件和库文件并给予权限
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
(2)验证安装是否成功
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
如果显