TensorRT 环境搭建记录

TensorRT 环境搭建记录

文章目录

  • TensorRT 环境搭建记录
    • 1.TensorRT介绍
    • 2.使用TensorRT总目标
    • 3.Centos下TensorRT环境搭建(Ubuntu一样)
    • 4.TX2安装TensorRT
    • 5.TensorRT安装问题
    • 参考

1.TensorRT介绍

  NVIDIA-TensorRT的核心是一个利用NVIDIA的GPU来促进高效推理的C++库。TensorRT从一个包含网络定义和一系列网络参数的已经训练好的网络中产生一个高度优化的运行引擎,来执行网络的推理,更加高效的使用GPU,主要提供边缘设备的加速计算。

  TensorRT提供了C++和python的接口来通过网络定义接口的方式使用深度学习模型,或者通过解析器来加载一个预训练的模型,能够让TensorRT在NVIDIA GPU上来优化和运行。TensorRT在其他各种优化中选择了图优化,层融合,也利用多种高度优化的内核的结合发现了最快的执行模型的方式。TensorRT也提供了运行环境,你可以使用TensorRT在Kepler一代开始所有的NVIDIA的GPU上执行网络。

2.使用TensorRT总目标

  • 使用pytorch训练好的模型转成onnx模型,然后保证onnx模型和pytorch模型的结果一致然后在把onnx模型转成TensorRT支持的模型,或者直接使用TensorRT的parser对onnx模型进行推理运算
  • 使用TensorRT的C++ API在TX2上跑分类模型、检测模型以及分割模型
  1. 实验环境:Centos-7.4 CUDA-10.1 cudnn-7.6.4 TensorRT-5.1.5.0
  2. 移动设备:jetson-tx2 JETPACK-4.2.2 TensorRT-5.1.6.0
  3. 模型选择:resnet-18 UltraFace ENet

3.Centos下TensorRT环境搭建(Ubuntu一样)

  1. 下载TensorRT地址: https://developer.nvidia.com/tensorrt
  2. 下载对应你版本的TensorRT的tar包
    • 查看cuda版本:nvcc -V
    • 查看系统版本:uname -a; lsb_release -a; cat /etc/redhat-release(centos)
  3. 安装TensorRT
    • tar -xvf TensorRT-5.1.5.0.CentOS-7.6.x86_64-gnu.cuda-10.1.cudnn7.6.tar
    • 修改bashrc,改完别忘了source
      • export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:TensorRT-5.1.5.0/lib
      • export CUDA_INSTALL_DIR=/usr/local/cuda-10.1
      • export CUDNN_INSTALL_DIR=/usr/local/cudnn/lib
    • cd samples; make [编译]
    • cd …/bin; ./sample_int8 mnist [测试]
TensorRT 环境搭建记录_第1张图片
上图可以发现int8之后模型推理时间快了40~50ms,如果是大模型效果会更明显
  1. python安装TensorRT
    • pip install TensorRT-6.0.1.5/python/tensorrt-6.0.1.5-cp37-none-linux_x86_64.whl
    • 对应你的python版本来安装
    • 验证安装成功 python -c “import tensorrt;print(tensorrt.version)”

4.TX2安装TensorRT

  TX2直接安装JETPACK就可以,这里面自带的TensorRT,我的安装截图如下:

TensorRT 环境搭建记录_第2张图片

5.TensorRT安装问题

  1. 如果没有指定CUDA_INSTALL_DIR和CUDNN_INSTALL_DIR则编译之后又warning,且运行不了samples下的例程。
  2. 下在的TensorRT的版本需要和cuda版本号和cudnn版本号一直,否则重新安装即可。

参考

  1. https://docs.nvidia.com/deeplearning/sdk/tensorrt-developer-guide
  2. https://github.com/NVIDIA/TensorRT

你可能感兴趣的:(TensorRT)